tgids table
tgids table

file:a/.gitignore -> file:b/.gitignore
*.wav *.wav
*.pyc *.pyc
/nbproject/private/ /nbproject/private/
  /output.txt
   
  bin
  gen
  target
  .settings
  .classpath
  .project
  *.keystore
  *.swp
  *.orig
  *.log
  *.properties
  seed.txt
  map.txt
   
[submodule "pynma"] [submodule "pynma"]
path = pynma path = pynma
url = git://github.com/uskr/pynma.git url = git://github.com/uskr/pynma.git
[submodule "js/flotr2"] [submodule "js/flotr2"]
path = js/flotr2 path = js/flotr2
url = git://github.com/HumbleSoftware/Flotr2.git url = https://github.com/HumbleSoftware/Flotr2.git
   
  <?xml version="1.0" encoding="UTF-8"?>
  <project version="4">
  <component name="CompilerConfiguration">
  <option name="DEFAULT_COMPILER" value="Javac" />
  <resourceExtensions />
  <wildcardResourcePatterns>
  <entry name="!?*.java" />
  <entry name="!?*.form" />
  <entry name="!?*.class" />
  <entry name="!?*.groovy" />
  <entry name="!?*.scala" />
  <entry name="!?*.flex" />
  <entry name="!?*.kt" />
  <entry name="!?*.clj" />
  </wildcardResourcePatterns>
  <annotationProcessing>
  <profile default="true" name="Default" enabled="false">
  <processorPath useClasspath="true" />
  </profile>
  </annotationProcessing>
  </component>
  </project>
 
 
  <component name="CopyrightManager">
  <settings default="">
  <module2copyright />
  </settings>
  </component>
  <component name="ProjectDictionaryState">
  <dictionary name="Madoka">
  <words>
  <w>tgid</w>
  <w>timefrom</w>
  <w>timeto</w>
  <w>tzoffset</w>
  </words>
  </dictionary>
  </component>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectResources"> <component name="ProjectResources">
<default-html-doctype>jar:file:\C:\Program Files (x86)\JetBrains\PhpStorm 5.0.2\lib\webide.jar!\resources\html5-schema\html5.rnc</default-html-doctype> <default-html-doctype>jar:file:\C:\Program Files (x86)\JetBrains\PhpStorm 5.0.2\lib\webide.jar!\resources\html5-schema\html5.rnc</default-html-doctype>
</component> </component>
<component name="ProjectRootManager" version="2" /> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_3" assert-keyword="false" jdk-15="false" />
</project> </project>
   
   
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4"> <module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager"> <component name="FacetManager">
  <facet type="Python" name="Python">
  <configuration sdkName="" />
  </facet>
  </component>
  <component name="NewModuleRootManager" inherit-compiler-output="false">
<content url="file://$MODULE_DIR$" /> <content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
</module> </module>
   
   
  <?xml version="1.0" encoding="UTF-8"?>
  <project version="4">
  <component name="Palette2">
  <group name="Swing">
  <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
  </item>
  <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
  </item>
  <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
  </item>
  <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
  <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
  </item>
  <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
  <initial-values>
  <property name="text" value="Button" />
  </initial-values>
  </item>
  <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
  <initial-values>
  <property name="text" value="RadioButton" />
  </initial-values>
  </item>
  <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
  <initial-values>
  <property name="text" value="CheckBox" />
  </initial-values>
  </item>
  <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
  <initial-values>
  <property name="text" value="Label" />
  </initial-values>
  </item>
  <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
  <preferred-size width="150" height="-1" />
  </default-constraints>
  </item>
  <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
  <preferred-size width="150" height="-1" />
  </default-constraints>
  </item>
  <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
  <preferred-size width="150" height="-1" />
  </default-constraints>
  </item>
  <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
  <preferred-size width="150" height="50" />
  </default-constraints>
  </item>
  <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
  <preferred-size width="150" height="50" />
  </default-constraints>
  </item>
  <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
  <preferred-size width="150" height="50" />
  </default-constraints>
  </item>
  <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
  </item>
  <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
  <preferred-size width="150" height="50" />
  </default-constraints>
  </item>
  <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
  <preferred-size width="150" height="50" />
  </default-constraints>
  </item>
  <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
  <preferred-size width="150" height="50" />
  </default-constraints>
  </item>
  <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
  <preferred-size width="200" height="200" />
  </default-constraints>
  </item>
  <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
  <preferred-size width="200" height="200" />
  </default-constraints>
  </item>
  <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
  </item>
  <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
  </item>
  <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
  </item>
  <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
  </item>
  <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
  <preferred-size width="-1" height="20" />
  </default-constraints>
  </item>
  <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
  </item>
  <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
  </item>
  </group>
  </component>
  </project>
 
 
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="f90ee5b5-97e4-47ec-9b14-d4f4e896f100" name="Default" comment=""> <list default="true" id="f90ee5b5-97e4-47ec-9b14-d4f4e896f100" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/encodings.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/spec/Chart.js" afterPath="$PROJECT_DIR$/js/flotr2/spec/Chart.js" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/misc.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/spec/Color.js" afterPath="$PROJECT_DIR$/js/flotr2/spec/Color.js" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/modules.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/spec/Flotr.js" afterPath="$PROJECT_DIR$/js/flotr2/spec/Flotr.js" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/scannr.iml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/spec/Graph.js" afterPath="$PROJECT_DIR$/js/flotr2/spec/Graph.js" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/scopes/scope_settings.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/lib/base64.js" afterPath="$PROJECT_DIR$/js/flotr2/lib/base64.js" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/vcs.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/make/basic.json" afterPath="$PROJECT_DIR$/js/flotr2/make/basic.json" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/calls.json.php" afterPath="$PROJECT_DIR$/calls.json.php" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/make/build.json" afterPath="$PROJECT_DIR$/js/flotr2/make/build.json" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/common.inc.php" afterPath="$PROJECT_DIR$/common.inc.php" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/examples/old_examples/examples.js" afterPath="$PROJECT_DIR$/js/flotr2/examples/old_examples/examples.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/scannr.py" afterPath="$PROJECT_DIR$/scannr.py" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/make/examples.json" afterPath="$PROJECT_DIR$/js/flotr2/make/examples.json" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/viewcalls.php" afterPath="$PROJECT_DIR$/viewcalls.php" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/examples/old_examples/extending-flotr.html" afterPath="$PROJECT_DIR$/js/flotr2/examples/old_examples/extending-flotr.html" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/make/flotr2.json" afterPath="$PROJECT_DIR$/js/flotr2/make/flotr2.json" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/spec/js/flotr2.stable.js" afterPath="$PROJECT_DIR$/js/flotr2/spec/js/flotr2.stable.js" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/examples/lib/codemirror/lib/util/formatting.js" afterPath="$PROJECT_DIR$/js/flotr2/examples/lib/codemirror/lib/util/formatting.js" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/generateHourlys.php" afterPath="$PROJECT_DIR$/generateHourlys.php" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/make/ie.json" afterPath="$PROJECT_DIR$/js/flotr2/make/ie.json" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/examples/old_examples/index.html" afterPath="$PROJECT_DIR$/js/flotr2/examples/old_examples/index.html" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/spec/index.html" afterPath="$PROJECT_DIR$/js/flotr2/spec/index.html" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/lib/jasmine/jasmine-html.js" afterPath="$PROJECT_DIR$/js/flotr2/lib/jasmine/jasmine-html.js" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/lib/jasmine/jasmine.css" afterPath="$PROJECT_DIR$/js/flotr2/lib/jasmine/jasmine.css" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/lib/jasmine/jasmine.js" afterPath="$PROJECT_DIR$/js/flotr2/lib/jasmine/jasmine.js" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/examples/old_examples/json-data.html" afterPath="$PROJECT_DIR$/js/flotr2/examples/old_examples/json-data.html" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/examples/old_examples/json-real-data.html" afterPath="$PROJECT_DIR$/js/flotr2/examples/old_examples/json-real-data.html" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/examples/old_examples/json.txt" afterPath="$PROJECT_DIR$/js/flotr2/examples/old_examples/json.txt" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/make/lib.json" afterPath="$PROJECT_DIR$/js/flotr2/make/lib.json" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/examples/old_examples/logarithmic-scale.html" afterPath="$PROJECT_DIR$/js/flotr2/examples/old_examples/logarithmic-scale.html" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/examples/old_examples/mouse-zoom-preview.html" afterPath="$PROJECT_DIR$/js/flotr2/examples/old_examples/mouse-zoom-preview.html" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/lib/prototype.js" afterPath="$PROJECT_DIR$/js/flotr2/lib/prototype.js" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/examples/old_examples/style.css" afterPath="$PROJECT_DIR$/js/flotr2/examples/old_examples/style.css" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/spec/js/test-background.js" afterPath="$PROJECT_DIR$/js/flotr2/spec/js/test-background.js" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/spec/js/test-boundaries.js" afterPath="$PROJECT_DIR$/js/flotr2/spec/js/test-boundaries.js" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/flotr2/spec/js/test-mountain-nulls.js" afterPath="$PROJECT_DIR$/js/flotr2/spec/js/test-mountain-nulls.js" />
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
</list> </list>
<ignored path="scannr.iws" /> <ignored path="scannr.iws" />
<ignored path=".idea/workspace.xml" /> <ignored path=".idea/workspace.xml" />
  <file path="/Dummy.txt" changelist="f90ee5b5-97e4-47ec-9b14-d4f4e896f100" time="1356959804071" ignored="false" />
  <file path="/calllog.php" changelist="f90ee5b5-97e4-47ec-9b14-d4f4e896f100" time="1356153807482" ignored="false" />
  <file path="/scannr.py" changelist="f90ee5b5-97e4-47ec-9b14-d4f4e896f100" time="1356154551131" ignored="false" />
  <file path="/start_script.py" changelist="f90ee5b5-97e4-47ec-9b14-d4f4e896f100" time="1356155203132" ignored="false" />
  <file path="/a.java" changelist="f90ee5b5-97e4-47ec-9b14-d4f4e896f100" time="1356155211924" ignored="false" />
  <file path="/a.php" changelist="f90ee5b5-97e4-47ec-9b14-d4f4e896f100" time="1356155216083" ignored="false" />
  <file path="/calls.json.php" changelist="f90ee5b5-97e4-47ec-9b14-d4f4e896f100" time="1356155700744" ignored="false" />
  <file path="/generateHourlys.php" changelist="f90ee5b5-97e4-47ec-9b14-d4f4e896f100" time="1356960167594" ignored="false" />
<option name="TRACKING_ENABLED" value="true" /> <option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" /> <option name="LAST_RESOLUTION" value="IGNORE" />
</component> </component>
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" /> <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
<component name="CreatePatchCommitExecutor"> <component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" /> <option name="PATCH_PATH" value="" />
</component> </component>
<component name="DaemonCodeAnalyzer"> <component name="DaemonCodeAnalyzer">
<disable_hints /> <disable_hints />
</component> </component>
  <component name="DebuggerManager">
  <breakpoint_any default_suspend_policy="SuspendAll" default_condition_enabled="true">
  <breakpoint>
  <option name="NOTIFY_CAUGHT" value="true" />
  <option name="NOTIFY_UNCAUGHT" value="true" />
  <option name="ENABLED" value="false" />
  <option name="LOG_ENABLED" value="false" />
  <option name="LOG_EXPRESSION_ENABLED" value="false" />
  <option name="SUSPEND_POLICY" value="SuspendAll" />
  <option name="SUSPEND" value="true" />
  <option name="COUNT_FILTER_ENABLED" value="false" />
  <option name="COUNT_FILTER" value="0" />
  <option name="CONDITION_ENABLED" value="true" />
  <option name="CLASS_FILTERS_ENABLED" value="false" />
  <option name="INSTANCE_FILTERS_ENABLED" value="false" />
  <option name="CONDITION" value="" />
  <option name="LOG_MESSAGE" value="" />
  </breakpoint>
  <breakpoint>
  <option name="NOTIFY_CAUGHT" value="true" />
  <option name="NOTIFY_UNCAUGHT" value="true" />
  <option name="ENABLED" value="false" />
  <option name="LOG_ENABLED" value="false" />
  <option name="LOG_EXPRESSION_ENABLED" value="false" />
  <option name="SUSPEND_POLICY" value="SuspendAll" />
  <option name="SUSPEND" value="true" />
  <option name="COUNT_FILTER_ENABLED" value="false" />
  <option name="COUNT_FILTER" value="0" />
  <option name="CONDITION_ENABLED" value="true" />
  <option name="CLASS_FILTERS_ENABLED" value="false" />
  <option name="INSTANCE_FILTERS_ENABLED" value="false" />
  <option name="CONDITION" value="" />
  <option name="LOG_MESSAGE" value="" />
  </breakpoint>
  </breakpoint_any>
  <ui_properties default_suspend_policy="SuspendAll" default_condition_enabled="true" />
  <breakpoint_rules />
  <ui_properties />
  </component>
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" /> <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
  <component name="FavoritesManager">
  <favorites_list name="scannr" />
  </component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf> <leaf>
<file leaf-file-name="viewcalls.php" pinned="false" current="true" current-in-tab="true"> <file leaf-file-name="calllog.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/viewcalls.php"> <entry file="file://$PROJECT_DIR$/calllog.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="66" column="38" selection-start="2349" selection-end="2349" vertical-scroll-proportion="0.31213874"> <state line="2" column="0" selection-start="34" selection-end="226" vertical-scroll-proportion="0.0">
<folding>  
<element signature="n#style#0;n#span#0;n#td#0;n#tr#0;n#table#0;n#div#0;n#!!top" expanded="true" />  
<element signature="n#style#0;n#div#0;n#td#1;n#tr#0;n#table#0;n#div#0;n#!!top" expanded="true" />  
<element signature="n#style#0;n#span#0;n#td#2;n#tr#0;n#table#0;n#div#0;n#!!top" expanded="true" />  
</folding>  
</state>  
</provider>  
</entry>  
</file>  
<file leaf-file-name="common.inc.php" pinned="false" current="false" current-in-tab="false">  
<entry file="file://$PROJECT_DIR$/common.inc.php">  
<provider selected="true" editor-type-id="text-editor">  
<state line="3" column="21" selection-start="90" selection-end="90" vertical-scroll-proportion="-1.9615384">  
<folding />  
</state>  
</provider>  
</entry>  
</file>  
<file leaf-file-name="scannr.py" pinned="false" current="false" current-in-tab="false">  
<entry file="file://$PROJECT_DIR$/scannr.py">  
<provider selected="true" editor-type-id="text-editor">  
<state line="66" column="23" selection-start="2084" selection-end="2084" vertical-scroll-proportion="0.0">  
<folding />  
</state>  
</provider>  
</entry>  
</file>  
<file leaf-file-name="trunklog.php" pinned="false" current="false" current-in-tab="false">  
<entry file="file://$PROJECT_DIR$/trunklog.php">  
<provider selected="true" editor-type-id="text-editor">  
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.0">  
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="calls.json.php" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="calls.json.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/calls.json.php"> <entry file="file://$PROJECT_DIR$/calls.json.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.0"> <state line="13" column="53" selection-start="499" selection-end="499" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  </file>
  <file leaf-file-name="generateConvos.php" pinned="false" current="false" current-in-tab="false">
  <entry file="file://$PROJECT_DIR$/generateConvos.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  </file>
  <file leaf-file-name="generateHourlys.php" pinned="false" current="true" current-in-tab="true">
  <entry file="file://$PROJECT_DIR$/generateHourlys.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="23" column="6" selection-start="1012" selection-end="1012" vertical-scroll-proportion="0.68944097">
  <folding />
  </state>
  </provider>
  </entry>
  </file>
  <file leaf-file-name="getfile.php" pinned="false" current="false" current-in-tab="false">
  <entry file="file://$PROJECT_DIR$/getfile.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="11" column="13" selection-start="471" selection-end="539" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
</leaf> </leaf>
</component> </component>
<component name="FindManager"> <component name="FindManager">
<FindUsagesManager> <FindUsagesManager>
<setting name="OPEN_NEW_TAB" value="false" /> <setting name="OPEN_NEW_TAB" value="false" />
</FindUsagesManager> </FindUsagesManager>
</component> </component>
<component name="Git.Settings"> <component name="Git.Settings">
  <option name="SYNC_SETTING" value="DONT" />
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
  </component>
  <component name="GitLogSettings">
  <option name="myDateState">
  <MyDateState />
  </option>
</component> </component>
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="changedFiles"> <option name="changedFiles">
<list> <list>
<option value="$PROJECT_DIR$/common.inc.php" /> <option value="$PROJECT_DIR$/common.inc.php" />
  <option value="$PROJECT_DIR$/viewcalls.php" />
  <option value="$PROJECT_DIR$/calllog.php" />
<option value="$PROJECT_DIR$/scannr.py" /> <option value="$PROJECT_DIR$/scannr.py" />
<option value="$PROJECT_DIR$/viewcalls.php" /> <option value="$PROJECT_DIR$/calls.json.php" />
  <option value="$PROJECT_DIR$/generateHourlys.php" />
</list> </list>
</option> </option>
</component> </component>
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" /> <component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" interpreter_name="PHP" />
<component name="ProjectFrameBounds"> <component name="ProjectFrameBounds">
<option name="x" value="57" /> <option name="y" value="22" />
<option name="y" value="-8" /> <option name="width" value="1680" />
<option name="width" value="1391" /> <option name="height" value="936" />
<option name="height" value="916" />  
</component> </component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true"> <component name="ProjectLevelVcsManager" settingsEditedManually="true">
<OptionsSetting value="true" id="Add" /> <OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" /> <OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" /> <OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" /> <OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" /> <OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" /> <OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" /> <ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" /> <ConfirmationsSetting value="0" id="Remove" />
</component> </component>
<component name="ProjectReloadState"> <component name="ProjectReloadState">
<option name="STATE" value="0" /> <option name="STATE" value="0" />
</component> </component>
<component name="ProjectView"> <component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5"> <navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
<flattenPackages /> <flattenPackages />
<showMembers /> <showMembers />
<showModules /> <showModules />
<showLibraryContents ProjectPane="true" /> <showLibraryContents ProjectPane="true" />
<hideEmptyPackages /> <hideEmptyPackages />
<abbreviatePackageNames /> <abbreviatePackageNames />
<autoscrollToSource /> <autoscrollToSource />
<autoscrollFromSource /> <autoscrollFromSource />
<sortByType /> <sortByType />
</navigator> </navigator>
<panes> <panes>
<pane id="Scope" /> <pane id="Scope" />
  <pane id="PackagesPane" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<PATH> <PATH>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="scannr" /> <option name="myItemId" value="scannr" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
<PATH> <PATH>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="scannr" /> <option name="myItemId" value="scannr" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="scannr" /> <option name="myItemId" value="scannr" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
</subPane> </subPane>
</pane> </pane>
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
<property name="options.splitter.main.proportions" value="0.3" /> <property name="options.splitter.main.proportions" value="0.3" />
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="options.lastSelected" value="project.propVCSSupport.Mappings" /> <property name="options.lastSelected" value="tasks" />
  <property name="last_opened_file_path" value="$PROJECT_DIR$/../disclosr" />
  <property name="FullScreen" value="false" />
<property name="options.searchVisible" value="true" /> <property name="options.searchVisible" value="true" />
<property name="options.splitter.details.proportions" value="0.2" /> <property name="options.splitter.details.proportions" value="0.2" />
  </component>
  <component name="PyConsoleOptionsProvider">
  <option name="myPythonConsoleState">
  <PyConsoleSettings />
  </option>
  <option name="myDjangoConsoleState">
  <PyConsoleSettings />
  </option>
  </component>
  <component name="RecentsManager">
  <key name="CopyFile.RECENT_KEYS">
  <recent name="$PROJECT_DIR$" />
  </key>
</component> </component>
<component name="RunManager"> <component name="RunManager">
<configuration default="true" type="PHPUnitRunConfigurationType" factoryName="PHPUnit"> <configuration default="true" type="PHPUnitRunConfigurationType" factoryName="PHPUnit">
<TestRunner /> <TestRunner />
  <method />
  </configuration>
  <configuration default="true" type="PhpLocalRunConfigurationType" factoryName="PHP Console">
  <method />
  </configuration>
  <configuration default="true" type="tests" factoryName="Doctests">
  <option name="INTERPRETER_OPTIONS" value="" />
  <option name="PARENT_ENVS" value="true" />
  <envs />
  <option name="SDK_HOME" value="" />
  <option name="WORKING_DIRECTORY" value="" />
  <option name="IS_MODULE_SDK" value="false" />
  <module name="scannr" />
  <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
  <option name="SCRIPT_NAME" value="" />
  <option name="CLASS_NAME" value="" />
  <option name="METHOD_NAME" value="" />
  <option name="FOLDER_NAME" value="" />
  <option name="TEST_TYPE" value="TEST_SCRIPT" />
  <option name="PATTERN" value="" />
  <option name="USE_PATTERN" value="false" />
  <method />
  </configuration>
  <configuration default="true" type="JavascriptDebugSession" factoryName="Local" singleton="true">
  <JSDebuggerConfigurationSettings>
  <option name="engineId" value="embedded" />
  <option name="fileUrl" />
  </JSDebuggerConfigurationSettings>
<method /> <method />
</configuration> </configuration>
<list size="0" /> <list size="0" />
</component> </component>
<component name="ShelveChangesManager" show_recycled="false" /> <component name="ShelveChangesManager" show_recycled="false" />
<component name="SvnConfiguration" maxAnnotateRevisions="500" myUseAcceleration="nothing" myAutoUpdateAfterCommit="false" cleanupOnStartRun="false"> <component name="SvnConfiguration" maxAnnotateRevisions="500" myUseAcceleration="nothing" myAutoUpdateAfterCommit="false" cleanupOnStartRun="false">
<option name="USER" value="" /> <option name="USER" value="" />
<option name="PASSWORD" value="" /> <option name="PASSWORD" value="" />
<option name="mySSHConnectionTimeout" value="30000" /> <option name="mySSHConnectionTimeout" value="30000" />
<option name="mySSHReadTimeout" value="30000" /> <option name="mySSHReadTimeout" value="30000" />
<option name="LAST_MERGED_REVISION" /> <option name="LAST_MERGED_REVISION" />
<option name="MERGE_DRY_RUN" value="false" /> <option name="MERGE_DRY_RUN" value="false" />
<option name="MERGE_DIFF_USE_ANCESTRY" value="true" /> <option name="MERGE_DIFF_USE_ANCESTRY" value="true" />
<option name="UPDATE_LOCK_ON_DEMAND" value="false" /> <option name="UPDATE_LOCK_ON_DEMAND" value="false" />
<option name="IGNORE_SPACES_IN_MERGE" value="false" /> <option name="IGNORE_SPACES_IN_MERGE" value="false" />
<option name="DETECT_NESTED_COPIES" value="true" /> <option name="DETECT_NESTED_COPIES" value="true" />
<option name="CHECK_NESTED_FOR_QUICK_MERGE" value="false" /> <option name="CHECK_NESTED_FOR_QUICK_MERGE" value="false" />
<option name="IGNORE_SPACES_IN_ANNOTATE" value="true" /> <option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
<option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" /> <option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
<option name="FORCE_UPDATE" value="false" /> <option name="FORCE_UPDATE" value="false" />
<option name="IGNORE_EXTERNALS" value="false" /> <option name="IGNORE_EXTERNALS" value="false" />
<myIsUseDefaultProxy>false</myIsUseDefaultProxy> <myIsUseDefaultProxy>false</myIsUseDefaultProxy>
</component> </component>
<component name="TaskManager"> <component name="TaskManager">
<task active="true" id="Default" summary="Default task"> <task active="true" id="Default" summary="Default task">
  <changelist id="f90ee5b5-97e4-47ec-9b14-d4f4e896f100" name="Default" comment="" />
<created>1350026709905</created> <created>1350026709905</created>
<updated>1350026709905</updated> <updated>1350026709905</updated>
</task> </task>
<servers /> <servers />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="57" y="-8" width="1391" height="916" extended-state="6" /> <frame x="0" y="22" width="1680" height="936" extended-state="6" />
<editor active="false" /> <editor active="true" />
<layout> <layout>
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" /> <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
  <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
  <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
  <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
  <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32843137" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
  <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
  <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />  
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" /> <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" />
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24981189" sideWeight="0.6706349" order="0" side_tool="false" content_ui="combo" /> <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.19645043" sideWeight="0.67156863" order="0" side_tool="false" content_ui="combo" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32936507" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />  
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />  
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
  <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />  
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />  
</layout> </layout>
</component> </component>
<component name="VcsContentAnnotationSettings"> <component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" /> <option name="myLimit" value="2678400000" />
</component> </component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" /> <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" /> <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
<option name="CHECK_NEW_TODO" value="true" /> <option name="CHECK_NEW_TODO" value="true" />
<option name="myTodoPanelSettings"> <option name="myTodoPanelSettings">
<value> <value>
<are-packages-shown value="false" /> <are-packages-shown value="false" />
<are-modules-shown value="false" /> <are-modules-shown value="false" />
<flatten-packages value="false" /> <flatten-packages value="false" />
<is-autoscroll-to-source value="false" /> <is-autoscroll-to-source value="false" />
</value> </value>
</option> </option>
<option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" /> <option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" />
<option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" /> <option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" />
<option name="PERFORM_EDIT_IN_BACKGROUND" value="true" /> <option name="PERFORM_EDIT_IN_BACKGROUND" value="true" />
<option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" /> <option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" />
<option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" /> <option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
<option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" /> <option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" />
<option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" /> <option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" />
<option name="CHANGED_ON_SERVER_INTERVAL" value="60" /> <option name="CHANGED_ON_SERVER_INTERVAL" value="60" />
<option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" /> <option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" />
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" /> <option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
<option name="DEFAULT_PATCH_EXTENSION" value="patch" /> <option name="DEFAULT_PATCH_EXTENSION" value="patch" />
<option name="SHORT_DIFF_HORISONTALLY" value="true" /> <option name="SHORT_DIFF_HORISONTALLY" value="true" />
<option name="SHORT_DIFF_EXTRA_LINES" value="2" /> <option name="SHORT_DIFF_EXTRA_LINES" value="2" />
<option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" /> <option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" />
<option name="INCLUDE_TEXT_INTO_PATCH" value="false" /> <option name="INCLUDE_TEXT_INTO_PATCH" value="false" />
<option name="INCLUDE_TEXT_INTO_SHELF" value="false" /> <option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
<option name="SHOW_FILE_HISTORY_DETAILS" value="true" /> <option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
<option name="SHOW_VCS_ERROR_NOTIFICATIONS" value="true" /> <option name="SHOW_VCS_ERROR_NOTIFICATIONS" value="true" />
  <option name="SHOW_DIRTY_RECURSIVELY" value="false" />
  <option name="LIMIT_HISTORY" value="true" />
  <option name="MAXIMUM_HISTORY_ROWS" value="1000" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" /> <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" /> <option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />
<option name="LAST_COMMIT_MESSAGE" /> <option name="LAST_COMMIT_MESSAGE" />
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" /> <option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" />
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" /> <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" /> <option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
<option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" /> <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
<option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" /> <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
<option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" /> <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
<option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" /> <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
<option name="ACTIVE_VCS_NAME" /> <option name="ACTIVE_VCS_NAME" />
<option name="UPDATE_GROUP_BY_PACKAGES" value="false" /> <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
<option name="UPDATE_GROUP_BY_CHANGELIST" value="false" /> <option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" /> <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" /> <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager /> <breakpoint-manager />
</component> </component>
  <component name="antWorkspaceConfiguration">
  <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
  <option name="FILTER_TARGETS" value="false" />
  </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
  <entry file="file://$PROJECT_DIR$/viewcalls.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="2" column="13" selection-start="46" selection-end="46" vertical-scroll-proportion="0.0" />
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/common.inc.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="34" column="0" selection-start="1179" selection-end="1179" vertical-scroll-proportion="0.0" />
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/calls.json.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="2" column="9" selection-start="42" selection-end="42" vertical-scroll-proportion="0.0" />
  </provider>
  </entry>
<entry file="file://$PROJECT_DIR$/trunklog.php"> <entry file="file://$PROJECT_DIR$/trunklog.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" />
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/../disclosr/include/template.inc.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="72" column="93" selection-start="2545" selection-end="2635" vertical-scroll-proportion="0.43404254" />
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/../disclosr/include/common.inc.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" />
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/../busui/myway/myway_timeliness.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="27" column="5" selection-start="1003" selection-end="1018" vertical-scroll-proportion="26.346153" />
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/snd.py">
  <provider selected="true" editor-type-id="text-editor">
  <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" />
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/common.inc.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="60" column="117" selection-start="2262" selection-end="2262" vertical-scroll-proportion="-39.23077" />
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/viewcalls.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="41" column="69" selection-start="1388" selection-end="1388" vertical-scroll-proportion="1.2659575" />
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/scannr.py">
  <provider selected="true" editor-type-id="text-editor">
  <state line="80" column="64" selection-start="2271" selection-end="2271" vertical-scroll-proportion="0.0" />
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/calllog.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="2" column="0" selection-start="34" selection-end="226" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/calls.json.php">
  <provider selected="true" editor-type-id="text-editor">
  <state line="13" column="53" selection-start="499" selection-end="499" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/generateConvos.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0"> <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/calls.json.php"> <entry file="file://$PROJECT_DIR$/getfile.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0"> <state line="11" column="13" selection-start="471" selection-end="539" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/scannr.py"> <entry file="file://$PROJECT_DIR$/generateHourlys.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="66" column="23" selection-start="2084" selection-end="2084" vertical-scroll-proportion="0.0"> <state line="23" column="6" selection-start="1012" selection-end="1012" vertical-scroll-proportion="0.68944097">
<folding /> <folding />
</state>  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/common.inc.php">  
<provider selected="true" editor-type-id="text-editor">  
<state line="3" column="21" selection-start="90" selection-end="90" vertical-scroll-proportion="-1.9615384">  
<folding />  
</state>  
</provider>  
</entry>  
<entry file="file://$PROJECT_DIR$/viewcalls.php">  
<provider selected="true" editor-type-id="text-editor">  
<state line="66" column="38" selection-start="2349" selection-end="2349" vertical-scroll-proportion="0.31213874">  
<folding>  
<element signature="n#style#0;n#span#0;n#td#0;n#tr#0;n#table#0;n#div#0;n#!!top" expanded="true" />  
<element signature="n#style#0;n#div#0;n#td#1;n#tr#0;n#table#0;n#div#0;n#!!top" expanded="true" />  
<element signature="n#style#0;n#span#0;n#td#2;n#tr#0;n#table#0;n#div#0;n#!!top" expanded="true" />  
</folding>  
</state> </state>
</provider> </provider>
</entry> </entry>
</component> </component>
</project> </project>
   
   
file:a/404.html -> file:b/404.html
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Page Not Found :(</title> <title>Page Not Found :(</title>
<style> <style>
::-moz-selection { ::-moz-selection {
background: #b3d4fc; background: #b3d4fc;
text-shadow: none; text-shadow: none;
} }
   
::selection { ::selection {
background: #b3d4fc; background: #b3d4fc;
text-shadow: none; text-shadow: none;
} }
   
html { html {
padding: 30px 10px; padding: 30px 10px;
font-size: 20px; font-size: 20px;
line-height: 1.4; line-height: 1.4;
color: #737373; color: #737373;
background: #f0f0f0; background: #f0f0f0;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%; -ms-text-size-adjust: 100%;
} }
   
html, html,
input { input {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
} }
   
body { body {
max-width: 500px; max-width: 500px;
_width: 500px; _width: 500px;
padding: 30px 20px 50px; padding: 30px 20px 50px;
border: 1px solid #b3b3b3; border: 1px solid #b3b3b3;
border-radius: 4px; border-radius: 4px;
margin: 0 auto; margin: 0 auto;
box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff; box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff;
background: #fcfcfc; background: #fcfcfc;
} }
   
h1 { h1 {
margin: 0 10px; margin: 0 10px;
font-size: 50px; font-size: 50px;
text-align: center; text-align: center;
} }
   
h1 span { h1 span {
color: #bbb; color: #bbb;
} }
   
h3 { h3 {
margin: 1.5em 0 0.5em; margin: 1.5em 0 0.5em;
} }
   
p { p {
margin: 1em 0; margin: 1em 0;
} }
   
ul { ul {
padding: 0 0 0 40px; padding: 0 0 0 40px;
margin: 1em 0; margin: 1em 0;
} }
   
.container { .container {
max-width: 380px; max-width: 380px;
_width: 380px; _width: 380px;
margin: 0 auto; margin: 0 auto;
} }
   
/* google search */ /* google search */
   
#goog-fixurl ul { #goog-fixurl ul {
list-style: none; list-style: none;
padding: 0; padding: 0;
margin: 0; margin: 0;
} }
   
#goog-fixurl form { #goog-fixurl form {
margin: 0; margin: 0;
} }
   
#goog-wm-qt, #goog-wm-qt,
#goog-wm-sb { #goog-wm-sb {
border: 1px solid #bbb; border: 1px solid #bbb;
font-size: 16px; font-size: 16px;
line-height: normal; line-height: normal;
vertical-align: top; vertical-align: top;
color: #444; color: #444;
border-radius: 2px; border-radius: 2px;
} }
   
#goog-wm-qt { #goog-wm-qt {
width: 220px; width: 220px;
height: 20px; height: 20px;
padding: 5px; padding: 5px;
margin: 5px 10px 0 0; margin: 5px 10px 0 0;
box-shadow: inset 0 1px 1px #ccc; box-shadow: inset 0 1px 1px #ccc;
} }
   
#goog-wm-sb { #goog-wm-sb {
display: inline-block; display: inline-block;
height: 32px; height: 32px;
padding: 0 10px; padding: 0 10px;
margin: 5px 0 0; margin: 5px 0 0;
white-space: nowrap; white-space: nowrap;
cursor: pointer; cursor: pointer;
background-color: #f5f5f5; background-color: #f5f5f5;
background-image: -webkit-linear-gradient(rgba(255,255,255,0), #f1f1f1); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
background-image: -moz-linear-gradient(rgba(255,255,255,0), #f1f1f1); background-image: -moz-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
background-image: -ms-linear-gradient(rgba(255,255,255,0), #f1f1f1); background-image: -ms-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
background-image: -o-linear-gradient(rgba(255,255,255,0), #f1f1f1); background-image: -o-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
-webkit-appearance: none; -webkit-appearance: none;
-moz-appearance: none; -moz-appearance: none;
appearance: none; appearance: none;
*overflow: visible; *overflow: visible;
*display: inline; *display: inline;
*zoom: 1; *zoom: 1;
} }
   
#goog-wm-sb:hover, #goog-wm-sb:hover,
#goog-wm-sb:focus { #goog-wm-sb:focus {
border-color: #aaa; border-color: #aaa;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
background-color: #f8f8f8; background-color: #f8f8f8;
} }
   
#goog-wm-qt:hover, #goog-wm-qt:hover,
#goog-wm-qt:focus { #goog-wm-qt:focus {
border-color: #105cb6; border-color: #105cb6;
outline: 0; outline: 0;
color: #222; color: #222;
} }
   
input::-moz-focus-inner { input::-moz-focus-inner {
padding: 0; padding: 0;
border: 0; border: 0;
} }
</style> </style>
</head> </head>
<body> <body>
<div class="container"> <div class="container">
<h1>Not found <span>:(</span></h1> <h1>Not found <span>:(</span></h1>
<p>Sorry, but the page you were trying to view does not exist.</p>  
<p>It looks like this was the result of either:</p> <p>Sorry, but the page you were trying to view does not exist.</p>
<ul>  
<li>a mistyped address</li> <p>It looks like this was the result of either:</p>
<li>an out-of-date link</li> <ul>
</ul> <li>a mistyped address</li>
<script> <li>an out-of-date link</li>
var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host; </ul>
</script> <script>
<script src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script> var GOOG_FIXURL_LANG = (navigator.language || '').slice(0, 2), GOOG_FIXURL_SITE = location.host;
</div> </script>
</body> <script src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
  </div>
  </body>
</html> </html>
   
file:b/calllog.php (new)
  <?php
  include ('common.inc.php');
  $sth = $conn->prepare('select * from recordings
  order by call_timestamp desc limit 1000');
 
  $sth->execute(Array());
 
  $row = 0;
  echo "<table>";
  foreach ($sth->fetchAll() as $data) {
 
 
  echo "<tr>";
  for ($c = 0; $c < count($data); $c++) {
  echo '<td>' . $data[$c] . "</td>\n";
  }
  echo "</tr>";
  }
  $row++;
  echo "</table>";
 
<?php <?php
  include('common.inc.php');
  function getTGIDValuesByHour($TGID, $timeFrom, $timeTo)
  {
  global $conn;
  $sth = $conn->prepare('select tgid, min(call_timestamp) as time, count(*), min(length), max(length), avg(length), stddev(length) from recordings
  where call_timestamp between to_timestamp(?) and to_timestamp(?)
  group by tgid, date_trunc(\'hour\', call_timestamp) order by time');
   
  $sth->execute(Array($timeFrom, $timeTo));
  return $sth->fetchAll(PDO::FETCH_ASSOC);
   
   
function json_graph($sensorID, $timefrom, $timeto) {  
$values = getSensorValuesByHour($sensorID, $timefrom, $timeto);  
$label = $sensorID;  
$data = Array();  
$tzoffset = $this->get_timezone_offset("UTC");  
foreach ($values as $value) {  
$data[] = Array((strtotime($value['time']) + $tzoffset) * 1000, intval($value['avg']));  
}  
$this->output  
->set_content_type('application/json')  
->set_output(json_encode(Array("label" => $label, "data" => $data,  
"previous" => Array(  
"from" => $timefrom - (24 * 60 * 60),  
"to" => $timefrom)  
,  
"next" => Array(  
"to" => $timeto + (24 * 60 * 60),  
"from" => $timeto)  
)  
));  
} }
   
function json_data_description($sensorID, $timefrom, $timeto) { function getTGIDValuesByDay($TGID, $dayFrom, $dayTo)
  {
  global $conn;
  $sth = $conn->prepare('select min(time) as time, min(value), max(value), avg(value), stddev(value) from sensor_values where sensor_id = ?
  group by sensor_id, date_trunc(\'day\', time) order by time');
   
  $sth->execute(Array($TGID));
  return $sth->fetchAll(PDO::FETCH_ASSOC);
  }
  function getTGIDDataYears($TGID, $timeFrom, $timeTo)
  {
  global $conn;
  $sth = $conn->prepare("select distinct extract('year' from call_timestamp) as year from recordings where tgid = ? order by year");
   
  $sth->execute(Array($TGID));
  return $sth->fetchAll(PDO::FETCH_ASSOC);
  }
   
  function getTGIDDataMonths($TGID, $timeFrom, $timeTo)
  {
  global $conn;
  $sth = $conn->prepare("select distinct extract('month' from call_timestamp) as month, extract('year' from call_timestamp) as year from recordings where tgid = ? order by year, month");
   
  $sth->execute(Array($TGID));
  return $sth->fetchAll(PDO::FETCH_ASSOC);
  }
   
  function getTGIDDataDays($TGID, $timeFrom, $timeTo)
  {
  global $conn;
  $sth = $conn->prepare("select distinct extract('day' from call_timestamp) as day, extract('month' from call_timestamp) as month, extract('year' from call_timestamp) as year from recordings where tgid = ? order by year,month,day");
   
   
  $sth->execute(Array($TGID));
  return $sth->fetchAll(PDO::FETCH_ASSOC);
  }
  $action = (isset($_REQUEST['action']) ? $_REQUEST['action'] : '');
  $TGID = (isset($_REQUEST['tgid']) ? $_REQUEST['tgid'] : '');
  $timefrom = (isset($_REQUEST['from']) ? $_REQUEST['from'] : '');
  $timeto = (isset($_REQUEST['to']) ? $_REQUEST['to'] : '');
   
  if ($action == "data") {
  $sth = $conn->prepare('select * from recordings
  order by call_timestamp desc limit 100');
   
  $sth->execute(Array());
   
  echo json_encode ($sth->fetchAll(PDO::FETCH_ASSOC));
  }
  if ($action == "data_description") {
$timefrom = strtotime($timefrom); $timefrom = strtotime($timefrom);
$timeto = strtotime($timeto); $timeto = strtotime($timeto);
$years = getSensorDataYears($sensorID, $timefrom, $timeto); $years = getTGIDDataYears($TGID, $timefrom, $timeto);
   
$months = getSensorDataMonths($sensorID, $timefrom, $timeto); $months = getTGIDDataMonths($TGID, $timefrom, $timeto);
$days = getSensorDataDays($sensorID, $timefrom, $timeto); $days = getTGIDDataDays($TGID, $timefrom, $timeto);
   
return json_encode(Array("years" => $years, "months" => $months, "days" => $days echo json_encode(Array("years" => $years, "months" => $months, "days" => $days
)); ));
} }
   
   
  if (strpos($action, "graph") !== false) {
  $values = getTGIDValuesByHour($TGID, $timefrom, $timeto);
  $label = $TGID;
  $data = Array();
  $tzoffset = get_timezone_offset("UTC");
  foreach ($values as $value) {
  if ($action == "graphlength") {
  $data[$value['tgid']][] = Array((strtotime($value['time']) + $tzoffset) * 1000, intval($value['avg']));
  } else if ($action == "graphcount") {
  $data[$value['tgid']][] = Array((strtotime($value['time']) + $tzoffset) * 1000, intval($value['count']));
  }
  }
  echo json_encode(Array("label" => $label, "data" => $data,
  "previous" => Array(
  "from" => $timefrom - (24 * 60 * 60),
  "to" => $timefrom)
  ,
  "next" => Array(
  "to" => $timeto + (24 * 60 * 60),
  "from" => $timeto)
  )
  );
  }
   
   
   
?> ?>
   
<?php <?php
date_default_timezone_set("Australia/Sydney"); date_default_timezone_set("Australia/Sydney");
  try {
  $conn = new PDO("pgsql:dbname=scannr;user=postgres;password=snmc;host=localhost");
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  } catch (PDOException $e) {
  die('Unable to connect to database server.');
  }
  catch (Exception $e) {
  die('Unknown error in ' . __FILE__ . '.');
  }
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$basePath = ""; $basePath = "";
$DATA_DIR = "./data"; $DATA_DIR = "./data";
   
/** Returns the offset from the origin timezone to the remote timezone, in seconds. /** Returns the offset from the origin timezone to the remote timezone, in seconds.
* @param $remote_tz; * @param $remote_tz;
* @param $origin_tz; If null the servers current timezone is used as the origin. * @param $origin_tz; If null the servers current timezone is used as the origin.
* @return int; * @return int;
*/ */
function get_timezone_offset($remote_tz, $origin_tz = null) { function get_timezone_offset($remote_tz, $origin_tz = null)
  {
if ($origin_tz === null) { if ($origin_tz === null) {
if (!is_string($origin_tz = date_default_timezone_get())) { if (!is_string($origin_tz = date_default_timezone_get())) {
return false; // A UTC timestamp was returned -- bail out! return false; // A UTC timestamp was returned -- bail out!
} }
} }
$origin_dtz = new DateTimeZone($origin_tz); $origin_dtz = new DateTimeZone($origin_tz);
$remote_dtz = new DateTimeZone($remote_tz); $remote_dtz = new DateTimeZone($remote_tz);
$origin_dt = new DateTime("now", $origin_dtz); $origin_dt = new DateTime("now", $origin_dtz);
$remote_dt = new DateTime("now", $remote_dtz); $remote_dt = new DateTime("now", $remote_dtz);
$offset = $origin_dtz->getOffset($origin_dt) - $remote_dtz->getOffset($remote_dt); $offset = $origin_dtz->getOffset($origin_dt) - $remote_dtz->getOffset($remote_dt);
return $offset; return $offset;
} }
   
function getSensorValuesByHour($sensorID, $timeFrom, $timeTo) {  
$sql = 'select min(call_timestamp) as time, count(*), min(length), max(length), avg(length), stddev(length) from recordings  
group by tgid, date_trunc(\'hour\', call_timestamp) order by time';  
   
$query = $this->db->query($sql, Array($sensorID, $timeFrom, $timeTo)); function include_header($title)
return $query->result_array(); {
}  
   
function getSensorValuesByDay($sensorID, $dayFrom, $dayTo) {  
$sql = 'select min(time) as time, min(value), max(value), avg(value), stddev(value) from sensor_values where sensor_id = ?  
group by sensor_id, date_trunc(\'day\', time) order by time';  
   
$query = $this->db->query($sql, Array($sensorID));  
return $query->result_array();  
}  
   
function getSensorDataYears($sensorID, $timeFrom, $timeTo) {  
$sql = "select distinct extract('year' from call_timestamp) as year from recordings where tgid = ? order by year";  
   
$query = $this->db->query($sql, Array($sensorID));  
return $query->result_array();  
}  
   
function getSensorDataMonths($sensorID, $timeFrom, $timeTo) {  
$sql = "select distinct extract('month' from time) as month, extract('year' from time) as year from sensor_values where sensor_id = ? order by year, month";  
   
$query = $this->db->query($sql, Array($sensorID));  
return $query->result_array();  
}  
   
function getSensorDataDays($sensorID, $timeFrom, $timeTo) {  
$sql = "select distinct extract('day' from time) as day, extract('month' from time) as month, extract('year' from time) as year from sensor_values where sensor_id = ? order by year,month,day";  
   
$query = $this->db->query($sql, Array($sensorID));  
return $query->result_array();  
}  
   
function include_header($title) {  
global $basePath; global $basePath;
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
  <!--[if lt IE 7]>
  <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
  <!--[if IE 7]>
  <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
  <!--[if IE 8]>
  <html class="no-js lt-ie9"> <![endif]-->
  <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
  <head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title></title>
  <meta name="description" content="">
  <meta name="viewport" content="width=device-width">
   
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->  
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->  
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->  
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->  
<head>  
<meta charset="utf-8" />  
   
<!-- Set the viewport width to device width for mobile --> <link rel="stylesheet" href="css/normalize.css">
<meta name="viewport" content="width=device-width" /> <link rel="stylesheet" href="css/main.css">
  <script src="js/vendor/modernizr-2.6.1.min.js"></script>
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
  <!--<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.8.0.min.js"><\/script>')</script>-->
  <script type="text/javascript" src="<?php echo $basePath ?>js/flotr2/flotr2.js"></script>
  <script src="js/plugins.js"></script>
  <script src="js/main.js"></script>
  </head>
  <body>
  <!--[if lt IE 7]>
  <p class="chromeframe">You are using an outdated browser. <a href="http://browsehappy.com/">Upgrade your browser
  today</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to
  better experience this site.</p>
  <![endif]-->
   
<title><?php echo $title; ?> - Scannr</title> <!-- Add your site or application content here -->
  <?php
  }
   
<!-- Included CSS Files --> function include_footer()
<link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/foundation.css"> {
<link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/app.css"> global $basePath;
  ?>
<!--[if lt IE 9]>  
<link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/ie.css">  
<![endif]-->  
   
   
<!-- IE Fix for HTML5 Tags --> <!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
<!--[if lt IE 9]> <script>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> var _gaq = [
<![endif]--> ['_setAccount', 'UA-XXXXX-X'],
  ['_trackPageview']
  ];
  (function (d, t) {
  var g = d.createElement(t), s = d.getElementsByTagName(t)[0];
  g.src = ('https:' == location.protocol ? '//ssl' : '//www') + '.google-analytics.com/ga.js';
  s.parentNode.insertBefore(g, s)
  }(document, 'script'));
  </script>
  </body>
  </html>
   
</head> <?php
<body xmlns:schema="http://schema.org/" xmlns:foaf="http://xmlns.com/foaf/0.1/">  
   
<!-- navBar -->  
<div id="navbar" class="container">  
<div class="row">  
<div class="four columns">  
<h1><a href="/">Disclosr</a></h1>  
</div>  
<div class="eight columns hide-on-phones">  
<strong class="right">  
<a href="getAgency.php">Agencies</a>  
<a href="about.php">About/FAQ</a>  
</strong>  
</div>  
</div>  
</div>  
<!-- /navBar -->  
   
<!-- container -->  
<div class="container">  
<?php  
}  
   
function include_footer() {  
global $basePath;  
?>  
   
</div>  
<!-- container -->  
   
   
   
   
<!-- Included JS Files -->  
<script src="<?php echo $basePath; ?>js/foundation.js"></script>  
<script src="<?php echo $basePath; ?>js/app.js"></script>  
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>  
<script>window.jQuery || document.write('<script src="js/jquery-1.8.2.min.js"><\/script>')</script>  
   
<script type="text/javascript" src="<?php echo $basePath ?>js/flotr2/flotr2.js"></script>  
<?php  
if (strpos($_SERVER['SERVER_NAME'], ".gs")) {  
?>  
<script type="text/javascript">  
   
var _gaq = _gaq || [];  
_gaq.push(['_setAccount', 'UA-12341040-2']);  
_gaq.push(['_trackPageview']);  
   
(function() {  
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;  
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';  
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);  
})();  
   
</script>  
   
</body>  
</html>  
   
<?php  
}  
} }
   
   
file:b/cron.php (new)
  <?php
  /*- scheduled tasks
  - combine recordings into conversations
  - using ffmpeg
  - conversations and recordings_to_conversations tables
  - remove all other wav files
  - delete old uninteresting conversations*/
  ?>
 
file:a/db.sql -> file:b/db.sql
  -- /usr/pgsql-9.1/bin/pg_dump --schema-only scannr
-- --
-- PostgreSQL database dump -- PostgreSQL database dump
-- --
   
-- Dumped from database version 9.1.2  
-- Dumped by pg_dump version 9.1.2  
-- Started on 2012-10-08 22:16:52  
   
SET statement_timeout = 0; SET statement_timeout = 0;
SET client_encoding = 'UTF8'; SET client_encoding = 'UTF8';
SET standard_conforming_strings = on; SET standard_conforming_strings = on;
SET check_function_bodies = false; SET check_function_bodies = false;
SET client_min_messages = warning; SET client_min_messages = warning;
   
-- --
-- TOC entry 162 (class 3079 OID 11639)  
-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: -- Name: plpgsql; Type: EXTENSION; Schema: -; Owner:
-- --
   
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog; CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
   
   
-- --
-- TOC entry 1856 (class 0 OID 0)  
-- Dependencies: 162  
-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: -- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner:
-- --
   
COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language'; COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
   
   
SET search_path = public, pg_catalog; SET search_path = public, pg_catalog;
   
SET default_tablespace = ''; SET default_tablespace = '';
   
SET default_with_oids = false; SET default_with_oids = false;
   
-- --
-- TOC entry 161 (class 1259 OID 62391)  
-- Dependencies: 1847 6  
-- Name: recordings; Type: TABLE; Schema: public; Owner: postgres; Tablespace: -- Name: recordings; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
-- --
   
CREATE TABLE recordings ( CREATE TABLE recordings (
filename text NOT NULL, filename text NOT NULL,
tgid text, tgid text,
tgname text, tgname text,
sitename text, sitename text,
call_timestamp timestamp with time zone DEFAULT now(), call_timestamp timestamp with time zone DEFAULT now(),
length integer length integer
); );
   
   
ALTER TABLE public.recordings OWNER TO postgres; ALTER TABLE public.recordings OWNER TO postgres;
   
-- --
-- TOC entry 1850 (class 0 OID 62391) -- Name: tgids; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
-- Dependencies: 161  
-- Data for Name: recordings; Type: TABLE DATA; Schema: public; Owner: postgres  
-- --
   
COPY recordings (filename, tgid, tgname, sitename, call_timestamp, length) FROM stdin; CREATE TABLE tgids (
2012-09-30-1348998992.35-demo.wav 44028 CanberraBlackMnt 2012-09-30 19:56:35.268+10 254088 tgid text NOT NULL,
2012-09-30-1348998995.69-demo.wav 44028 CanberraBlackMnt 2012-09-30 19:56:38.733+10 256136 subfleet smallint,
2012-09-30-1348998999.93-demo.wav 44028 CanberraBlackMnt 2012-09-30 19:56:45.913+10 587902 mode character(1) DEFAULT 'D'::bpchar NOT NULL,
2012-09-30-1348999006.13-demo.wav 44028 CanberraBlackMnt 2012-09-30 19:56:54.567+10 698570 alpha_tag text NOT NULL,
2012-09-30-1348999016.18-demo.wav 44028 CanberraBlackMnt 2012-09-30 19:57:00.87+10 481854 service_tag text,
2012-09-30-1348999732.25-demo.wav 44028 CanberraBlackMnt 2012-09-30 20:09:14.875+10 234110 category smallint
2012-10-01-1349049204.29-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 09:53:26.799+10 208816 );
2012-10-01-1349049226.73-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 09:53:51.106+10 368776  
2012-10-01-1349049233.21-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 09:54:09.788+10 1388118  
2012-10-01-1349049249.98-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 09:54:17.872+10 663688  
2012-10-01-1349049264.24-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 09:54:30.636+10 538760  
2012-10-01-1349049270.91-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 09:54:33.547+10 223368  
2012-10-01-1349049332.89-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 09:55:35.416+10 211876  
2012-10-01-1349049500.43-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 09:58:24.513+10 342452  
2012-10-01-1349049504.69-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 09:58:26.976+10 194696  
2012-10-01-1349049507.06-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 09:58:29.354+10 194670  
2012-10-01-1349049509.44-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 09:58:34.742+10 396850  
2012-10-01-1349049779.09-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:03:04.97+10 492576  
2012-10-01-1349049786.9-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:03:12.308+10 452698  
2012-10-01-1349049792.46-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:03:25.6+10 1095920  
2012-10-01-1349049807.7-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:03:31.677+10 290840  
2012-10-01-1349049861.14-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:04:25.582+10 373762  
2012-10-01-1349049865.67-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:04:28.013+10 198792  
2012-10-01-1349049868.1-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:04:39.641+10 964280  
2012-10-01-1349049882.76-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 10:05:00.226+10 1464278  
2012-10-01-1349049900.31-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 10:05:10.501+10 856174  
2012-10-01-1349049931.19-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 10:05:33.892+10 194482  
2012-10-01-1349050089.47-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:08:12.583+10 258960  
2012-10-01-1349050092.74-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:08:14.999+10 190600  
2012-10-01-1349050095.28-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:08:20.876+10 469114  
2012-10-01-1349050101.01-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:08:25.274+10 360540  
2012-10-01-1349050181.52-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 10:09:44.577+10 257894  
2012-10-01-1349050559.5-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:16:02.327+10 234682  
2012-10-01-1349050565.45-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:16:09.695+10 358536  
2012-10-01-1349050569.81-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:16:13.005+10 270436  
2012-10-01-1349051158.46-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:26:02.008+10 297526  
2012-10-01-1349051163.5-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:26:18.926+10 1243718  
2012-10-01-1349051179.11-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:26:22.771+10 248802  
2012-10-01-1349051328.94-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 10:28:54.168+10 437650  
2012-10-01-1349051335.09-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 10:28:59.01+10 331850  
2012-10-01-1349051339.22-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 10:29:08.43+10 774258  
2012-10-01-1349051348.6-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 10:29:12.398+10 265692  
2012-10-01-1349051352.59-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 10:29:18.435+10 435010  
2012-10-01-1349051358.85-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 10:29:24.367+10 417732  
2012-10-01-1349051364.58-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 10:29:27.978+10 224558  
2012-10-01-1349051368.18-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 10:29:32.295+10 280020  
2012-10-01-1349051408.58-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 10:30:12.993+10 371612  
2012-10-01-1349051417.13-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 10:30:19.93+10 233608  
2012-10-01-1349051420.43-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 10:30:25.975+10 464998  
2012-10-01-1349051426.17-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 10:30:33.558+10 570774  
2012-10-01-1349051433.87-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 10:30:38.878+10 356748  
2012-10-01-1349051661.64-demo.wav 40092 PCL CNP CanberraMtAinsli 2012-10-01 10:34:25.365+10 311050  
2012-10-01-1349051687.5-demo.wav 40092 PCL CNP CanberraBlackMnt 2012-10-01 10:34:51.165+10 307336  
2012-10-01-1349051692.82-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:35:06.313+10 1132378  
2012-10-01-1349051706.91-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:35:11.48+10 383112  
2012-10-01-1349051712.82-demo.wav 40092 PCL CNP CanberraBlackMnt 2012-10-01 10:35:20.369+10 630920  
2012-10-01-1349051720.67-demo.wav 40092 PCL CNP CanberraBlackMnt 2012-10-01 10:35:26.837+10 518280  
2012-10-01-1349051727.62-demo.wav 40092 PCL CNP CanberraBlackMnt 2012-10-01 10:35:32.323+10 371982  
2012-10-01-1349051732.52-demo.wav 40092 PCL CNP CanberraBlackMnt 2012-10-01 10:35:39.776+10 563772  
2012-10-01-1349051739.99-demo.wav 40092 PCL CNP CanberraBlackMnt 2012-10-01 10:35:44.011+10 278058  
2012-10-01-1349052320.63-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:45:23.371+10 228088  
2012-10-01-1349052323.61-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:45:26.073+10 202888  
2012-10-01-1349052326.25-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:45:29.615+10 280712  
2012-10-01-1349052329.84-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:45:33.261+10 286856  
2012-10-01-1349052425.45-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:47:08.005+10 208910  
2012-10-01-1349052588.09-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:49:51.15+10 252292  
2012-10-01-1349052982.53-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 10:56:25.009+10 208422  
2012-10-01-1349053083.64-demo.wav 44028 CanberraBlackMnt 2012-10-01 10:58:06.325+10 224230  
2012-10-01-1349053087.85-demo.wav 44028 CanberraBlackMnt 2012-10-01 10:58:15.186+10 616584  
2012-10-01-1349053095.42-demo.wav 44028 CanberraBlackMnt 2012-10-01 10:58:21.824+10 538760  
2012-10-01-1349053101.98-demo.wav 44028 CanberraBlackMnt 2012-10-01 10:58:27.439+10 458888  
2012-10-01-1349053108.38-demo.wav 44028 CanberraBlackMnt 2012-10-01 10:58:32.606+10 290786  
2012-10-01-1349053112.84-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:58:38.485+10 471176  
2012-10-01-1349053118.6-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 10:58:40.803+10 182408  
2012-10-01-1349053121.57-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-01 10:59:08.084+10 2219500  
2012-10-01-1349053148.85-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 10:59:31.16+10 1873712  
2012-10-01-1349053194.38-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 10:59:57.401+10 249992  
2012-10-01-1349053229.68-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:00:32.22+10 211302  
2012-10-01-1349053232.42-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:00:34.938+10 211080  
2012-10-01-1349053235.13-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:00:49.239+10 1166940  
2012-10-01-1349053251.51-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:01:00.19+10 716456  
2012-10-01-1349053260.38-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:01:13.722+10 1062998  
2012-10-01-1349053273.91-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:01:20.854+10 521240  
2012-10-01-1349053281.11-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:01:28.628+10 631066  
2012-10-01-1349053289.38-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:01:32.989+10 300338  
2012-10-01-1349053293.72-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:01:47.926+10 1164052  
2012-10-01-1349053308.28-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:01:54.435+10 481286  
2012-10-01-1349053314.62-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:02:10.055+10 1243078  
2012-10-01-1349053330.23-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:02:18.207+10 617062  
2012-10-01-1349053338.39-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:02:24.235+10 437862  
2012-10-01-1349053344.43-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:02:27.792+10 227072  
2012-10-01-1349053378.45-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:03:00.957+10 208906  
2012-10-01-1349053381.98-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:03:10.89+10 741428  
2012-10-01-1349053391.12-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:03:16.936+10 485512  
2012-10-01-1349053397.63-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:03:22.497+10 378714  
2012-10-01-1349053442.93-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:04:06.485+10 300452  
2012-10-01-1349053447.24-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:04:11.091+10 323720  
2012-10-01-1349053452.12-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:04:36.892+10 2075594  
2012-10-01-1349053477.08-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:04:51.991+10 1199338  
2012-10-01-1349053492.21-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:05:06.299+10 1148336  
2012-10-01-1349053506.47-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:05:19.217+10 1007996  
2012-10-01-1349053519.45-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:05:34.935+10 1236016  
2012-10-01-1349053535.12-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:05:52.706+10 1414680  
2012-10-01-1349053553.0-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:05:57.772+10 347100  
2012-10-01-1349053558.49-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:06:06.996+10 687676  
2012-10-01-1349053567.17-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:06:15.592+10 646950  
2012-10-01-1349053575.78-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:06:19.957+10 289264  
2012-10-01-1349053580.14-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:06:23.365+10 206564  
2012-10-01-1349053785.31-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:09:47.819+10 209218  
2012-10-01-1349053903.59-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:11:46.162+10 214728  
2012-10-01-1349053907.37-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:11:54.624+10 606638  
2012-10-01-1349053914.77-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:12:03.686+10 749704  
2012-10-01-1349053923.93-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:12:11.842+10 665736  
2012-10-01-1349053959.78-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 11:12:42.289+10 209032  
2012-10-01-1349054048.61-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:14:11.87+10 270084  
2012-10-01-1349054053.38-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:14:19.771+10 534664  
2012-10-01-1349054059.95-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:14:25.471+10 460936  
2012-10-01-1349054065.66-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:14:35.964+10 806756  
2012-10-01-1349054076.78-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:14:42.058+10 438154  
2012-10-01-1349054174.16-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:16:17.712+10 298116  
2012-10-01-1349054179.25-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:16:39.385+10 1663806  
2012-10-01-1349054200.2-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:16:49.676+10 792848  
2012-10-01-1349054272.0-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:17:54.583+10 216380  
2012-10-01-1349054276.47-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:18:06.338+10 825480  
2012-10-01-1349054286.53-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:18:21.896+10 1289220  
2012-10-01-1349054302.08-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:18:28.465+10 527554  
2012-10-01-1349054308.7-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:18:32.185+10 273720  
2012-10-01-1349054312.35-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:18:37.09+10 370086  
2012-10-01-1349054365.83-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:19:28.394+10 211410  
2012-10-01-1349054435.92-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:20:38.677+10 231264  
2012-10-01-1349054439.91-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:20:43.627+10 311432  
2012-10-01-1349054445.03-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:21:03.791+10 1573892  
2012-10-01-1349054464.79-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:21:11.468+10 555534  
2012-10-01-1349054471.64-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:21:16.227+10 385160  
2012-10-01-1349054506.64-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:21:49.152+10 210136  
2012-10-01-1349054509.33-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:21:52.142+10 233608  
2012-10-01-1349054512.74-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:22:00.838+10 675976  
2012-10-01-1349054523.93-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:22:13.928+10 815424  
2012-10-01-1349054534.28-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:22:24.609+10 860902  
2012-10-01-1349054545.82-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:22:29.086+10 268420  
2012-10-01-1349054549.31-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:22:38.523+10 772188  
2012-10-01-1349054558.71-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:22:42.202+10 236470  
2012-10-01-1349054562.97-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:22:48.771+10 476580  
2012-10-01-1349054569.61-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:22:56.464+10 528910  
2012-10-01-1349054577.29-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:23:03.285+10 502540  
2012-10-01-1349054583.76-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:23:08.514+10 395400  
2012-10-01-1349054588.77-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:23:13.612+10 407688  
2012-10-01-1349054594.98-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:23:21.082+10 512136  
2012-10-01-1349054602.75-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:23:31.444+10 731246  
2012-10-01-1349054612.19-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:23:36.499+10 360278  
2012-10-01-1349054617.19-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:23:41.807+10 387196  
2012-10-01-1349054622.42-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:23:54.467+10 1011848  
2012-10-01-1349054634.71-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:23:56.893+10 180360  
2012-10-01-1349054637.63-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:24:12.616+10 1259490  
2012-10-01-1349054652.79-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:24:18.466+10 474092  
2012-10-01-1349054659.29-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:24:23.695+10 366308  
2012-10-01-1349054663.88-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:24:26.535+10 221320  
2012-10-01-1349054667.72-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:24:35.586+10 661640  
2012-10-01-1349054677.48-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:24:41.229+10 311108  
2012-10-01-1349054681.37-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:24:44.685+10 274568  
2012-10-01-1349054684.81-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:24:48.807+10 336008  
2012-10-01-1349054691.32-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:24:55.423+10 290732  
2012-10-01-1349054695.61-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:24:58.893+10 218670  
2012-10-01-1349054701.32-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:25:06.184+10 407552  
2012-10-01-1349054706.36-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:25:08.881+10 204906  
2012-10-01-1349054709.08-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:25:12.172+10 205534  
2012-10-01-1349054712.35-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:25:19.034+10 554106  
2012-10-01-1349054821.84-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:27:04.403+10 213796  
2012-10-01-1349054825.29-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:27:07.98+10 223368  
2012-10-01-1349054828.26-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:27:14.049+10 485512  
2012-10-01-1349054834.35-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:27:18.063+10 309384  
2012-10-01-1349054936.0-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:28:58.874+10 238184  
2012-10-01-1349054940.78-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:29:04.295+10 295048  
2012-10-01-1349054944.62-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:29:09.174+10 381064  
2012-10-01-1349054949.57-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:29:16.58+10 587792  
2012-10-01-1349054957.8-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:29:27.531+10 814364  
2012-10-01-1349054968.35-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:29:32.921+10 385160  
2012-10-01-1349054973.27-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 11:29:39.751+10 542856  
2012-10-01-1349054981.46-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 11:29:49.38+10 663688  
2012-10-01-1349054990.52-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 11:29:54.834+10 362632  
2012-10-01-1349054998.71-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 11:30:06.333+10 636652  
2012-10-01-1349055006.53-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 11:30:13.146+10 504120  
2012-10-01-1349055013.54-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 11:30:27.487+10 1170396  
2012-10-01-1349055029.7-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 11:30:35.772+10 509094  
2012-10-01-1349055038.66-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 11:30:44.688+10 502386  
2012-10-01-1349055044.85-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 11:30:47.238+10 198792  
2012-10-01-1349055048.48-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 11:30:52.7+10 335712  
2012-10-01-1349055209.56-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:33:32.286+10 223634  
2012-10-01-1349055212.63-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:33:37.318+10 393352  
2012-10-01-1349055217.73-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:33:43.564+10 487560  
2012-10-01-1349055223.76-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:33:48.122+10 363704  
2012-10-01-1349055228.28-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:33:53.983+10 469666  
2012-10-01-1349055345.9-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:35:49.471+10 294656  
2012-10-01-1349055399.92-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:36:43.261+10 279846  
2012-10-01-1349055422.28-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:37:05.117+10 235656  
2012-10-01-1349055448.11-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:37:30.987+10 239752  
2012-10-01-1349055452.58-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:37:48.238+10 1314952  
2012-10-01-1349055468.42-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:37:57.317+10 747640  
2012-10-01-1349055477.5-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:38:00.727+10 237402  
2012-10-01-1349055481.34-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:38:05.883+10 383092  
2012-10-01-1349055486.08-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:38:10.81+10 397232  
2012-10-01-1349055491.26-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:38:15.606+10 310856  
2012-10-01-1349055601.39-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:40:04.337+10 247196  
2012-10-01-1349055606.53-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:40:09.853+10 275554  
2012-10-01-1349055610.06-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:40:14.059+10 333960  
2012-10-01-1349055614.89-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:40:18.824+10 329864  
2012-10-01-1349055619.26-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:40:22.519+10 272520  
2012-10-01-1349055702.82-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:41:45.664+10 234078  
2012-10-01-1349055706.93-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:41:51.279+10 357196  
2012-10-01-1349055711.75-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:41:56.41+10 391304  
2012-10-01-1349055717.03-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:42:01.796+10 395852  
2012-10-01-1349055776.42-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:43:00.319+10 324158  
2012-10-01-1349055781.05-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:43:04.679+10 303240  
2012-10-01-1349055785.08-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:43:11.732+10 559236  
2012-10-01-1349055897.19-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-01 11:44:59.686+10 208760  
2012-10-01-1349055926.58-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-01 11:45:29.093+10 209506  
2012-10-01-1349055958.61-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-01 11:46:02.738+10 342430  
2012-10-01-1349056074.7-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 11:48:02.252+10 634454  
2012-10-01-1349056169.04-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:49:31.545+10 208840  
2012-10-01-1349056174.0-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:49:39.778+10 483904  
2012-10-01-1349056181.22-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:49:55.677+10 1214600  
2012-10-01-1349056195.95-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:49:59.847+10 323720  
2012-10-01-1349056200.05-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:50:16.066+10 1282630  
2012-10-01-1349056216.89-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:50:20.477+10 300148  
2012-10-01-1349056220.75-demo.wav 44028 CanberraBlackMnt 2012-10-01 11:50:26.508+10 483464  
2012-10-01-1349056227.26-demo.wav 44028 CanberraBlackMnt 2012-10-01 11:50:33.017+10 477320  
2012-10-01-1349056234.42-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:50:42.231+10 653480  
2012-10-01-1349056242.42-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:50:46.555+10 346248  
2012-10-01-1349056246.76-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:50:49.061+10 188552  
2012-10-01-1349056251.53-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:50:59.992+10 710792  
2012-10-01-1349056262.09-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:51:07.701+10 417782  
2012-10-01-1349056267.92-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:51:12.081+10 284970  
2012-10-01-1349056272.32-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 11:51:22.905+10 886918  
2012-10-01-1349056285.13-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 11:51:28.151+10 252040  
2012-10-01-1349056288.34-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 11:51:37.188+10 723324  
2012-10-01-1349056297.92-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 11:51:46.385+10 703478  
2012-10-01-1349056330.97-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:52:14.563+10 301192  
2012-10-01-1349056336.15-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:52:20.752+10 384366  
2012-10-01-1349056341.24-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:52:26.87+10 473224  
2012-10-01-1349056347.5-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:52:33.259+10 483464  
2012-10-01-1349056353.45-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:52:36.216+10 227464  
2012-10-01-1349056356.69-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 11:52:41.871+10 434312  
2012-10-01-1349056364.74-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:52:58.549+10 1157636  
2012-10-01-1349056379.44-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:53:06.141+10 557938  
2012-10-01-1349056386.53-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:53:17.059+10 878728  
2012-10-01-1349056397.52-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:53:30.17+10 1058952  
2012-10-01-1349056411.08-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:53:34.065+10 249992  
2012-10-01-1349056414.47-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:53:38.393+10 328230  
2012-10-01-1349056418.84-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:53:43.661+10 405640  
2012-10-01-1349056423.81-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:53:46.853+10 256136  
2012-10-01-1349056427.7-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:53:51.214+10 293000  
2012-10-01-1349056432.34-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:53:57.734+10 450682  
2012-10-01-1349056438.25-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:54:01.891+10 303874  
2012-10-01-1349056446.1-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:54:12.57+10 544122  
2012-10-01-1349056453.49-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:54:18.439+10 414004  
2012-10-01-1349056488.89-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:54:52.26+10 281516  
2012-10-01-1349056492.46-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:54:55.083+10 221320  
2012-10-01-1349056496.26-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:55:04.238+10 669832  
2012-10-01-1349056504.4-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:55:09.436+10 421880  
2012-10-01-1349056548.66-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:55:51.888+10 269972  
2012-10-01-1349056552.12-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:55:54.303+10 182408  
2012-10-01-1349056554.42-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:55:56.684+10 186504  
2012-10-01-1349056558.42-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:56:08.125+10 811088  
2012-10-01-1349056568.45-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:56:17.338+10 742338  
2012-10-01-1349056578.89-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:56:26.515+10 621072  
2012-10-01-1349056586.72-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:56:30.434+10 244848  
2012-10-01-1349056590.63-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 11:56:37.535+10 547922  
2012-10-01-1349056719.46-demo.wav 10019 ESO 10 CanberraMtAinsli 2012-10-01 11:58:41.99+10 211308  
2012-10-01-1349056723.48-demo.wav 10019 ESO 10 CanberraMtAinsli 2012-10-01 11:58:47.581+10 338908  
2012-10-01-1349056727.78-demo.wav 10019 ESO 10 CanberraMtAinsli 2012-10-01 11:58:55.307+10 632968  
2012-10-01-1349056735.47-demo.wav 10019 ESO 10 CanberraMtAinsli 2012-10-01 11:59:01.743+10 528446  
2012-10-01-1349056927.6-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:02:10.122+10 209538  
2012-10-01-1349056953.92-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:02:37.138+10 270472  
2012-10-01-1349056958.34-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:02:42.187+10 321672  
2012-10-01-1349056962.37-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:02:50.504+10 683642  
2012-10-01-1349056970.77-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:02:57.852+10 594056  
2012-10-01-1349056980.62-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:03:10.242+10 807326  
2012-10-01-1349056991.54-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:03:24.589+10 1092296  
2012-10-01-1349057004.88-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:03:27.331+10 202888  
2012-10-01-1349057007.53-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:03:36.695+10 767384  
2012-10-01-1349057016.85-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:03:42.449+10 467832  
2012-10-01-1349057022.65-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:03:47.183+10 322002  
2012-10-01-1349057027.44-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:03:51.102+10 249250  
2012-10-01-1349057129.77-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:05:33.833+10 342022  
2012-10-01-1349057191.67-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:06:35.015+10 279932  
2012-10-01-1349057197.04-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:06:40.342+10 276616  
2012-10-01-1349057200.93-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:06:49.331+10 706646  
2012-10-01-1349057209.53-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:06:55.566+10 449656  
2012-10-01-1349057215.82-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:07:02.772+10 540132  
2012-10-01-1349057224.78-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:07:13.035+10 632814  
2012-10-01-1349057233.73-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:07:19.12+10 417804  
2012-10-01-1349057239.77-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:07:26.428+10 554744  
2012-10-01-1349057247.23-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:07:31.176+10 327816  
2012-10-01-1349057253.84-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:07:52.238+10 1548424  
2012-10-01-1349057273.22-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:07:57.595+10 366728  
2012-10-01-1349057279.05-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:08:04.536+10 456028  
2012-10-01-1349057285.44-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:08:11.057+10 469368  
2012-10-01-1349057291.32-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:08:19.47+10 686216  
2012-10-01-1349057300.55-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:08:25.044+10 355930  
2012-10-01-1349057305.92-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:08:34.093+10 683950  
2012-10-01-1349057393.81-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:09:56.796+10 249268  
2012-10-01-1349057397.71-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:10:01.766+10 336564  
2012-10-01-1349057402.18-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:10:08.018+10 491656  
2012-10-01-1349057408.44-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:10:11.833+10 282756  
2012-10-01-1349057412.25-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:10:15.328+10 258184  
2012-10-01-1349057519.01-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:12:03.258+10 355496  
2012-10-01-1349057563.91-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:12:47.976+10 337224  
2012-10-01-1349057569.35-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:12:53.702+10 364680  
2012-10-01-1349057574.27-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:12:58.91+10 389256  
2012-10-01-1349057617.66-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 12:13:45.888+10 690422  
2012-10-01-1349057735.66-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:15:38.817+10 264430  
2012-10-01-1349057739.36-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:15:43.312+10 331912  
2012-10-01-1349057744.03-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:15:47.742+10 311432  
2012-10-01-1349057748.84-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:15:56.331+10 626564  
2012-10-01-1349058442.91-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:27:28.44+10 460274  
2012-10-01-1349058471.87-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:27:56.975+10 424072  
2012-10-01-1349058480.28-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:28:02.951+10 217224  
2012-10-01-1349058483.1-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:28:10.931+10 592714  
2012-10-01-1349058491.12-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:28:26.554+10 1238134  
2012-10-01-1349058506.74-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:28:45.484+10 1511528  
2012-10-01-1349058525.66-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:28:50.242+10 319848  
2012-10-01-1349058910.35-demo.wav 44028 CanberraBlackMnt 2012-10-01 12:35:13.462+10 259024  
2012-10-01-1349058915.75-demo.wav 44028 CanberraBlackMnt 2012-10-01 12:35:18.293+10 213128  
2012-10-01-1349058918.57-demo.wav 44028 CanberraBlackMnt 2012-10-01 12:35:24.596+10 505992  
2012-10-01-1349058924.8-demo.wav 44028 CanberraBlackMnt 2012-10-01 12:35:36.961+10 1011150  
2012-10-01-1349058937.16-demo.wav 44028 CanberraBlackMnt 2012-10-01 12:35:41.887+10 345386  
2012-10-01-1349058942.31-demo.wav 44028 CanberraBlackMnt 2012-10-01 12:35:49.549+10 545038  
2012-10-01-1349058951.68-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-01 12:36:11.527+10 1663284  
2012-10-01-1349059035.35-demo.wav 44028 CanberraBlackMnt 2012-10-01 12:37:18.789+10 280130  
2012-10-01-1349059039.23-demo.wav 44028 CanberraBlackMnt 2012-10-01 12:37:21.732+10 211080  
2012-10-01-1349059042.4-demo.wav 44028 CanberraBlackMnt 2012-10-01 12:37:31.473+10 764040  
2012-10-01-1349059052.2-demo.wav 44028 CanberraBlackMnt 2012-10-01 12:37:38.687+10 510406  
2012-10-01-1349059061.93-demo.wav 44028 CanberraBlackMnt 2012-10-01 12:37:49.132+10 544806  
2012-10-01-1349059069.39-demo.wav 44028 CanberraBlackMnt 2012-10-01 12:37:54.571+10 416704  
2012-10-01-1349059075.27-demo.wav 44028 CanberraBlackMnt 2012-10-01 12:37:58.81+10 227344  
2012-10-01-1349059079.63-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:38:07.653+10 666364  
2012-10-01-1349059087.86-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:38:13.071+10 438408  
2012-10-01-1349059093.49-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:38:17.796+10 362632  
2012-10-01-1349059098.01-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:38:22.114+10 344200  
2012-10-01-1349059102.48-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:38:41.655+10 1609864  
2012-10-01-1349059123.26-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:38:55.15+10 993728  
2012-10-01-1349059136.17-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:39:07.562+10 954216  
2012-10-01-1349059148.52-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:39:13.44+10 411624  
2012-10-01-1349059154.27-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:39:32.021+10 1481848  
2012-10-01-1349059172.21-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:39:36.932+10 348494  
2012-10-01-1349059177.28-demo.wav 44028 CanberraMtAinsli 2012-10-01 12:39:47.281+10 838788  
2012-10-01-1349059187.47-demo.wav 44028 CanberraMtAinsli 2012-10-01 12:40:02.46+10 1229664  
2012-10-01-1349059202.67-demo.wav 44028 CanberraMtAinsli 2012-10-01 12:40:12.186+10 765156  
2012-10-01-1349059212.64-demo.wav 44028 CanberraMtAinsli 2012-10-01 12:40:16.217+10 296754  
2012-10-01-1349059217.04-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:40:26.382+10 784520  
2012-10-01-1349059226.57-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:40:37.57+10 915472  
2012-10-01-1349059237.73-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:40:40.768+10 228468  
2012-10-01-1349059469.52-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:44:32.733+10 267698  
2012-10-01-1349059472.91-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:44:48.389+10 1266876  
2012-10-01-1349059572.74-demo.wav 10301 CanberraMtAinsli 2012-10-01 12:46:17.611+10 408684  
2012-10-01-1349059577.79-demo.wav 10301 CanberraMtAinsli 2012-10-01 12:46:20.476+10 225416  
2012-10-01-1349059580.94-demo.wav 10301 CanberraMtAinsli 2012-10-01 12:46:29.289+10 700524  
2012-10-01-1349059589.5-demo.wav 10301 CanberraMtAinsli 2012-10-01 12:46:36.056+10 553096  
2012-10-01-1349059596.86-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:46:55.554+10 1565640  
2012-10-01-1349059616.51-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:47:09.725+10 1107882  
2012-10-01-1349059630.87-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:47:14.827+10 327730  
2012-10-01-1349059635.04-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 12:47:21.535+10 544904  
2012-10-01-1349059757.9-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:49:20.413+10 209472  
2012-10-01-1349059764.11-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:49:35.689+10 966792  
2012-10-01-1349059776.77-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:49:39.803+10 254088  
2012-10-01-1349059780.8-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:49:45.25+10 374920  
2012-10-01-1349059787.33-demo.wav 10301 CanberraMtAinsli 2012-10-01 12:49:55.087+10 651400  
2012-10-01-1349059796.6-demo.wav 10301 CanberraMtAinsli 2012-10-01 12:49:59.374+10 233608  
2012-10-01-1349059800.23-demo.wav 10301 CanberraMtAinsli 2012-10-01 12:50:03.036+10 233608  
2012-10-01-1349059861.23-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:51:03.796+10 212596  
2012-10-01-1349059863.98-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:51:06.85+10 233608  
2012-10-01-1349059867.06-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:51:10.124+10 256136  
2012-10-01-1349059871.31-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:51:18.753+10 624776  
2012-10-01-1349059879.13-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:51:23.59+10 370824  
2012-10-01-1349059883.87-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:51:27.266+10 282760  
2012-10-01-1349060079.55-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:54:44.988+10 456822  
2012-10-01-1349060086.27-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:54:50.538+10 358536  
2012-10-01-1349060091.02-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:55:02.208+10 925116  
2012-10-01-1349060102.84-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:55:11.179+10 680672  
2012-10-01-1349060156.8-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:56:00.362+10 295874  
2012-10-01-1349060161.9-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:56:09.59+10 645256  
2012-10-01-1349060170.39-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:56:17.94+10 577360  
2012-10-01-1349060287.48-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:58:10.046+10 213172  
2012-10-01-1349060290.49-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:58:14.715+10 350344  
2012-10-01-1349060295.56-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:58:23.667+10 682120  
2012-10-01-1349060304.03-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 12:58:31.455+10 576678  
2012-10-01-1349060712.54-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-01 13:05:16.167+10 302064  
2012-10-01-1349060716.4-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-01 13:05:22.02+10 471176  
2012-10-01-1349060761.76-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:06:04.277+10 210468  
2012-10-01-1349060764.57-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:06:07.458+10 241800  
2012-10-01-1349060767.57-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:06:14.441+10 575624  
2012-10-01-1349060775.87-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:06:22.256+10 500334  
2012-10-01-1349060901.07-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-01 13:08:25.06+10 330604  
2012-10-01-1349060906.22-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-01 13:08:30.459+10 354440  
2012-10-01-1349060910.65-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-01 13:08:35.929+10 438408  
2012-10-01-1349061214.36-demo.wav 44028 CanberraMtAinsli 2012-10-01 13:13:36.915+10 209832  
2012-10-01-1349061486.79-demo.wav 44028 CanberraMtAinsli 2012-10-01 13:18:10.999+10 348712  
2012-10-01-1349061492.07-demo.wav 44028 CanberraMtAinsli 2012-10-01 13:18:24.803+10 1066686  
2012-10-01-1349061505.13-demo.wav 44028 CanberraMtAinsli 2012-10-01 13:18:35.153+10 839816  
2012-10-01-1349061515.36-demo.wav 44028 CanberraMtAinsli 2012-10-01 13:18:40.08+10 372472  
2012-10-01-1349061520.28-demo.wav 44028 CanberraMtAinsli 2012-10-01 13:18:43.855+10 268614  
2012-10-01-1349061524.73-demo.wav 44028 CanberraMtAinsli 2012-10-01 13:18:48.397+10 243142  
2012-10-01-1349061788.95-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:23:11.413+10 208810  
2012-10-01-1349061795.36-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:23:22.77+10 622728  
2012-10-01-1349061803.15-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:23:26.993+10 321672  
2012-10-01-1349061807.96-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:23:32.191+10 354440  
2012-10-01-1349061813.04-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:23:44.939+10 999962  
2012-10-01-1349061825.88-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:24:04.261+10 1542376  
2012-10-01-1349061845.26-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:24:10.356+10 420518  
2012-10-01-1349061853.0-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:24:16.466+10 293000  
2012-10-01-1349061857.83-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:24:21.521+10 311424  
2012-10-01-1349061863.27-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:24:27.087+10 314936  
2012-10-01-1349061867.25-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:24:30.175+10 196572  
2012-10-01-1349061916.88-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:25:22.553+10 473014  
2012-10-01-1349061923.59-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:25:26.311+10 227464  
2012-10-01-1349061928.05-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:25:40.914+10 1075404  
2012-10-01-1349061941.72-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:25:44.489+10 231560  
2012-10-01-1349061944.69-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:25:47.174+10 206984  
2012-10-01-1349061947.99-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:25:54.768+10 567432  
2012-10-01-1349061954.94-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:26:05.085+10 788552  
2012-10-01-1349061965.25-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:26:16.824+10 908658  
2012-10-01-1349061977.15-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:26:22.892+10 417858  
2012-10-01-1349061983.14-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:26:30.762+10 639728  
2012-10-01-1349061991.76-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:26:39.174+10 620680  
2012-10-01-1349061999.86-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:26:44.427+10 382156  
2012-10-01-1349062005.19-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:26:49.048+10 322902  
2012-10-01-1349062010.74-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:27:01.89+10 932322  
2012-10-01-1349062022.08-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:27:04.269+10 180360  
2012-10-01-1349062024.76-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:27:08.316+10 301180  
2012-10-01-1349062028.47-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:27:13.193+10 395348  
2012-10-01-1349062066.04-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:27:49.334+10 276058  
2012-10-01-1349062069.53-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:27:52.132+10 219272  
2012-10-01-1349062073.14-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:27:56.722+10 297096  
2012-10-01-1349062102.05-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 13:28:24.841+10 233608  
2012-10-01-1349062127.34-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:28:50.609+10 274568  
2012-10-01-1349062131.6-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:28:55.44+10 323720  
2012-10-01-1349062135.81-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:29:00.398+10 385160  
2012-10-01-1349062142.57-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 13:29:07.941+10 450696  
2012-10-01-1349062148.27-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 13:29:14.427+10 514184  
2012-10-01-1349062155.0-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 13:29:19.935+10 357152  
2012-10-01-1349062160.56-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 13:29:24.602+10 306618  
2012-10-01-1349062165.33-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:29:31.48+10 511594  
2012-10-01-1349062172.26-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:29:35.367+10 262280  
2012-10-01-1349062175.56-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:29:38.565+10 252040  
2012-10-01-1349062178.75-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:29:48.387+10 790672  
2012-10-01-1349062188.75-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:29:51.266+10 200344  
2012-10-01-1349062192.28-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:30:13.667+10 1793836  
2012-10-01-1349062215.19-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:30:20.576+10 452744  
2012-10-01-1349062220.94-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:30:41.195+10 1353040  
2012-10-01-1349062241.41-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:30:43.882+10 209032  
2012-10-01-1349062246.11-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:30:57.974+10 993590  
2012-10-01-1349062258.82-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:31:04.74+10 458766  
2012-10-01-1349062264.88-demo.wav 44028 CanberraBlackMnt 2012-10-01 13:31:09.458+10 359722  
2012-10-01-1349062333.26-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:32:15.977+10 226978  
2012-10-01-1349062336.33-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:32:18.807+10 206984  
2012-10-01-1349062339.53-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:32:23.996+10 370824  
2012-10-01-1349062344.19-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:32:32.641+10 676840  
2012-10-01-1349062353.46-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:32:38.844+10 438904  
2012-10-01-1349062454.05-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:34:19.103+10 398808  
2012-10-01-1349062459.33-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:34:30.492+10 931298  
2012-10-01-1349062470.92-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:34:37.113+10 465550  
2012-10-01-1349062689.17-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:38:11.726+10 213556  
2012-10-01-1349062691.92-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:38:15.453+10 297096  
2012-10-01-1349062695.91-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:38:22.305+10 538760  
2012-10-01-1349062703.48-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:38:44.134+10 1730798  
2012-10-01-1349062724.25-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:38:46.847+10 219272  
2012-10-01-1349062727.45-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:38:53.385+10 497800  
2012-10-01-1349062733.94-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:39:04.414+10 828452  
2012-10-01-1349062745.25-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:39:14.533+10 777180  
2012-10-01-1349062755.9-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:39:19.074+10 266376  
2012-10-01-1349062847.2-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:40:49.925+10 223282  
2012-10-01-1349062850.28-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:40:53.914+10 303240  
2012-10-01-1349062854.05-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:40:58.568+10 381064  
2012-10-01-1349062859.16-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:41:09.349+10 823346  
2012-10-01-1349062870.2-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:41:19.561+10 784060  
2012-10-01-1349062880.65-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:41:23.736+10 258184  
2012-10-01-1349062884.42-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:41:28.085+10 307336  
2012-10-01-1349062888.45-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:41:30.9+10 204936  
2012-10-01-1349062891.31-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:41:34.7+10 282760  
2012-10-01-1349062894.9-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:41:37.435+10 207504  
2012-10-01-1349062897.94-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:41:42.265+10 308322  
2012-10-01-1349062902.49-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:41:45.956+10 229536  
2012-10-01-1349062906.13-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:41:51.954+10 458114  
2012-10-01-1349062964.42-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:42:47.826+10 287248  
2012-10-01-1349062967.97-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:42:50.45+10 206984  
2012-10-01-1349062971.27-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:42:59.016+10 645256  
2012-10-01-1349062979.31-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:43:13.715+10 1208456  
2012-10-01-1349062994.84-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:43:19.361+10 379016  
2012-10-01-1349062999.57-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:43:27.752+10 685220  
2012-10-01-1349063008.96-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:43:36.399+10 620744  
2012-10-01-1349063016.7-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:43:41.108+10 370824  
2012-10-01-1349063100.99-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:45:07.572+10 550632  
2012-10-01-1349063107.86-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:45:10.799+10 241800  
2012-10-01-1349063111.06-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:45:26.617+10 1294862  
2012-10-01-1349063127.52-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:45:34.598+10 591890  
2012-10-01-1349063135.95-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:45:39.906+10 333606  
2012-10-01-1349063140.22-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:45:44.381+10 350344  
2012-10-01-1349063144.57-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:45:47.468+10 209104  
2012-10-01-1349063147.77-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:45:51.238+10 226848  
2012-10-01-1349063152.15-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:46:08.048+10 1333268  
2012-10-01-1349063168.21-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:46:11.016+10 237704  
2012-10-01-1349063171.28-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:46:14.7+10 287538  
2012-10-01-1349063175.15-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:46:22.678+10 622728  
2012-10-01-1349063183.48-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:46:25.999+10 211080  
2012-10-01-1349063186.2-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:46:29.581+10 284808  
2012-10-01-1349063190.22-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:46:45.175+10 1255560  
2012-10-01-1349063205.32-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:46:54.666+10 784518  
2012-10-01-1349063215.01-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:47:03.216+10 672630  
2012-10-01-1349063341.62-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:49:06.342+10 397230  
2012-10-01-1349063346.7-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:49:11.347+10 389256  
2012-10-01-1349063351.89-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:49:17.538+10 475272  
2012-10-01-1349063358.02-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:49:23.057+10 359558  
2012-10-01-1349063363.9-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:49:29.869+10 497442  
2012-10-01-1349063370.52-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:49:38.241+10 633692  
2012-10-01-1349063378.38-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:49:41.534+10 202964  
2012-10-01-1349063381.83-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 13:49:55.497+10 1149064  
2012-10-01-1349063397.07-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:50:02.542+10 459456  
2012-10-01-1349063402.92-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:50:08.109+10 436360  
2012-10-01-1349063409.12-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:50:14.193+10 424072  
2012-10-01-1349063416.31-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:50:20.233+10 327816  
2012-10-01-1349063420.95-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:50:33.282+10 1032328  
2012-10-01-1349063433.45-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:50:36.112+10 223368  
2012-10-01-1349063436.77-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:50:45.511+10 728834  
2012-10-01-1349063446.01-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:50:54.542+10 687870  
2012-10-01-1349063623.36-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 13:53:49.668+10 526824  
2012-10-01-1349063630.1-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:53:57.102+10 585864  
2012-10-01-1349063637.28-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:53:59.894+10 221320  
2012-10-01-1349063640.09-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:54:11.569+10 915490  
2012-10-01-1349063651.72-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:54:19.485+10 591602  
2012-10-01-1349063660.27-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:54:32.385+10 1016228  
2012-10-01-1349063672.63-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:54:35.078+10 204936  
2012-10-01-1349063675.88-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:54:42.363+10 544904  
2012-10-01-1349063683.04-demo.wav 10123 GOULB1 CanberraMtAinsli 2012-10-01 13:54:48.977+10 497762  
2012-10-01-1349063779.65-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 13:56:23.183+10 294676  
2012-10-01-1349063784.16-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 13:56:30.216+10 506402  
2012-10-01-1349063790.43-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 13:56:34.973+10 383112  
2012-10-01-1349063796.69-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 13:56:41.146+10 374920  
2012-10-01-1349063802.49-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 13:56:47.311+10 370274  
2012-10-01-1349063807.97-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 13:56:53.211+10 435508  
2012-10-01-1349063816.88-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 13:56:59.96+10 256136  
2012-10-01-1349064151.97-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:02:35.531+10 298506  
2012-10-01-1349064156.72-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:02:40.618+10 324392  
2012-10-01-1349064161.0-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:02:47.398+10 534664  
2012-10-01-1349064167.98-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:03:09.984+10 1831908  
2012-10-01-1349064190.13-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:03:20.651+10 820074  
2012-10-01-1349064274.49-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:04:37.477+10 248332  
2012-10-01-1349064278.75-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 14:04:44.554+10 484490  
2012-10-01-1349064284.68-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 14:04:48.824+10 344200  
2012-10-01-1349064289.69-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 14:04:53.287+10 301192  
2012-10-01-1349064293.82-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 14:04:57.469+10 307024  
2012-10-01-1349064299.38-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 14:05:03.062+10 274952  
2012-10-01-1349064303.22-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 14:05:07.86+10 325596  
2012-10-01-1349064452.76-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:07:36.715+10 330622  
2012-10-01-1349064496.9-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:08:20.111+10 267388  
2012-10-01-1349064501.1-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:08:28.732+10 641160  
2012-10-01-1349064509.04-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:08:34.236+10 436268  
2012-10-01-1349064514.46-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:08:38.218+10 282788  
2012-10-01-1349064518.49-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:09:03.411+10 2032046  
2012-10-01-1349064543.68-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:09:06.211+10 191586  
2012-10-01-1349064969.22-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 14:16:12.476+10 272110  
2012-10-01-1349064974.22-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:16:19.03+10 403592  
2012-10-01-1349064979.22-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:16:22.268+10 252040  
2012-10-01-1349064982.65-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:16:25.674+10 252040  
2012-10-01-1349064986.26-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:16:46.447+10 1693832  
2012-10-01-1349065008.69-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:17:03.234+10 1222792  
2012-10-01-1349065024.02-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:17:07.612+10 299144  
2012-10-01-1349065027.96-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:17:12.005+10 338056  
2012-10-01-1349065360.81-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:22:46.265+10 455862  
2012-10-01-1349065367.17-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:22:49.688+10 213102  
2012-10-01-1349065369.95-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:23:07.124+10 1438484  
2012-10-01-1349065387.33-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:23:24.958+10 1412854  
2012-10-01-1349065405.16-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:23:28.366+10 233950  
2012-10-01-1349065999.04-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:33:21.883+10 240692  
2012-10-01-1349066003.42-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:33:27.033+10 305288  
2012-10-01-1349066007.51-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:33:31.32+10 321672  
2012-10-01-1349066011.41-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:33:34.295+10 245870  
2012-10-01-1349066015.28-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:33:40.756+10 450654  
2012-10-01-1349066021.23-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:33:44.435+10 270088  
2012-10-01-1349066024.56-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:33:47.043+10 191038  
2012-10-01-1349066028.0-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:33:56.273+10 663414  
2012-10-01-1349066036.47-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:34:02.303+10 439306  
2012-10-01-1349066042.39-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:34:10.733+10 696308  
2012-10-01-1349066051.94-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:34:20.49+10 703598  
2012-10-01-1349066061.53-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:34:32.519+10 916812  
2012-10-01-1349066073.18-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:34:43.428+10 842782  
2012-10-01-1349066084.46-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:34:48.85+10 370800  
2012-10-01-1349066276.25-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:37:59.103+10 240024  
2012-10-01-1349066279.91-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:38:02.557+10 225416  
2012-10-01-1349066282.64-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:38:14.411+10 987184  
2012-10-01-1349066294.5-demo.wav 44028 CanberraMtAinsli 2012-10-01 14:38:19.369+10 411546  
2012-10-01-1349066467.41-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 14:41:11.577+10 350040  
2012-10-01-1349066472.52-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 14:41:17.752+10 440456  
2012-10-01-1349066478.77-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 14:41:23.318+10 383112  
2012-10-01-1349066483.4-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 14:41:30.556+10 600152  
2012-10-01-1349066490.66-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 14:41:34.01+10 282682  
2012-10-01-1349066495.58-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 14:41:40.68+10 386096  
2012-10-01-1349066654.0-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:44:17.276+10 276468  
2012-10-01-1349066658.94-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:44:23.579+10 388518  
2012-10-01-1349066663.66-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:44:26.219+10 217196  
2012-10-01-1349066666.3-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:44:29.466+10 266350  
2012-10-01-1349066670.96-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:44:41.175+10 839330  
2012-10-01-1349066681.33-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:44:44.502+10 268052  
2012-10-01-1349066684.59-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:44:47.509+10 241804  
2012-10-01-1349066687.81-demo.wav 44028 CanberraBlackMnt 2012-10-01 14:44:50.628+10 234188  
2012-10-01-1349067069.83-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:51:12.316+10 209738  
2012-10-01-1349067389.37-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:56:32.859+10 294758  
2012-10-01-1349067394.52-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:56:48.98+10 1210672  
2012-10-01-1349067410.73-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 14:56:54.882+10 350344  
2012-10-01-1349067955.96-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:05:58.427+10 208376  
2012-10-01-1349067960.11-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:06:03.721+10 305288  
2012-10-01-1349067964.33-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:06:11.796+10 626824  
2012-10-01-1349067973.4-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:06:18.528+10 432264  
2012-10-01-1349067980.29-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:06:30.212+10 818630  
2012-10-01-1349067990.87-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:06:34.875+10 338000  
2012-10-01-1349068029.13-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:07:15.387+10 525352  
2012-10-01-1349068035.86-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:07:19.423+10 301192  
2012-10-01-1349068039.52-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:07:22.892+10 284808  
2012-10-01-1349068081.97-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:08:04.46+10 209752  
2012-10-01-1349068084.54-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:08:08.097+10 301192  
2012-10-01-1349068093.08-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:08:16.011+10 247942  
2012-10-01-1349068096.46-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:08:20.905+10 374618  
2012-10-01-1349068100.98-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:08:27.186+10 484838  
2012-10-01-1349068107.27-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:08:35.599+10 657172  
2012-10-01-1349068115.68-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:08:44.051+10 638426  
2012-10-01-1349068124.13-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:08:53.24+10 699688  
2012-10-01-1349068133.34-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:09:08.914+10 1302896  
2012-10-01-1349068151.36-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:09:14.576+10 272520  
2012-10-01-1349068154.72-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:09:21.655+10 576696  
2012-10-01-1349068162.54-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:09:27.541+10 420460  
2012-10-01-1349068167.62-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:09:30.276+10 225416  
2012-10-01-1349068170.35-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:09:35.768+10 456192  
2012-10-01-1349068175.96-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:09:40.111+10 298688  
2012-10-01-1349068180.65-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:09:48.867+10 690146  
2012-10-01-1349068188.95-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:09:52.736+10 319624  
2012-10-01-1349068192.81-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:10:00.713+10 658210  
2012-10-01-1349068200.98-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:10:21.008+10 1644990  
2012-10-01-1349068221.18-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:10:31.093+10 776646  
2012-10-01-1349068231.21-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:10:37.018+10 428414  
2012-10-01-1349068237.25-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:10:46.78+10 750052  
2012-10-01-1349068377.89-demo.wav 44028 CanberraMtAinsli 2012-10-01 15:13:02.311+10 369212  
2012-10-01-1349068383.56-demo.wav 44028 CanberraMtAinsli 2012-10-01 15:13:08.036+10 373368  
2012-10-01-1349068388.19-demo.wav 44028 CanberraMtAinsli 2012-10-01 15:13:14.115+10 495752  
2012-10-01-1349068395.96-demo.wav 44028 CanberraMtAinsli 2012-10-01 15:13:22.306+10 475724  
2012-10-01-1349068402.56-demo.wav 44028 CanberraMtAinsli 2012-10-01 15:13:28+10 413134  
2012-10-01-1349068408.16-demo.wav 44028 CanberraMtAinsli 2012-10-01 15:13:31.31+10 193464  
2012-10-01-1349068411.95-demo.wav 44028 CanberraMtAinsli 2012-10-01 15:13:35.022+10 243046  
2012-10-01-1349068454.62-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:14:19.28+10 388036  
2012-10-01-1349068460.79-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:14:25.21+10 370824  
2012-10-01-1349068466.42-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:14:30.638+10 352392  
2012-10-01-1349068470.79-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:14:34.169+10 282760  
2012-10-01-1349068474.73-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:14:40.914+10 517006  
2012-10-01-1349068579.67-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:16:26.207+10 548838  
2012-10-01-1349068586.56-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:16:32.826+10 526472  
2012-10-01-1349068593.18-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:16:41.272+10 680072  
2012-10-01-1349068601.9-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:16:45.716+10 282874  
2012-10-01-1349068608.16-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:16:52.276+10 344286  
2012-10-01-1349068612.56-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:16:55.239+10 223368  
2012-10-01-1349068615.5-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:16:58.117+10 221224  
2012-10-01-1349068618.34-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:17:04.53+10 464384  
2012-10-01-1349068624.68-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:17:10.463+10 428170  
2012-10-01-1349068630.73-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:17:14.046+10 215934  
2012-10-01-1349068634.3-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:17:27.941+10 1082870  
2012-10-01-1349068648.15-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:17:35.744+10 566894  
2012-10-01-1349068901.2-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 15:21:43.699+10 208194  
2012-10-01-1349069041.42-demo.wav 10301 CanberraMtAinsli 2012-10-01 15:24:03.915+10 208952  
2012-10-01-1349069153.1-demo.wav 44028 CanberraBlackMnt 2012-10-01 15:25:56.54+10 287980  
2012-10-01-1349069159.02-demo.wav 44028 CanberraBlackMnt 2012-10-01 15:26:03.115+10 346248  
2012-10-01-1349069163.48-demo.wav 44028 CanberraBlackMnt 2012-10-01 15:26:08.425+10 411784  
2012-10-01-1349069168.62-demo.wav 44028 CanberraBlackMnt 2012-10-01 15:26:13.4+10 397400  
2012-10-01-1349069173.6-demo.wav 44028 CanberraBlackMnt 2012-10-01 15:26:16.6+10 235838  
2012-10-01-1349069176.83-demo.wav 44028 CanberraBlackMnt 2012-10-01 15:26:20.678+10 270794  
2012-10-01-1349069298.2-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:28:22.788+10 383772  
2012-10-01-1349069304.89-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:28:34.992+10 850056  
2012-10-01-1349069316.01-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:28:39.706+10 307620  
2012-10-01-1349069319.98-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:28:42.614+10 219272  
2012-10-01-1349069325.03-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:29:02.486+10 1460140  
2012-10-01-1349069343.67-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:29:21.392+10 1331626  
2012-10-01-1349069361.6-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:29:24.053+10 209032  
2012-10-01-1349069386.97-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:29:50.245+10 274568  
2012-10-01-1349069392.98-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:29:56.281+10 270472  
2012-10-01-1349069397.43-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:30:00.371+10 241800  
2012-10-01-1349069400.74-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:30:14.247+10 1131450  
2012-10-01-1349069414.49-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:30:18.227+10 300216  
2012-10-01-1349069418.43-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:30:27.375+10 694654  
2012-10-01-1349069427.53-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:30:35.73+10 682708  
2012-10-01-1349069435.99-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:30:41.26+10 386284  
2012-10-01-1349069441.51-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:30:48.057+10 527788  
2012-10-01-1349069449.58-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:30:55.237+10 433642  
2012-10-01-1349069455.8-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:31:06.707+10 916184  
2012-10-01-1349069468.09-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:31:12.423+10 353428  
2012-10-01-1349069474.2-demo.wav 10301 CanberraMtAinsli 2012-10-01 15:31:33.921+10 1656908  
2012-10-01-1349069494.81-demo.wav 10301 CanberraMtAinsli 2012-10-01 15:31:39.6+10 401440  
2012-10-01-1349069499.97-demo.wav 10301 CanberraMtAinsli 2012-10-01 15:31:43.918+10 331912  
2012-10-01-1349069504.17-demo.wav 10301 CanberraMtAinsli 2012-10-01 15:31:47.038+10 224242  
2012-10-01-1349069507.23-demo.wav 10301 CanberraMtAinsli 2012-10-01 15:31:50.206+10 199510  
2012-10-01-1349069672.15-demo.wav 10301 CanberraMtAinsli 2012-10-01 15:34:34.64+10 207788  
2012-10-01-1349069770.74-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:36:14.861+10 345252  
2012-10-01-1349069776.53-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:36:19.891+10 280712  
2012-10-01-1349069780.14-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:36:24.449+10 362632  
2012-10-01-1349069785.44-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:36:32.713+10 577544  
2012-10-01-1349069792.96-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:36:40.021+10 529092  
2012-10-01-1349069800.3-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:36:49.827+10 778648  
2012-10-01-1349069810.42-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:36:59.993+10 802432  
2012-10-01-1349069821.54-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 15:37:10.334+10 736672  
2012-10-01-1349069833.5-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:37:20.612+10 594960  
2012-10-01-1349069841.01-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:37:28+10 585864  
2012-10-01-1349069851.52-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:37:36.789+10 401826  
2012-10-01-1349069857.34-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:37:50.747+10 1108302  
2012-10-01-1349069872.05-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:37:57.089+10 422014  
2012-10-01-1349069879.1-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:38:06.931+10 650378  
2012-10-01-1349069887.2-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:38:14.479+10 590802  
2012-10-01-1349069895.15-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:38:20.548+10 451822  
2012-10-01-1349069900.67-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:38:25.902+10 395212  
2012-10-01-1349069906.11-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:38:32.36+10 519292  
2012-10-01-1349069912.64-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:38:39.747+10 577458  
2012-10-01-1349069920.5-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:38:54.01+10 1136502  
2012-10-01-1349069935.32-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:38:59.522+10 352392  
2012-10-01-1349069940.3-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:39:10.619+10 859786  
2012-10-01-1349069950.79-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:39:27.74+10 1384776  
2012-10-01-1349069967.93-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:39:37.567+10 748056  
2012-10-01-1349069977.83-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:39:43.773+10 454596  
2012-10-01-1349070748.71-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:52:32.025+10 277572  
2012-10-01-1349070753.52-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:52:40.783+10 608182  
2012-10-01-1349070761.02-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:52:43.655+10 221320  
2012-10-01-1349070764.92-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:52:56.035+10 930620  
2012-10-01-1349070776.47-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:53:01.191+10 395390  
2012-10-01-1349070784.23-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:53:07.669+10 243130  
2012-10-01-1349070855.39-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:54:17.901+10 208494  
2012-10-01-1349070889.95-demo.wav 10301 CanberraMtAinsli 2012-10-01 15:54:54.849+10 411566  
2012-10-01-1349070895.03-demo.wav 10301 CanberraMtAinsli 2012-10-01 15:54:58.176+10 262280  
2012-10-01-1349071175.51-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 15:59:39.537+10 333338  
2012-10-01-1349071181.34-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:59:47.724+10 536712  
2012-10-01-1349071188.2-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 15:59:55.713+10 630920  
2012-10-01-1349071196.74-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 16:00:00.831+10 295630  
2012-10-01-1349071201.45-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 16:00:06.021+10 385076  
2012-10-01-1349071426.16-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:03:48.79+10 220090  
2012-10-01-1349071431.81-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:04:00.052+10 692360  
2012-10-01-1349071440.28-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:04:08.272+10 669832  
2012-10-01-1349071448.44-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:04:12.433+10 336008  
2012-10-01-1349071452.67-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:04:21.534+10 696750  
2012-10-01-1349071461.79-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:04:29.356+10 580078  
2012-10-01-1349071469.61-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:04:43.368+10 1097000  
2012-10-01-1349071483.59-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:04:46.776+10 245752  
2012-10-01-1349071487.0-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:04:59.059+10 941946  
2012-10-01-1349071500.73-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:05:05.522+10 396524  
2012-10-01-1349071506.22-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:05:08.993+10 229512  
2012-10-01-1349071509.23-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:05:19.71+10 868360  
2012-10-01-1349071519.97-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:05:28.028+10 655584  
2012-10-01-1349071528.29-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:05:36.762+10 652372  
2012-10-01-1349071537.58-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:05:42.92+10 441816  
2012-10-01-1349071543.19-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:05:46.966+10 317554  
2012-10-01-1349071549.65-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:05:59.938+10 856254  
2012-10-01-1349071560.17-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:06:05.633+10 398242  
2012-10-01-1349072088.19-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:14:52.183+10 335894  
2012-10-01-1349072093.16-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:14:59.54+10 534640  
2012-10-01-1349072101.17-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:15:08.843+10 643208  
2012-10-01-1349072109.1-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:15:14.409+10 446344  
2012-10-01-1349072114.89-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:15:23.11+10 667046  
2012-10-01-1349072123.3-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:15:31.074+10 600614  
2012-10-01-1349072131.25-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:15:37.708+10 484090  
2012-10-01-1349072247.61-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:17:31.451+10 322546  
2012-10-01-1349072252.45-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:17:35.116+10 223340  
2012-10-01-1349072255.56-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:17:45.88+10 865604  
2012-10-01-1349072266.14-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:17:50.551+10 327958  
2012-10-01-1349072273.02-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:18:04.515+10 909976  
2012-10-01-1349072284.84-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:18:11.361+10 545702  
2012-10-01-1349072292.33-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:18:16.927+10 385060  
2012-10-01-1349072297.1-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:18:20.335+10 270472  
2012-10-01-1349072301.08-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:18:29.901+10 743560  
2012-10-01-1349072310.08-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:18:39.529+10 772432  
2012-10-01-1349072320.13-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:18:46.823+10 562394  
2012-10-01-1349072424.9-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:20:28.652+10 312780  
2012-10-01-1349072430.0-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:20:33.866+10 323720  
2012-10-01-1349072434.88-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:20:42.31+10 622704  
2012-10-01-1349072442.55-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:20:45.398+10 237704  
2012-10-01-1349072445.6-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:20:49.638+10 336008  
2012-10-01-1349072450.11-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:20:52.485+10 198702  
2012-10-01-1349072452.69-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:21:17.806+10 2062712  
2012-10-01-1349072478.0-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:21:28.794+10 839208  
2012-10-01-1349072488.94-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:21:35.448+10 485880  
2012-10-01-1349072495.66-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:21:39.944+10 334984  
2012-10-01-1349072501.53-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:21:58.515+10 1423888  
2012-10-01-1349072518.67-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:22:08.159+10 796786  
2012-10-01-1349072530.13-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:22:14.59+10 372872  
2012-10-01-1349072535.35-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:22:18.142+10 235460  
2012-10-01-1349072613.61-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:23:36.071+10 208850  
2012-10-01-1349072664.74-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:24:27.961+10 271590  
2012-10-01-1349072669.07-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:24:34.312+10 438480  
2012-10-01-1349072674.44-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:24:38.263+10 323720  
2012-10-01-1349072678.63-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:24:41.014+10 200840  
2012-10-01-1349072681.21-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:25:19.403+10 3132642  
2012-10-01-1349072719.67-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:25:22.41+10 181760  
2012-10-01-1349072722.67-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:25:41.573+10 1521916  
2012-10-01-1349072741.83-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:25:44.645+10 201424  
2012-10-01-1349072744.8-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:25:55.233+10 817118  
2012-10-01-1349072755.99-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:26:11.34+10 1288844  
2012-10-01-1349072771.53-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:26:19.211+10 638562  
2012-10-01-1349072780.63-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:26:38.63+10 1449838  
2012-10-01-1349072798.8-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:26:43.556+10 351108  
2012-10-01-1349072804.11-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:26:51.986+10 658940  
2012-10-01-1349072812.36-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:26:54.802+10 203670  
2012-10-01-1349072815.49-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:27:01.413+10 497798  
2012-10-01-1349072822.75-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:27:08.543+10 485512  
2012-10-01-1349072828.71-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:27:11.605+10 218616  
2012-10-01-1349072832.21-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:27:16.507+10 323306  
2012-10-01-1349072889.36-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:28:12.523+10 264612  
2012-10-01-1349072892.78-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:28:15.658+10 241800  
2012-10-01-1349072896.04-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:28:25.175+10 766088  
2012-10-01-1349072905.38-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:28:35.364+10 837768  
2012-10-01-1349072946.48-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:29:10.714+10 354374  
2012-10-01-1349072951.64-demo.wav 10301 CanberraMtAinsli 2012-10-01 16:29:15.033+10 282760  
2012-10-01-1349072956.23-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:29:31.489+10 1277822  
2012-10-01-1349073044.14-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:30:47.226+10 259450  
2012-10-01-1349073047.45-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:30:49.994+10 213128  
2012-10-01-1349073050.11-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:30:58.936+10 743560  
2012-10-01-1349073059.11-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:31:09.397+10 826768  
2012-10-01-1349073072.03-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:31:20.642+10 687708  
2012-10-01-1349073081.08-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:31:24+10 199298  
2012-10-01-1349073084.63-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:31:39.245+10 1224950  
2012-10-01-1349073100.55-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:31:44.107+10 299144  
2012-10-01-1349073104.26-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:31:53.913+10 813136  
2012-10-01-1349073114.44-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:32:01.894+10 621110  
2012-10-01-1349073122.02-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:32:06.565+10 318672  
2012-10-01-1349073126.7-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:32:11.123+10 323834  
2012-10-01-1349073476.87-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:37:59.347+10 208508  
2012-10-01-1349073481.12-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:38:08.257+10 600200  
2012-10-01-1349073488.48-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:38:14.382+10 487522  
2012-10-01-1349073494.58-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:38:19.519+10 413820  
2012-10-01-1349073499.71-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:38:23.117+10 274130  
2012-10-01-1349073503.38-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:38:31.162+10 643512  
2012-10-01-1349073511.42-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:38:41.768+10 843194  
2012-10-01-1349073521.95-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:38:50.614+10 684664  
2012-10-01-1349073530.88-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:39:01.826+10 878878  
2012-10-01-1349073542.1-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:39:09.665+10 617266  
2012-10-01-1349073550.87-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:39:21.117+10 798766  
2012-10-01-1349073561.38-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:39:24.684+10 249548  
2012-10-01-1349073564.82-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:39:31.674+10 510450  
2012-10-01-1349073571.9-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:39:37.896+10 450908  
2012-10-01-1349073855.95-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:44:21.002+10 422872  
2012-10-01-1349073862.03-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:44:26.281+10 356488  
2012-10-01-1349073866.57-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:44:43.253+10 1337302  
2012-10-01-1349073883.49-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:44:48.451+10 373622  
2012-10-01-1349073888.7-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:44:52.05+10 216418  
2012-10-01-1349073892.3-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:45:14.155+10 1824770  
2012-10-01-1349073914.36-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:45:40.309+10 2114228  
2012-10-01-1349073940.56-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:45:44.675+10 331526  
2012-10-01-1349073944.81-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:45:47.746+10 183824  
2012-10-01-1349073947.9-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:45:51.81+10 265356  
2012-10-01-1349073951.99-demo.wav 44028 CanberraMtAinsli 2012-10-01 16:45:57.456+10 396920  
2012-10-01-1349074076.12-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:47:58.622+10 210794  
2012-10-01-1349074080.26-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:48:13.562+10 1112200  
2012-10-01-1349074093.86-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:48:20.344+10 542856  
2012-10-01-1349074100.59-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:48:24.455+10 303520  
2012-10-01-1349074104.71-demo.wav 44028 CanberraBlackMnt 2012-10-01 16:48:30.422+10 416844  
2012-10-01-1349074644.64-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:57:31.831+10 604194  
2012-10-01-1349074694.17-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 16:58:20.975+10 570280  
2012-10-01-1349074701.95-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 16:58:30.364+10 702888  
2012-10-01-1349074710.58-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 16:58:43.571+10 1037094  
2012-10-01-1349074723.73-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 16:58:56.823+10 1037490  
2012-10-01-1349074737.13-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 16:59:17.233+10 1630004  
2012-10-01-1349074757.49-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 16:59:20.472+10 184482  
2012-10-01-1349075309.02-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 17:08:33.19+10 351220  
2012-10-01-1349075313.46-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 17:08:36.992+10 297096  
2012-10-01-1349075317.27-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 17:08:53.218+10 1277604  
2012-10-01-1349075333.48-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 17:09:12.523+10 1543156  
2012-10-01-1349075352.77-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 17:09:26.318+10 1081412  
2012-10-01-1349075366.47-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 17:09:33.41+10 520122  
2012-10-01-1349075589.46-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-01 17:13:13.056+10 300178  
2012-10-01-1349075593.31-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-01 17:13:17.006+10 309384  
2012-10-01-1349075864.02-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-01 17:17:49.695+10 473702  
2012-10-01-1349075869.91-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-01 17:17:55.901+10 497800  
2012-10-01-1349078506.84-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 18:01:52.925+10 510088  
2012-10-01-1349078513.38-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 18:01:56.78+10 286856  
2012-10-01-1349078518.1-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 18:02:05.428+10 611342  
2012-10-01-1349078526.62-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 18:02:10.687+10 339750  
2012-10-01-1349078531.31-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 18:02:14.877+10 295048  
2012-10-01-1349078535.37-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 18:02:17.995+10 221256  
2012-10-01-1349078538.39-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 18:02:26.916+10 679076  
2012-10-01-1349078547.06-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 18:02:36.617+10 741308  
2012-10-01-1349078556.81-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 18:02:45.014+10 625236  
2012-10-01-1349078565.3-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-01 18:02:51.314+10 441204  
2012-10-01-1349079229.09-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 18:13:57.063+10 668306  
2012-10-01-1349079385.99-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 18:16:29.179+10 267492  
2012-10-01-1349079389.9-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 18:16:33.035+10 260232  
2012-10-01-1349079393.22-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 18:16:43.471+10 802234  
2012-10-01-1349079403.78-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-01 18:16:51.646+10 595020  
2012-10-01-1349079980.36-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 18:26:22.848+10 209174  
2012-10-01-1349080027.94-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 18:27:10.458+10 208146  
2012-10-01-1349080418.08-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:33:41.616+10 296550  
2012-10-01-1349080422.82-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:33:53.849+10 920506  
2012-10-01-1349080434.17-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:34:21.629+10 2249698  
2012-10-01-1349080461.86-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:34:26.468+10 339968  
2012-10-01-1349080466.69-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:34:32.059+10 386706  
2012-10-01-1349080472.23-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:34:35.174+10 227228  
2012-10-01-1349080475.43-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:34:39.422+10 301370  
2012-10-01-1349080479.65-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:34:48.224+10 656006  
2012-10-01-1349080830.54-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:40:34.219+10 309048  
2012-10-01-1349080834.45-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:40:40.761+10 530568  
2012-10-01-1349080841.9-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:40:49.326+10 616834  
2012-10-01-1349080876.42-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:41:19.057+10 222326  
2012-10-01-1349080879.28-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:41:40.365+10 1759352  
2012-10-01-1349081159.01-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:46:01.591+10 218870  
2012-10-01-1349081161.69-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:46:04.512+10 239728  
2012-10-01-1349081164.61-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:46:10.355+10 483436  
2012-10-01-1349081170.59-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:46:17.107+10 548988  
2012-10-01-1349081177.2-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:46:19.98+10 235102  
2012-10-01-1349081180.08-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:46:22.246+10 182458  
2012-10-01-1349081182.34-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:46:30.531+10 623040  
2012-10-01-1349081190.93-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:46:35.016+10 321014  
2012-10-01-1349081195.99-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:46:41.879+10 452436  
2012-10-01-1349081201.98-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:46:45.871+10 264410  
2012-10-01-1349081206.18-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:46:53.692+10 624082  
2012-10-01-1349081793.98-demo.wav 40067 CanberraBlackMnt 2012-10-01 18:56:36.471+10 209346  
2012-10-01-1349081910.49-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:58:34.523+10 338934  
2012-10-01-1349081915.26-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:58:38.577+10 280712  
2012-10-01-1349081918.67-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:58:42.011+10 282726  
2012-10-01-1349081922.26-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:58:44.868+10 221320  
2012-10-01-1349081924.96-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:58:50.359+10 454048  
2012-10-01-1349081930.47-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:58:53.568+10 253008  
2012-10-01-1349081933.65-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:59:17.913+10 1954976  
2012-10-01-1349081958.07-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:59:23.437+10 432182  
2012-10-01-1349081963.52-demo.wav 44028 CanberraBlackMnt 2012-10-01 18:59:30.716+10 536282  
2012-10-01-1349082633.19-demo.wav 44028 CanberraBlackMnt 2012-10-01 19:10:35.649+10 208430  
2012-10-01-1349082639.5-demo.wav 44028 CanberraBlackMnt 2012-10-01 19:10:43.551+10 342152  
2012-10-01-1349082643.64-demo.wav 44028 CanberraBlackMnt 2012-10-01 19:10:46.361+10 231560  
2012-10-01-1349082646.44-demo.wav 44028 CanberraBlackMnt 2012-10-01 19:10:56.003+10 802896  
2012-10-01-1349082656.09-demo.wav 44028 CanberraBlackMnt 2012-10-01 19:10:59.579+10 294256  
2012-10-01-1349082659.67-demo.wav 44028 CanberraBlackMnt 2012-10-01 19:11:06.554+10 553266  
2012-10-01-1349082666.64-demo.wav 44028 CanberraBlackMnt 2012-10-01 19:11:32.544+10 2099254  
2012-10-01-1349082692.63-demo.wav 44028 CanberraBlackMnt 2012-10-01 19:11:44.133+10 962590  
2012-10-01-1349082704.22-demo.wav 44028 CanberraBlackMnt 2012-10-01 19:11:54.925+10 842024  
2012-10-01-1349082715.02-demo.wav 44028 CanberraBlackMnt 2012-10-01 19:12:00.767+10 449722  
2012-10-01-1349082720.85-demo.wav 44028 CanberraBlackMnt 2012-10-01 19:12:10.745+10 734004  
2012-10-01-1349082959.72-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 19:16:02.199+10 208934  
2012-10-01-1349082989.51-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 19:16:38.254+10 733238  
2012-10-01-1349082998.83-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 19:16:41.536+10 229512  
2012-10-01-1349083002.71-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 19:16:49.292+10 553096  
2012-10-01-1349083292.9-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 19:21:36.259+10 281698  
2012-10-01-1349083296.35-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 19:21:38.886+10 215148  
2012-10-01-1349083298.97-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 19:21:42.588+10 305260  
2012-10-01-1349083302.68-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 19:21:45.045+10 200840  
2012-10-01-1349083305.8-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 19:22:03.222+10 1458312  
2012-10-01-1349084903.43-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 19:48:28.198+10 400568  
2012-10-01-1349084908.51-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 19:48:30.796+10 190600  
2012-10-01-1349085634.34-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:00:36.837+10 208356  
2012-10-01-1349086091.45-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 20:08:14.096+10 222528  
2012-10-01-1349086095.34-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 20:08:23.917+10 716270  
2012-10-01-1349086312.57-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 20:11:55.42+10 235380  
2012-10-01-1349086316.28-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 20:11:58.973+10 227464  
2012-10-01-1349086319.76-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 20:12:02.338+10 215176  
2012-10-01-1349086386.84-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:13:09.698+10 239108  
2012-10-01-1349086391.28-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:13:18.629+10 615574  
2012-10-01-1349086398.81-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:13:21.389+10 213128  
2012-10-01-1349087037.51-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:24:01.028+10 290074  
2012-10-01-1349087042.84-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:24:07.872+10 424044  
2012-10-01-1349087048.09-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:24:12.498+10 366728  
2012-10-01-1349087052.66-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:24:15.289+10 217200  
2012-10-01-1349087055.44-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:24:19.851+10 372826  
2012-10-01-1349087060.07-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:24:22.292+10 180060  
2012-10-01-1349087136.27-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:25:38.901+10 220602  
2012-10-01-1349087139.14-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:25:43.367+10 356488  
2012-10-01-1349087145.29-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:25:49.972+10 393352  
2012-10-01-1349087150.94-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:26:11.952+10 1705544  
2012-10-01-1349087172.78-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:26:16.003+10 266376  
2012-10-01-1349087177.21-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:26:20.278+10 259908  
2012-10-01-1349087180.44-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:26:23.261+10 212548  
2012-10-01-1349087183.46-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:26:47.349+10 1939322  
2012-10-01-1349087207.59-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:26:50.97+10 272478  
2012-10-01-1349087417.66-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-01 20:30:28.117+10 877634  
2012-10-01-1349087430.02-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:30:39.919+10 825480  
2012-10-01-1349087441.03-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:30:45.039+10 331886  
2012-10-01-1349087445.17-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:30:48.949+10 317576  
2012-10-01-1349087449.13-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:30:51.517+10 200840  
2012-10-01-1349087451.64-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:30:58.582+10 525714  
2012-10-01-1349087459.4-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:31:13.624+10 1190026  
2012-10-01-1349087473.83-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:31:22.811+10 749674  
2012-10-01-1349087483.04-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:31:27.516+10 343276  
2012-10-01-1349087487.75-demo.wav 44028 CanberraBlackMnt 2012-10-01 20:31:31.027+10 218756  
2012-10-01-1349087693.19-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 20:35:01.109+10 662618  
2012-10-01-1349087956.97-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-01 20:39:25.435+10 707728  
2012-10-01-1349092642.58-demo.wav 10301 CanberraMtAinsli 2012-10-01 21:57:25.443+10 236208  
2012-10-01-1349099640.68-demo.wav 10301 CanberraMtAinsli 2012-10-01 23:54:03.503+10 236510  
2012-10-01-1349099645.09-demo.wav 10301 CanberraMtAinsli 2012-10-01 23:54:12.452+10 620680  
2012-10-01-1349099653.68-demo.wav 10301 CanberraMtAinsli 2012-10-01 23:54:29.373+10 1317182  
2012-10-01-1349099669.65-demo.wav 10301 CanberraMtAinsli 2012-10-01 23:54:34.254+10 325830  
2012-10-01-1349099674.79-demo.wav 10301 CanberraMtAinsli 2012-10-01 23:54:39.31+10 323736  
2012-10-02-1349119076.14-demo.wav 44028 CanberraBlackMnt 2012-10-02 05:17:58.661+10 209034  
2012-10-02-1349121763.96-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:02:46.488+10 209710  
2012-10-02-1349121767.19-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:02:50.922+10 313480  
2012-10-02-1349121800.6-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:03:24.225+10 303266  
2012-10-02-1349121805.27-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:03:29.089+10 317846  
2012-10-02-1349121809.38-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:03:31.706+10 196744  
2012-10-02-1349121811.98-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:03:34.418+10 204936  
2012-10-02-1349121815.0-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:03:41.644+10 558214  
2012-10-02-1349121822.67-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:03:47.37+10 384198  
2012-10-02-1349122370.28-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:12:53.826+10 295796  
2012-10-02-1349122374.51-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:12:57.872+10 282760  
2012-10-02-1349122378.47-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:13:02.315+10 323720  
2012-10-02-1349122382.57-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:13:16.961+10 1146110  
2012-10-02-1349122397.16-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:13:20.183+10 200648  
2012-10-02-1349122400.52-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:13:46.568+10 2148368  
2012-10-02-1349122426.88-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:14:08.176+10 1734836  
2012-10-02-1349122449.06-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:14:12.912+10 323654  
2012-10-02-1349122453.19-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:14:29.52+10 1365422  
2012-10-02-1349122469.78-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:14:41.225+10 899006  
2012-10-02-1349122481.6-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:14:45.579+10 267488  
2012-10-02-1349122714.58-demo.wav 40067 CanberraBlackMnt 2012-10-02 06:18:37.08+10 210002  
2012-10-02-1349122868.6-demo.wav 44014 CanberraBlackMnt 2012-10-02 06:21:15.621+10 588260  
2012-10-02-1349122876.53-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 06:21:25.216+10 727662  
2012-10-02-1349122952.85-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 06:22:37.109+10 357372  
2012-10-02-1349122978.97-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 06:23:02.817+10 321672  
2012-10-02-1349123062.02-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 06:24:24.53+10 209874  
2012-10-02-1349123159.61-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:26:03.489+10 327654  
2012-10-02-1349123163.87-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:26:06.68+10 237704  
2012-10-02-1349123166.97-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:26:15.962+10 757548  
2012-10-02-1349123176.14-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:26:20.841+10 390552  
2012-10-02-1349123181.09-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:26:24.973+10 265356  
2012-10-02-1349123185.27-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:26:29.312+10 331418  
2012-10-02-1349123190.27-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:26:37.525+10 596770  
2012-10-02-1349123197.83-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:26:45.437+10 614118  
2012-10-02-1349123267.39-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 06:27:51.055+10 305552  
2012-10-02-1349123273.83-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 06:28:09.507+10 1319048  
2012-10-02-1349123672.64-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 06:34:35.913+10 272330  
2012-10-02-1349123740.31-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 06:35:44.289+10 330588  
2012-10-02-1349123745.43-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 06:35:50.761+10 447272  
2012-10-02-1349123751.02-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 06:35:53.68+10 223368  
2012-10-02-1349123755.97-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 06:36:00.619+10 387274  
2012-10-02-1349123761.3-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 06:36:09.769+10 708646  
2012-10-02-1349123770.04-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 06:36:15.557+10 462984  
2012-10-02-1349123775.72-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 06:36:19.6+10 327772  
2012-10-02-1349123780.26-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 06:36:26.836+10 555144  
2012-10-02-1349123788.69-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 06:36:35.019+10 531366  
2012-10-02-1349123795.4-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 06:36:44.788+10 756580  
2012-10-02-1349123807.57-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 06:36:51.278+10 310470  
2012-10-02-1349123811.69-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 06:36:54.277+10 217098  
2012-10-02-1349123814.55-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 06:36:56.892+10 188898  
2012-10-02-1349123942.77-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:39:06.674+10 325956  
2012-10-02-1349123948.45-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:39:13.118+10 390428  
2012-10-02-1349123953.42-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:39:18.796+10 452744  
2012-10-02-1349123959.11-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:39:22.48+10 282760  
2012-10-02-1349123964.23-demo.wav 44028 CanberraBlackMnt 2012-10-02 06:39:31.046+10 514784  
2012-10-02-1349124076.79-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:41:20.402+10 301390  
2012-10-02-1349124080.67-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:41:23.608+10 247944  
2012-10-02-1349124083.78-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:41:26.256+10 206984  
2012-10-02-1349124088.47-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:41:30.801+10 196744  
2012-10-02-1349124092.24-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:41:44.231+10 1006370  
2012-10-02-1349124105.34-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:41:51.855+10 546952  
2012-10-02-1349124112.15-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:41:55.955+10 309732  
2012-10-02-1349124116.58-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:42:04.853+10 672338  
2012-10-02-1349124125.13-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:42:12.271+10 590238  
2012-10-02-1349124132.81-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:42:17.151+10 305504  
2012-10-02-1349124414.97-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:47:01.545+10 552574  
2012-10-02-1349124421.84-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:47:05.82+10 336008  
2012-10-02-1349124427.73-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:47:10.636+10 245852  
2012-10-02-1349124430.97-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:47:17.415+10 519458  
2012-10-02-1349124437.62-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:47:26.154+10 703668  
2012-10-02-1349124446.44-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:47:29.855+10 256494  
2012-10-02-1349124450.72-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:47:33.348+10 195542  
2012-10-02-1349124925.99-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:55:31.344+10 449924  
2012-10-02-1349124932.01-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:55:43.952+10 1003656  
2012-10-02-1349124945.59-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 06:55:48.621+10 254088  
2012-10-02-1349124949.18-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 06:55:57.607+10 708744  
2012-10-02-1349124958.64-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 06:56:01.722+10 258184  
2012-10-02-1349124962.24-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 06:56:05.064+10 237704  
2012-10-02-1349124965.66-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 06:56:10.469+10 403522  
2012-10-02-1349124970.75-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 06:56:18.29+10 591022  
2012-10-02-1349124978.56-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 06:56:22.507+10 268250  
2012-10-02-1349125009.37-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:56:53.241+10 325768  
2012-10-02-1349125014.54-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:56:57.851+10 278664  
2012-10-02-1349125018.14-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:57:04.71+10 553022  
2012-10-02-1349125025.32-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:57:11.441+10 514162  
2012-10-02-1349125031.89-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:57:24.487+10 1055746  
2012-10-02-1349125044.82-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:57:30.5+10 451626  
2012-10-02-1349125155.87-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:59:20.781+10 411440  
2012-10-02-1349125162.89-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:59:27.64+10 399496  
2012-10-02-1349125168.2-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:59:31.756+10 299014  
2012-10-02-1349125173.46-demo.wav 44036 CanberraBlackMnt 2012-10-02 06:59:35.87+10 195702  
2012-10-02-1349125246.55-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:00:52.054+10 462218  
2012-10-02-1349125252.25-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:00:55.004+10 229512  
2012-10-02-1349125255.52-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:00:59.726+10 352392  
2012-10-02-1349125260.52-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:01:05.309+10 400132  
2012-10-02-1349125266.15-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:01:10.094+10 318742  
2012-10-02-1349125324.96-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:02:07.445+10 208582  
2012-10-02-1349125328.34-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:02:11.608+10 276616  
2012-10-02-1349125332.67-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:02:17.765+10 425912  
2012-10-02-1349125338.05-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:02:22.024+10 333960  
2012-10-02-1349125342.2-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:02:27.128+10 413682  
2012-10-02-1349125347.42-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:02:31.132+10 273706  
2012-10-02-1349125357.6-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:02:44.258+10 497128  
2012-10-02-1349125364.44-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:02:49.091+10 369926  
2012-10-02-1349125415.32-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:03:38.818+10 294102  
2012-10-02-1349125420.24-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:03:48.054+10 653918  
2012-10-02-1349125428.31-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:03:50.447+10 180360  
2012-10-02-1349125430.73-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:03:54.738+10 336008  
2012-10-02-1349125437.35-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:04:05.422+10 678024  
2012-10-02-1349125447.44-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:04:13.7+10 526472  
2012-10-02-1349125454.85-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:04:28.278+10 1123846  
2012-10-02-1349125470.39-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:04:32.681+10 192648  
2012-10-02-1349125537.83-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:05:41.818+10 333010  
2012-10-02-1349125543.5-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:05:49.905+10 535568  
2012-10-02-1349125551.56-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:05:54.8+10 272520  
2012-10-02-1349125555.05-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:05:58.118+10 258182  
2012-10-02-1349125558.52-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:06:02.043+10 264860  
2012-10-02-1349125562.36-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:06:07.721+10 434372  
2012-10-02-1349125652.85-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:07:36.603+10 314550  
2012-10-02-1349125658.07-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:07:44.498+10 535978  
2012-10-02-1349125664.69-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:08:01.978+10 1417414  
2012-10-02-1349125682.21-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:08:05.344+10 229180  
2012-10-02-1349125757.11-demo.wav 44036 CanberraMtAinsli 2012-10-02 07:09:21.322+10 352450  
2012-10-02-1349125765.24-demo.wav 44036 CanberraMtAinsli 2012-10-02 07:09:29.742+10 379016  
2012-10-02-1349125770.44-demo.wav 44036 CanberraMtAinsli 2012-10-02 07:09:35.406+10 417902  
2012-10-02-1349125775.67-demo.wav 44036 CanberraMtAinsli 2012-10-02 07:09:41.881+10 497614  
2012-10-02-1349125782.87-demo.wav 44036 CanberraMtAinsli 2012-10-02 07:09:48.405+10 452680  
2012-10-02-1349125788.92-demo.wav 44036 CanberraMtAinsli 2012-10-02 07:09:56.697+10 622842  
2012-10-02-1349125797.01-demo.wav 44036 CanberraMtAinsli 2012-10-02 07:10:03.269+10 510310  
2012-10-02-1349125804.1-demo.wav 44036 CanberraMtAinsli 2012-10-02 07:10:07.735+10 302678  
2012-10-02-1349125837.77-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:10:40.252+10 206984  
2012-10-02-1349125843.57-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 07:10:51.152+10 637064  
2012-10-02-1349125851.61-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:11:01.21+10 805000  
2012-10-02-1349125861.39-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:11:07.68+10 528520  
2012-10-02-1349125868.28-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:11:15.894+10 590224  
2012-10-02-1349125876.11-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:11:20.831+10 337296  
2012-10-02-1349125881.12-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:11:25.357+10 292968  
2012-10-02-1349125885.62-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:11:29.662+10 275976  
2012-10-02-1349125974.66-demo.wav 44036 CanberraMtAinsli 2012-10-02 07:12:57.842+10 266666  
2012-10-02-1349125979.44-demo.wav 44036 CanberraMtAinsli 2012-10-02 07:13:02.149+10 227464  
2012-10-02-1349126084.21-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:14:46.83+10 220264  
2012-10-02-1349126087.16-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:14:51.089+10 329864  
2012-10-02-1349126093.28-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:15:05.778+10 1046014  
2012-10-02-1349126107.48-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:15:24.086+10 1334184  
2012-10-02-1349126125.0-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:15:29.334+10 362130  
2012-10-02-1349126129.85-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:15:31.983+10 180360  
2012-10-02-1349126132.32-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 07:15:38.889+10 551048  
2012-10-02-1349126139.03-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 07:15:41.34+10 192648  
2012-10-02-1349126308.14-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 07:18:31.781+10 304136  
2012-10-02-1349126312.93-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:18:38.24+10 444894  
2012-10-02-1349126318.63-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 07:18:45.919+10 612488  
2012-10-02-1349126326.48-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 07:18:52.058+10 469128  
2012-10-02-1349126332.32-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 07:19:01.571+10 748942  
2012-10-02-1349126341.84-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 07:19:04.688+10 183076  
2012-10-02-1349126345.47-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 07:19:09.356+10 290824  
2012-10-02-1349126349.58-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 07:19:12.767+10 206114  
2012-10-02-1349126353.06-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 07:19:26.303+10 1049238  
2012-10-02-1349126366.54-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 07:19:30.92+10 304752  
2012-10-02-1349126371.14-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 07:19:34.183+10 195450  
2012-10-02-1349126374.37-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 07:19:39.136+10 335120  
2012-10-02-1349126381.56-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 07:19:44.874+10 255774  
2012-10-02-1349126526.12-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:22:09.647+10 296886  
2012-10-02-1349126530.89-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:22:14.863+10 331878  
2012-10-02-1349126535.83-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:22:19.583+10 313362  
2012-10-02-1349126542.34-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:22:24.704+10 200840  
2012-10-02-1349126545.02-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:22:29.409+10 368720  
2012-10-02-1349126549.7-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:22:32.518+10 204812  
2012-10-02-1349126553.33-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:22:43.285+10 836734  
2012-10-02-1349126563.98-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:22:46.747+10 231560  
2012-10-02-1349126568.61-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:22:51.868+10 276616  
2012-10-02-1349127134.03-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 07:32:17.401+10 281438  
2012-10-02-1349127137.66-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 07:32:20.989+10 280712  
2012-10-02-1349127226.95-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:33:49.677+10 228198  
2012-10-02-1349127231.46-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:33:54.653+10 268424  
2012-10-02-1349127235.33-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:34:00.078+10 399496  
2012-10-02-1349127241.14-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:34:04.447+10 278664  
2012-10-02-1349127244.74-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:34:07.319+10 215720  
2012-10-02-1349127248.04-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:34:11.083+10 236974  
2012-10-02-1349127292.08-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:34:57.941+10 492108  
2012-10-02-1349127298.23-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:35:01.132+10 243848  
2012-10-02-1349127301.42-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:35:10.83+10 754836  
2012-10-02-1349127313.84-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 07:35:23.09+10 774300  
2012-10-02-1349127324.09-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 07:35:29.643+10 462482  
2012-10-02-1349127330.16-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 07:35:33.918+10 315528  
2012-10-02-1349127334.7-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 07:35:38.012+10 278654  
2012-10-02-1349127338.92-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 07:35:44.08+10 430984  
2012-10-02-1349127345.0-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 07:35:53.421+10 707126  
2012-10-02-1349127353.71-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 07:35:57.574+10 325768  
2012-10-02-1349127357.83-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 07:36:00.077+10 188474  
2012-10-02-1349127360.35-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 07:36:05.976+10 472118  
2012-10-02-1349127366.67-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 07:36:15.828+10 768136  
2012-10-02-1349127376.04-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 07:36:21.87+10 468004  
2012-10-02-1349127382.16-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 07:36:26.604+10 350414  
2012-10-02-1349127386.82-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 07:36:45.838+10 1594092  
2012-10-02-1349127502.43-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:38:25.55+10 260424  
2012-10-02-1349127507.19-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:38:35.152+10 669832  
2012-10-02-1349127515.46-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:38:39.81+10 364680  
2012-10-02-1349127520.11-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:38:42.729+10 221320  
2012-10-02-1349127522.94-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:38:50.688+10 622578  
2012-10-02-1349127535.09-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:39:00.562+10 415002  
2012-10-02-1349127543.15-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:39:16.575+10 1125972  
2012-10-02-1349127556.79-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:39:21.248+10 304012  
2012-10-02-1349127561.45-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:39:30.705+10 739366  
2012-10-02-1349127570.94-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:39:34.168+10 217930  
2012-10-02-1349127575.22-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:39:38.793+10 236042  
2012-10-02-1349127580.21-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:39:44.104+10 313106  
2012-10-02-1349127585.59-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:39:50.214+10 360088  
2012-10-02-1349127592.18-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:39:56.928+10 361756  
2012-10-02-1349127597.22-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:40:05.476+10 658698  
2012-10-02-1349127605.77-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:40:10.086+10 345056  
2012-10-02-1349127610.41-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:40:19.638+10 755040  
2012-10-02-1349127619.94-demo.wav 44028 CanberraMtAinsli 2012-10-02 07:40:23.611+10 278920  
2012-10-02-1349127624.39-demo.wav 40067 CanberraBlackMnt 2012-10-02 07:40:35.286+10 916120  
2012-10-02-1349127653.64-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:40:57.677+10 340104  
2012-10-02-1349127659.56-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 07:41:13.867+10 1204360  
2012-10-02-1349127674.64-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 07:41:18.184+10 297096  
2012-10-02-1349127679.58-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 07:41:23.41+10 321672  
2012-10-02-1349127684.11-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 07:41:28.736+10 354902  
2012-10-02-1349127689.09-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:41:36.787+10 647304  
2012-10-02-1349127697.46-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:41:43.164+10 479368  
2012-10-02-1349127703.49-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:41:48.17+10 333260  
2012-10-02-1349127708.41-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:41:52.118+10 247852  
2012-10-02-1349127712.57-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:41:57.523+10 415836  
2012-10-02-1349127718.7-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:42:01.878+10 263312  
2012-10-02-1349127722.16-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:42:10.109+10 611272  
2012-10-02-1349127730.41-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:42:13.981+10 238268  
2012-10-02-1349127734.24-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:42:17.792+10 242044  
2012-10-02-1349127738.28-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:42:22.812+10 380456  
2012-10-02-1349127743.77-demo.wav 44036 CanberraBlackMnt 2012-10-02 07:42:29.542+10 485512  
2012-10-02-1349127750.51-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:42:42.731+10 1028232  
2012-10-02-1349127763.87-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:42:46.734+10 237704  
2012-10-02-1349127767.53-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:42:54.053+10 533048  
2012-10-02-1349127774.3-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:42:59.162+10 353410  
2012-10-02-1349127779.6-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:43:04.575+10 415874  
2012-10-02-1349127785.16-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:43:09.533+10 340410  
2012-10-02-1349127837.39-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:44:00.401+10 248160  
2012-10-02-1349127841.81-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 07:44:05.393+10 301192  
2012-10-02-1349128013.49-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:46:55.988+10 207652  
2012-10-02-1349128128.48-demo.wav 40067 CanberraBlackMnt 2012-10-02 07:48:51.703+10 272076  
2012-10-02-1349128477.43-demo.wav 40067 CanberraBlackMnt 2012-10-02 07:54:39.992+10 213326  
2012-10-02-1349128537.29-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 07:55:39.766+10 208388  
2012-10-02-1349128612.24-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:56:56.508+10 357398  
2012-10-02-1349128617.87-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:57:02.983+10 428156  
2012-10-02-1349128623.26-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:57:09.013+10 483464  
2012-10-02-1349128629.5-demo.wav 44028 CanberraBlackMnt 2012-10-02 07:57:11.98+10 209032  
2012-10-02-1349128984.03-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:03:08.385+10 365720  
2012-10-02-1349128990.43-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:03:14.733+10 362632  
2012-10-02-1349128995.9-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:03:21.495+10 471156  
2012-10-02-1349129001.77-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:03:26.393+10 388368  
2012-10-02-1349129006.66-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:03:46.296+10 1626118  
2012-10-02-1349129030.58-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:03:57.413+10 556468  
2012-10-02-1349129037.71-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:04:05.579+10 632988  
2012-10-02-1349129045.85-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:04:09.582+10 284134  
2012-10-02-1349129053.18-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:04:16.234+10 226552  
2012-10-02-1349129057.9-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:04:24.13+10 523088  
2012-10-02-1349129065.66-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:04:28.692+10 256136  
2012-10-02-1349129068.98-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:04:31.61+10 222584  
2012-10-02-1349129075.21-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:04:43.604+10 705290  
2012-10-02-1349129083.82-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:04:46.459+10 223368  
2012-10-02-1349129087.1-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:04:51.324+10 354440  
2012-10-02-1349129091.59-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:04:57.417+10 486288  
2012-10-02-1349129099.41-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:05:07.592+10 687284  
2012-10-02-1349129107.8-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:05:10.496+10 227464  
2012-10-02-1349129111.26-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:05:13.877+10 221320  
2012-10-02-1349129114.8-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:05:19.045+10 358536  
2012-10-02-1349129123.32-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:05:26.684+10 284592  
2012-10-02-1349129126.95-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:05:32.744+10 455558  
2012-10-02-1349129133.92-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:05:38.152+10 356430  
2012-10-02-1349129138.5-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:05:41.915+10 286856  
2012-10-02-1349129143.25-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:05:49.939+10 552518  
2012-10-02-1349129155.61-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:06:13.701+10 1519972  
2012-10-02-1349129173.95-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:06:16.556+10 219272  
2012-10-02-1349129177.01-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:06:20.8+10 319624  
2012-10-02-1349129184.21-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 08:06:33.727+10 792710  
2012-10-02-1349129194.77-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 08:06:52.893+10 1521354  
2012-10-02-1349129213.86-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 08:07:07.201+10 1119798  
2012-10-02-1349129227.92-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 08:07:26.139+10 1532040  
2012-10-02-1349129333.62-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:08:56.099+10 207936  
2012-10-02-1349129336.34-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:08:59.561+10 272520  
2012-10-02-1349129341.61-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:09:04.202+10 219272  
2012-10-02-1349129345.49-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:09:10.772+10 444534  
2012-10-02-1349129354.19-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:09:16.867+10 202012  
2012-10-02-1349129697.75-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 08:15:00.268+10 209464  
2012-10-02-1349129703.67-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:15:19.469+10 1327138  
2012-10-02-1349129720.41-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:15:26.487+10 510344  
2012-10-02-1349129726.7-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:15:33.346+10 553096  
2012-10-02-1349129733.59-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:15:35.85+10 190600  
2012-10-02-1349129736.45-demo.wav 44010 ACTION 44010 CanberraBlackMnt 2012-10-02 08:15:43.817+10 618632  
2012-10-02-1349129743.99-demo.wav 44010 ACTION 44010 CanberraBlackMnt 2012-10-02 08:15:50.542+10 551048  
2012-10-02-1349129750.74-demo.wav 44010 ACTION 44010 CanberraBlackMnt 2012-10-02 08:15:56.251+10 462854  
2012-10-02-1349129756.42-demo.wav 44010 ACTION 44010 CanberraBlackMnt 2012-10-02 08:16:01.541+10 400356  
2012-10-02-1349130137.28-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:22:20.127+10 239360  
2012-10-02-1349130141.25-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:22:23.733+10 209032  
2012-10-02-1349130144.03-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:22:28.166+10 348296  
2012-10-02-1349130148.43-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:22:41.133+10 1065424  
2012-10-02-1349130161.32-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:22:45.422+10 304058  
2012-10-02-1349130165.69-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:22:54.672+10 749360  
2012-10-02-1349130177.93-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:23:07.735+10 767234  
2012-10-02-1349130188.01-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:23:13.908+10 475232  
2012-10-02-1349130194.13-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:23:21.228+10 547808  
2012-10-02-1349130202.1-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:23:44.37+10 1872008  
2012-10-02-1349130224.59-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:23:47.034+10 206984  
2012-10-02-1349130227.35-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:23:51.58+10 354440  
2012-10-02-1349130231.81-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:23:59.506+10 647226  
2012-10-02-1349130243.02-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:24:08.963+10 498598  
2012-10-02-1349130251.02-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:24:17.575+10 551048  
2012-10-02-1349130258.04-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:24:22.695+10 391304  
2012-10-02-1349130265.81-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:24:35.167+10 788598  
2012-10-02-1349130276.61-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:24:40.973+10 368776  
2012-10-02-1349130281.27-demo.wav 44028 CanberraMtAinsli 2012-10-02 08:24:44.307+10 254082  
2012-10-02-1349130363.85-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:26:08.881+10 419192  
2012-10-02-1349130369.05-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:26:13.63+10 385160  
2012-10-02-1349130373.93-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:26:16.758+10 239752  
2012-10-02-1349130377.03-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:26:26.263+10 776160  
2012-10-02-1349130386.56-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:26:36.98+10 852244  
2012-10-02-1349130397.14-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:26:46.215+10 728628  
2012-10-02-1349130406.6-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:26:50.282+10 257416  
2012-10-02-1349130410.87-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:26:55.689+10 404908  
2012-10-02-1349131017.75-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 08:37:00.263+10 209882  
2012-10-02-1349131173.84-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:39:36.325+10 208984  
2012-10-02-1349131179.54-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:39:47.887+10 699332  
2012-10-02-1349131267.16-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:41:09.636+10 207684  
2012-10-02-1349131271.47-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:41:27.244+10 1327240  
2012-10-02-1349131287.52-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:41:30.052+10 213128  
2012-10-02-1349131550.59-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:45:53.118+10 210266  
2012-10-02-1349131553.39-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:45:56.053+10 223368  
2012-10-02-1349131557.98-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:46:00.233+10 190600  
2012-10-02-1349131561.76-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:46:13.74+10 996696  
2012-10-02-1349131576.14-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:46:19.181+10 243374  
2012-10-02-1349131580.5-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:46:24.332+10 316346  
2012-10-02-1349131585.5-demo.wav 44028 CanberraBlackMnt 2012-10-02 08:46:29.292+10 249504  
2012-10-02-1349131591.44-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:46:37.922+10 544980  
2012-10-02-1349131604.21-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:46:59.867+10 1317000  
2012-10-02-1349131620.26-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:47:05.72+10 456840  
2012-10-02-1349131625.95-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:47:14.684+10 731994  
2012-10-02-1349131637.49-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:47:29.135+10 977878  
2012-10-02-1349131678.8-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:48:01.53+10 229464  
2012-10-02-1349131682.21-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:48:06.76+10 383112  
2012-10-02-1349131687.43-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:48:31.036+10 1932416  
2012-10-02-1349131711.94-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:48:37.019+10 427082  
2012-10-02-1349131958.84-demo.wav 44036 CanberraBlackMnt 2012-10-02 08:52:41.325+10 207964  
2012-10-02-1349131961.62-demo.wav 44036 CanberraBlackMnt 2012-10-02 08:52:44.547+10 245896  
2012-10-02-1349131965.75-demo.wav 44036 CanberraBlackMnt 2012-10-02 08:52:49.3+10 299144  
2012-10-02-1349131970.07-demo.wav 44036 CanberraBlackMnt 2012-10-02 08:52:53.255+10 260990  
2012-10-02-1349132025.52-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:53:49.22+10 310104  
2012-10-02-1349132030.38-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:53:53.638+10 274568  
2012-10-02-1349132034.82-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:54:16.429+10 1813832  
2012-10-02-1349132057.24-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:54:21.086+10 323720  
2012-10-02-1349132061.55-demo.wav 40067 CanberraMtAinsli 2012-10-02 08:54:25.745+10 354440  
2012-10-02-1349132067.56-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:54:33.113+10 465520  
2012-10-02-1349132073.38-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:54:37.707+10 364680  
2012-10-02-1349132078.68-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:54:48.298+10 776538  
2012-10-02-1349132088.59-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:54:52.158+10 251034  
2012-10-02-1349132360.26-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:59:22.734+10 207704  
2012-10-02-1349132363.24-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:59:25.62+10 200840  
2012-10-02-1349132365.93-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:59:30.804+10 409736  
2012-10-02-1349132371.09-demo.wav 40067 CanberraBlackMnt 2012-10-02 08:59:34.919+10 323708  
2012-10-02-1349132375.51-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 08:59:52.093+10 1385706  
2012-10-02-1349132393.07-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:00:02.109+10 757328  
2012-10-02-1349132403.25-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:00:05.984+10 229512  
2012-10-02-1349132448.34-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:00:52.029+10 307654  
2012-10-02-1349132453.82-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:01:07.58+10 1157256  
2012-10-02-1349132467.91-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:01:12.222+10 362632  
2012-10-02-1349132531.44-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 09:02:26.177+10 1240548  
2012-10-02-1349132547.1-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 09:02:31.228+10 344570  
2012-10-02-1349132551.72-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 09:02:38.434+10 563336  
2012-10-02-1349132559.74-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:02:54.048+10 1202312  
2012-10-02-1349132681.11-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:04:43.866+10 229442  
2012-10-02-1349132685.52-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:05:21.154+10 2968332  
2012-10-02-1349132758.52-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 09:06:03.01+10 376388  
2012-10-02-1349132763.43-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 09:06:05.729+10 192648  
2012-10-02-1349132994.72-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:09:57.244+10 208436  
2012-10-02-1349133000.76-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:10:04.964+10 354440  
2012-10-02-1349133074.34-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 09:11:18.1+10 315576  
2012-10-02-1349133079.1-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 09:11:24.655+10 467080  
2012-10-02-1349133086.81-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 09:11:35.893+10 764038  
2012-10-02-1349133096.5-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 09:11:41.109+10 387208  
2012-10-02-1349133101.27-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 09:11:43.83+10 215176  
2012-10-02-1349133104.25-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 09:11:52.122+10 607892  
2012-10-02-1349133113.04-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:12:13.589+10 1728096  
2012-10-02-1349133151.64-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:12:34.1+10 206984  
2012-10-02-1349133173.84-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:12:56.142+10 194696  
2012-10-02-1349133201.96-demo.wav 44036 CanberraMtAinsli 2012-10-02 09:13:25.773+10 321384  
2012-10-02-1349133207.18-demo.wav 44036 CanberraMtAinsli 2012-10-02 09:13:29.537+10 198792  
2012-10-02-1349133210.52-demo.wav 44036 CanberraMtAinsli 2012-10-02 09:13:34.578+10 342152  
2012-10-02-1349133215.3-demo.wav 44036 CanberraMtAinsli 2012-10-02 09:13:43.558+10 692036  
2012-10-02-1349133224.0-demo.wav 44036 CanberraMtAinsli 2012-10-02 09:13:48.23+10 306892  
2012-10-02-1349133228.76-demo.wav 44036 CanberraBlackMnt 2012-10-02 09:13:54.897+10 512184  
2012-10-02-1349133236.91-demo.wav 44036 CanberraBlackMnt 2012-10-02 09:14:02.92+10 505990  
2012-10-02-1349133243.49-demo.wav 44036 CanberraBlackMnt 2012-10-02 09:14:06.748+10 269158  
2012-10-02-1349133247.91-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:14:25.551+10 1483470  
2012-10-02-1349133288.17-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:14:51.134+10 247944  
2012-10-02-1349133292.65-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:14:59.157+10 545992  
2012-10-02-1349133345.64-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:15:48.708+10 255920  
2012-10-02-1349133350.41-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:15:58.277+10 661640  
2012-10-02-1349133358.48-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:16:06.061+10 637064  
2012-10-02-1349133366.4-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:16:11.818+10 453092  
2012-10-02-1349133372.11-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:16:21.771+10 757522  
2012-10-02-1349133429.3-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 09:17:11.817+10 209676  
2012-10-02-1349133435.56-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 09:17:26.005+10 878728  
2012-10-02-1349133446.59-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 09:17:30.447+10 323720  
2012-10-02-1349133451.34-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 09:17:35.109+10 317560  
2012-10-02-1349133455.86-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 09:17:40.139+10 339822  
2012-10-02-1349133537.16-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 09:18:59.675+10 209556  
2012-10-02-1349133543.05-demo.wav 44028 CanberraMtAinsli 2012-10-02 09:19:08.286+10 440456  
2012-10-02-1349133549.34-demo.wav 44028 CanberraMtAinsli 2012-10-02 09:19:16.453+10 593604  
2012-10-02-1349133556.66-demo.wav 44028 CanberraMtAinsli 2012-10-02 09:19:22.513+10 493704  
2012-10-02-1349133562.7-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:19:28.528+10 485880  
2012-10-02-1349133568.75-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:19:39.324+10 888966  
2012-10-02-1349133579.6-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:19:45.018+10 397776  
2012-10-02-1349133585.3-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:19:49.9+10 328352  
2012-10-02-1349133592.88-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 09:20:00.004+10 598310  
2012-10-02-1349133600.25-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 09:20:17.449+10 1442208  
2012-10-02-1349133643.38-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:20:45.838+10 206984  
2012-10-02-1349133647.08-demo.wav i1045263 CanberraBlackMnt 2012-10-02 09:21:08.978+10 1840640  
2012-10-02-1349133669.1-demo.wav i1045263 CanberraBlackMnt 2012-10-02 09:21:11.817+10 227464  
2012-10-02-1349133673.14-demo.wav i1045263 CanberraBlackMnt 2012-10-02 09:21:26.667+10 1136776  
2012-10-02-1349133686.94-demo.wav i1045263 CanberraBlackMnt 2012-10-02 09:21:31.835+10 411784  
2012-10-02-1349133694.53-demo.wav i1045263 CanberraBlackMnt 2012-10-02 09:21:44.72+10 855076  
2012-10-02-1349133819.14-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:23:42.018+10 240038  
2012-10-02-1349133858.25-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:24:20.773+10 209976  
2012-10-02-1349133862.08-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:24:27.475+10 450074  
2012-10-02-1349133868.03-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:24:31.479+10 290952  
2012-10-02-1349133956.42-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:25:58.988+10 209610  
2012-10-02-1349133962.36-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:26:17.394+10 1265800  
2012-10-02-1349133978.39-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:26:25.113+10 562390  
2012-10-02-1349133985.7-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:26:29.644+10 331912  
2012-10-02-1349133990.47-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:26:43.758+10 1116144  
2012-10-02-1349134006.4-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:26:51.767+10 451046  
2012-10-02-1349134012.81-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:26:56.568+10 315528  
2012-10-02-1349134017.61-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:27:06.68+10 764040  
2012-10-02-1349134027.14-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:27:11.483+10 364680  
2012-10-02-1349134031.76-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:27:20.559+10 695816  
2012-10-02-1349134044.05-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:27:31.913+10 660726  
2012-10-02-1349134052.94-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:27:41.277+10 702600  
2012-10-02-1349134062.41-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:27:47.13+10 399496  
2012-10-02-1349134104.95-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:28:27.434+10 208792  
2012-10-02-1349134108.32-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:28:32.794+10 376968  
2012-10-02-1349134113.5-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:28:37.898+10 368776  
2012-10-02-1349134118.52-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:28:53.193+10 1235080  
2012-10-02-1349134134.28-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:28:58.854+10 380402  
2012-10-02-1349134139.54-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:29:03.4+10 317030  
2012-10-02-1349134144.84-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:29:14.452+10 807662  
2012-10-02-1349134156.97-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:29:22.57+10 451486  
2012-10-02-1349134163.41-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:29:27.022+10 290612  
2012-10-02-1349134167.64-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:29:38.727+10 934024  
2012-10-02-1349134179.78-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:29:46.176+10 538760  
2012-10-02-1349134188.47-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:29:52.38+10 327816  
2012-10-02-1349134192.64-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:29:57.261+10 389256  
2012-10-02-1349134197.45-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:30:06.096+10 722070  
2012-10-02-1349134206.95-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:30:10.499+10 285040  
2012-10-02-1349134211.21-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:30:17.181+10 500988  
2012-10-02-1349134218.14-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:30:23.721+10 467352  
2012-10-02-1349134224.35-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:30:27.644+10 274568  
2012-10-02-1349134229.17-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:30:33.434+10 356986  
2012-10-02-1349134233.73-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:30:42.031+10 697834  
2012-10-02-1349134284.31-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:31:26.801+10 209004  
2012-10-02-1349134305.76-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:31:48.285+10 210692  
2012-10-02-1349134309.39-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:31:58.906+10 796840  
2012-10-02-1349134319.19-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:32:03.373+10 352392  
2012-10-02-1349134323.67-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:32:06.754+10 254088  
2012-10-02-1349134348.94-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:32:31.41+10 209032  
2012-10-02-1349134352.37-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:32:37.185+10 401918  
2012-10-02-1349134476.15-demo.wav 40032 ESA 1 CanberraMtAinsli 2012-10-02 09:34:41.177+10 419996  
2012-10-02-1349134508.66-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:35:13.937+10 442854  
2012-10-02-1349134514.53-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:35:27.428+10 1081380  
2012-10-02-1349134528.43-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:35:35.244+10 573576  
2012-10-02-1349134535.65-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:35:41.496+10 491576  
2012-10-02-1349134542.49-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:36:00.825+10 1540120  
2012-10-02-1349134627.86-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 09:37:11.131+10 273606  
2012-10-02-1349134632.21-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 09:37:20.25+10 672638  
2012-10-02-1349134640.55-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 09:37:28.883+10 702600  
2012-10-02-1349134649.17-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 09:37:38.73+10 758534  
2012-10-02-1349134659.08-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 09:37:42.936+10 264084  
2012-10-02-1349134663.38-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 09:37:47.991+10 387062  
2012-10-02-1349134766.89-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:39:30.408+10 297676  
2012-10-02-1349134771.93-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:39:39.292+10 618632  
2012-10-02-1349134780.25-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:39:44.38+10 348296  
2012-10-02-1349134784.6-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:39:53.774+10 772232  
2012-10-02-1349134794.99-demo.wav 44028 CanberraMtAinsli 2012-10-02 09:40:02.225+10 607352  
2012-10-02-1349134803.91-demo.wav 44028 CanberraMtAinsli 2012-10-02 09:40:06.597+10 225416  
2012-10-02-1349134861.18-demo.wav 44036 CanberraBlackMnt 2012-10-02 09:41:05.113+10 328464  
2012-10-02-1349134866.07-demo.wav 44036 CanberraBlackMnt 2012-10-02 09:41:09.418+10 280712  
2012-10-02-1349134869.69-demo.wav 44036 CanberraBlackMnt 2012-10-02 09:41:12.736+10 256136  
2012-10-02-1349134874.23-demo.wav 44036 CanberraBlackMnt 2012-10-02 09:41:17.441+10 268364  
2012-10-02-1349134882.47-demo.wav 44036 CanberraMtAinsli 2012-10-02 09:41:31.127+10 727834  
2012-10-02-1349134893.25-demo.wav 44036 CanberraMtAinsli 2012-10-02 09:41:36.566+10 277166  
2012-10-02-1349134897.46-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:41:45.162+10 645264  
2012-10-02-1349134906.12-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:41:48.943+10 237704  
2012-10-02-1349134909.48-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:41:55.721+10 524424  
2012-10-02-1349134916.01-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:41:58.323+10 194696  
2012-10-02-1349134918.59-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:42:02.836+10 355280  
2012-10-02-1349134923.33-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:42:10.699+10 620680  
2012-10-02-1349135137.03-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:45:40.074+10 257334  
2012-10-02-1349135165.15-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:46:08.417+10 273336  
2012-10-02-1349135187.07-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:46:29.964+10 243848  
2012-10-02-1349135190.18-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:46:33.839+10 309384  
2012-10-02-1349135194.47-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:46:38.354+10 323096  
2012-10-02-1349135199.75-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:46:44.972+10 434312  
2012-10-02-1349135205.26-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:46:50.443+10 426674  
2012-10-02-1349135211.51-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:46:56.903+10 417518  
2012-10-02-1349135217.56-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:47:10.875+10 1120340  
2012-10-02-1349135231.09-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:47:16.744+10 475272  
2012-10-02-1349135237.13-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:47:20.493+10 280712  
2012-10-02-1349135240.97-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:47:24.528+10 299144  
2012-10-02-1349135245.49-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:47:27.958+10 208808  
2012-10-02-1349135273.9-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:47:56.588+10 227464  
2012-10-02-1349135278.15-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:48:08.584+10 878728  
2012-10-02-1349135289.59-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:48:14.23+10 383408  
2012-10-02-1349135295.78-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:48:18.823+10 256136  
2012-10-02-1349135299.42-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:48:22.684+10 274568  
2012-10-02-1349135303.1-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:48:30.674+10 579166  
2012-10-02-1349135310.95-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:48:34.279+10 216908  
2012-10-02-1349135314.51-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:48:42.35+10 625592  
2012-10-02-1349135322.59-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:48:49.271+10 513332  
2012-10-02-1349135329.53-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:48:53.801+10 298526  
2012-10-02-1349135334.84-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:49:02.605+10 650860  
2012-10-02-1349135343.04-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:49:10.978+10 666090  
2012-10-02-1349135351.27-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:49:15.046+10 290164  
2012-10-02-1349135355.33-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:49:18.62+10 238558  
2012-10-02-1349135361.9-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:49:26.513+10 338378  
2012-10-02-1349135367.42-demo.wav 44011 ACTION 44011 CanberraMtAinsli 2012-10-02 09:49:49.274+10 1837058  
2012-10-02-1349135389.49-demo.wav 44011 ACTION 44011 CanberraMtAinsli 2012-10-02 09:49:58.885+10 788616  
2012-10-02-1349135645.18-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:54:09.265+10 343316  
2012-10-02-1349135650.52-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:54:15.054+10 377884  
2012-10-02-1349135655.4-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:54:23.65+10 692360  
2012-10-02-1349135664.86-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:54:29.377+10 376968  
2012-10-02-1349135670.16-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 09:54:51.082+10 1757320  
2012-10-02-1349135691.3-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 09:54:58.666+10 616582  
2012-10-02-1349135698.86-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 09:55:03.187+10 362632  
2012-10-02-1349135704.13-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 09:55:23.417+10 1620230  
2012-10-02-1349135751.47-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 09:55:55.969+10 378622  
2012-10-02-1349135757.67-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 09:56:14.16+10 1382478  
2012-10-02-1349135775.21-demo.wav 44028 CanberraMtAinsli 2012-10-02 09:56:22.66+10 623920  
2012-10-02-1349135783.16-demo.wav 44028 CanberraMtAinsli 2012-10-02 09:56:26.552+10 284808  
2012-10-02-1349135788.05-demo.wav 44028 CanberraMtAinsli 2012-10-02 09:56:37.86+10 825410  
2012-10-02-1349135868.19-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:57:50.695+10 209024  
2012-10-02-1349135895.75-demo.wav 44028 CanberraMtAinsli 2012-10-02 09:58:19.565+10 321664  
2012-10-02-1349135900.69-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:58:38.607+10 1505678  
2012-10-02-1349135919.62-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:58:45.163+10 464892  
2012-10-02-1349135926.0-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:58:48.513+10 211080  
2012-10-02-1349135930.09-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:59:02.116+10 991100  
2012-10-02-1349135942.38-demo.wav 44028 CanberraBlackMnt 2012-10-02 09:59:06.041+10 304324  
2012-10-02-1349135949.91-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:59:24.941+10 1261828  
2012-10-02-1349135966.06-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:59:31.894+10 489608  
2012-10-02-1349135973.25-demo.wav 40067 CanberraMtAinsli 2012-10-02 09:59:35.881+10 221320  
2012-10-02-1349135976.93-demo.wav 40067 CanberraBlackMnt 2012-10-02 09:59:48.146+10 944050  
2012-10-02-1349135988.88-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:00:07.284+10 1542704  
2012-10-02-1349136007.49-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:00:14.907+10 624776  
2012-10-02-1349136015.65-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:00:18.592+10 247920  
2012-10-02-1349136131.51-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:02:14.102+10 219224  
2012-10-02-1349136136.05-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:02:18.983+10 245896  
2012-10-02-1349136139.75-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:02:29.158+10 791998  
2012-10-02-1349136149.56-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:02:44.756+10 1278088  
2012-10-02-1349136167.52-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:02:52.204+10 395400  
2012-10-02-1349136225.08-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:03:50.003+10 413006  
2012-10-02-1349136234.13-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:03:58.519+10 368776  
2012-10-02-1349136239.96-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:04:04.804+10 405064  
2012-10-02-1349136245.73-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:04:10.1+10 357278  
2012-10-02-1349136250.62-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:04:13.194+10 217224  
2012-10-02-1349136253.48-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:04:16.574+10 199886  
2012-10-02-1349136256.89-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:04:24.312+10 577958  
2012-10-02-1349136264.78-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:04:37.86+10 1099232  
2012-10-02-1349136278.13-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:04:42.253+10 316072  
2012-10-02-1349136282.53-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:04:46.368+10 262006  
2012-10-02-1349136313.81-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:05:19.239+10 455266  
2012-10-02-1349136319.68-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:05:22.987+10 278664  
2012-10-02-1349136323.96-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:05:30.754+10 569480  
2012-10-02-1349136330.96-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:05:36.416+10 403980  
2012-10-02-1349136336.88-demo.wav 40067 CanberraBlackMnt 2012-10-02 10:05:47.755+10 913390  
2012-10-02-1349136399.73-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:06:42.251+10 209350  
2012-10-02-1349136403.44-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:06:52.217+10 733114  
2012-10-02-1349136414.29-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:06:57.194+10 243848  
2012-10-02-1349136417.72-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:07:03.702+10 503944  
2012-10-02-1349136424.55-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:07:07.354+10 231350  
2012-10-02-1349136428.24-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:07:17.641+10 791896  
2012-10-02-1349136438.48-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:07:25.663+10 604296  
2012-10-02-1349136445.96-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:07:30.209+10 356488  
2012-10-02-1349136450.53-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:07:35.696+10 434312  
2012-10-02-1349136456.29-demo.wav 40067 CanberraBlackMnt 2012-10-02 10:07:42.108+10 489608  
2012-10-02-1349136462.39-demo.wav 40067 CanberraBlackMnt 2012-10-02 10:07:45.25+10 237704  
2012-10-02-1349136465.84-demo.wav 40067 CanberraBlackMnt 2012-10-02 10:07:49.221+10 280712  
2012-10-02-1349136469.45-demo.wav 40067 CanberraBlackMnt 2012-10-02 10:07:55.267+10 441126  
2012-10-02-1349136475.56-demo.wav 40067 CanberraBlackMnt 2012-10-02 10:07:58.601+10 192502  
2012-10-02-1349136592.73-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 10:09:55.292+10 213154  
2012-10-02-1349136598.19-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 10:10:07.361+10 766786  
2012-10-02-1349136610.07-demo.wav 40067 CanberraBlackMnt 2012-10-02 10:10:20.264+10 858248  
2012-10-02-1349136620.54-demo.wav 40067 CanberraBlackMnt 2012-10-02 10:10:24.921+10 368776  
2012-10-02-1349136625.8-demo.wav 40067 CanberraBlackMnt 2012-10-02 10:10:28.766+10 249992  
2012-10-02-1349136629.48-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:10:43.676+10 1194120  
2012-10-02-1349136644.92-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:10:55.032+10 852104  
2012-10-02-1349136655.51-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:11:00.629+10 430216  
2012-10-02-1349136661.29-demo.wav 40067 CanberraBlackMnt 2012-10-02 10:11:06.771+10 460936  
2012-10-02-1349136762.39-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:12:45.073+10 225092  
2012-10-02-1349136766.09-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:12:48.855+10 233608  
2012-10-02-1349136769.67-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:13:01.787+10 994608  
2012-10-02-1349136782.0-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:13:07.099+10 409254  
2012-10-02-1349136788.26-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:13:16.285+10 675532  
2012-10-02-1349136796.61-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:13:24.293+10 647304  
2012-10-02-1349136805.08-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:13:30.321+10 440456  
2012-10-02-1349137002.73-demo.wav 40067 CanberraBlackMnt 2012-10-02 10:16:50.43+10 646514  
2012-10-02-1349137011.76-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 10:17:06.918+10 1271714  
2012-10-02-1349137027.11-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 10:17:11.276+10 350344  
2012-10-02-1349137052.16-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 10:17:35.646+10 293000  
2012-10-02-1349137073.03-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 10:17:55.497+10 206984  
2012-10-02-1349137104.55-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 10:18:27.044+10 209250  
2012-10-02-1349137128.42-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:18:51.032+10 217234  
2012-10-02-1349137131.43-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:18:55.42+10 336008  
2012-10-02-1349137165.97-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:19:28.532+10 214688  
2012-10-02-1349137168.88-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:19:31.706+10 237704  
2012-10-02-1349137172.27-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:19:45.374+10 1103990  
2012-10-02-1349137185.64-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:19:59.026+10 1120558  
2012-10-02-1349137199.25-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:20:09.728+10 875936  
2012-10-02-1349137210.02-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:20:15.071+10 421156  
2012-10-02-1349137218.4-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:20:30.717+10 973482  
2012-10-02-1349137233.48-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 10:20:46.706+10 1111474  
2012-10-02-1349137311.15-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 10:21:57.116+10 501186  
2012-10-02-1349137318.26-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 10:22:10.569+10 1034724  
2012-10-02-1349137331.26-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 10:22:14.955+10 311432  
2012-10-02-1349137335.38-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 10:22:22.275+10 579720  
2012-10-02-1349137343.13-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 10:22:27.077+10 331574  
2012-10-02-1349137347.49-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 10:22:35.711+10 633938  
2012-10-02-1349137355.88-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 10:22:46.029+10 788654  
2012-10-02-1349137366.24-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 10:22:50.558+10 302536  
2012-10-02-1349137424.22-demo.wav 40067 CanberraBlackMnt 2012-10-02 10:23:47.717+10 293198  
2012-10-02-1349137469.98-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:24:33.552+10 298318  
2012-10-02-1349137474.86-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:24:43.392+10 716936  
2012-10-02-1349137484.52-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:24:48.083+10 289866  
2012-10-02-1349137489.39-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:24:52.66+10 274564  
2012-10-02-1349137493.24-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:24:57.253+10 338056  
2012-10-02-1349137497.57-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:25:06.855+10 729560  
2012-10-02-1349137513.09-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:25:16.393+10 220798  
2012-10-02-1349137516.9-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:25:30.89+10 1175932  
2012-10-02-1349137531.12-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:25:34.113+10 252040  
2012-10-02-1349137534.39-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:25:36.569+10 184456  
2012-10-02-1349137537.94-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:25:40.175+10 188552  
2012-10-02-1349137580.62-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:26:23.713+10 259456  
2012-10-02-1349137584.97-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:26:27.668+10 225416  
2012-10-02-1349137589.87-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:26:33.156+10 273450  
2012-10-02-1349137657.04-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:27:39.523+10 208396  
2012-10-02-1349137783.96-demo.wav 40032 ESA 1 CanberraMtAinsli 2012-10-02 10:29:49.524+10 468724  
2012-10-02-1349137790.51-demo.wav 40032 ESA 1 CanberraMtAinsli 2012-10-02 10:29:57.108+10 553096  
2012-10-02-1349137863.06-demo.wav 40067 CanberraBlackMnt 2012-10-02 10:31:05.588+10 209268  
2012-10-02-1349137869.02-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:31:19.751+10 903304  
2012-10-02-1349137880.68-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:31:22.813+10 180360  
2012-10-02-1349137883.41-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:31:29.129+10 479368  
2012-10-02-1349137889.41-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:31:33.836+10 374920  
2012-10-02-1349137894.14-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:31:36.739+10 215176  
2012-10-02-1349137897.77-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:31:41.923+10 336802  
2012-10-02-1349137902.64-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:31:46.405+10 286266  
2012-10-02-1349137907.77-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:31:50.871+10 243086  
2012-10-02-1349137911.83-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:31:59.482+10 642390  
2012-10-02-1349137919.89-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:32:02.514+10 221320  
2012-10-02-1349137923.93-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:32:09.164+10 440452  
2012-10-02-1349137929.86-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:32:13.456+10 290308  
2012-10-02-1349137933.61-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:32:17.108+10 287778  
2012-10-02-1349137937.93-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:32:24.365+10 533974  
2012-10-02-1349137945.37-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:32:29.486+10 346018  
2012-10-02-1349137978.36-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:33:00.516+10 180360  
2012-10-02-1349137980.81-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:33:03.945+10 264328  
2012-10-02-1349137984.69-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:33:07.884+10 268424  
2012-10-02-1349137988.2-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:33:13.37+10 434312  
2012-10-02-1349137993.85-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:33:20.154+10 527590  
2012-10-02-1349138000.44-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:33:26.533+10 454706  
2012-10-02-1349138006.89-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:33:30.011+10 204010  
2012-10-02-1349138010.51-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 10:33:36.592+10 511784  
2012-10-02-1349138017.89-demo.wav 40032 ESA 1 CanberraMtAinsli 2012-10-02 10:33:53.671+10 1325192  
2012-10-02-1349138034.05-demo.wav 40032 ESA 1 CanberraMtAinsli 2012-10-02 10:33:56.621+10 215176  
2012-10-02-1349138037.49-demo.wav 40032 ESA 1 CanberraMtAinsli 2012-10-02 10:34:05.942+10 710762  
2012-10-02-1349138046.92-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:34:12.321+10 452108  
2012-10-02-1349138054.05-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:34:17.95+10 327816  
2012-10-02-1349138058.58-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:34:21.842+10 274568  
2012-10-02-1349138062.03-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:34:25.192+10 242072  
2012-10-02-1349138066.08-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:34:30.615+10 333072  
2012-10-02-1349138071.1-demo.wav 40032 ESA 1 CanberraMtAinsli 2012-10-02 10:34:36.267+10 432498  
2012-10-02-1349138076.84-demo.wav 40032 ESA 1 CanberraMtAinsli 2012-10-02 10:34:46.085+10 776218  
2012-10-02-1349138124.77-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:35:29.304+10 380518  
2012-10-02-1349138129.6-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:35:31.762+10 182408  
2012-10-02-1349138132.06-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:35:39.529+10 628872  
2012-10-02-1349138140.47-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 10:36:01.314+10 1751350  
2012-10-02-1349138162.29-demo.wav 40032 ESA 1 CanberraMtAinsli 2012-10-02 10:36:09.432+10 597378  
2012-10-02-1349138170.5-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 10:36:16.567+10 507510  
2012-10-02-1349138177.59-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:36:28.314+10 901256  
2012-10-02-1349138191.38-demo.wav 40032 ESA 1 CanberraBlackMnt 2012-10-02 10:36:37.102+10 481416  
2012-10-02-1349138245.07-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:37:29.363+10 359464  
2012-10-02-1349138251.43-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:37:34.915+10 288388  
2012-10-02-1349138256.12-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:37:52.952+10 1415634  
2012-10-02-1349138274.1-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:38:01.547+10 628872  
2012-10-02-1349138306.97-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:38:30.815+10 323720  
2012-10-02-1349138312.42-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:38:42.76+10 868488  
2012-10-02-1349138323.33-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:38:50.4+10 594056  
2012-10-02-1349138330.59-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:39:01.213+10 884618  
2012-10-02-1349138342.07-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:39:10.83+10 672000  
2012-10-02-1349138354.61-demo.wav 40032 ESA 1 CanberraMtAinsli 2012-10-02 10:39:25.024+10 872690  
2012-10-02-1349138365.95-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:39:36.411+10 878566  
2012-10-02-1349138377.39-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:39:47.894+10 883248  
2012-10-02-1349138389.95-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:39:52.169+10 186504  
2012-10-02-1349138437.04-demo.wav 44028 CanberraMtAinsli 2012-10-02 10:40:51.13+10 1185536  
2012-10-02-1349138452.06-demo.wav 44028 CanberraMtAinsli 2012-10-02 10:41:06.568+10 1218628  
2012-10-02-1349138467.04-demo.wav 44028 CanberraMtAinsli 2012-10-02 10:41:11.752+10 395400  
2012-10-02-1349138471.94-demo.wav 44028 CanberraMtAinsli 2012-10-02 10:41:15.436+10 295024  
2012-10-02-1349138523.49-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:42:08.576+10 427770  
2012-10-02-1349138529.17-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 10:42:14.805+10 473224  
2012-10-02-1349138535.11-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 10:42:18.852+10 313480  
2012-10-02-1349138539.08-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 10:42:29.595+10 884872  
2012-10-02-1349138587.61-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:43:12.131+10 380606  
2012-10-02-1349138592.41-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:43:17.044+10 389256  
2012-10-02-1349138598.07-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:43:32.242+10 1189576  
2012-10-02-1349138612.76-demo.wav 44028 CanberraBlackMnt 2012-10-02 10:43:35.848+10 258184  
2012-10-02-1349138768.46-demo.wav 40032 ESA 1 CanberraBlackMnt 2012-10-02 10:46:19.292+10 908032  
2012-10-02-1349138856.31-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 10:47:42.323+10 500128  
2012-10-02-1349138862.81-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 10:47:46.061+10 274568  
2012-10-02-1349138938.98-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 10:49:01.497+10 209674  
2012-10-02-1349138945.22-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:49:22.311+10 1437832  
2012-10-02-1349138966.01-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:49:30.684+10 395400  
2012-10-02-1349138971.81-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:49:35.342+10 297052  
2012-10-02-1349138975.76-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:49:38.276+10 213128  
2012-10-02-1349138978.95-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:49:41.195+10 190600  
2012-10-02-1349138981.52-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:49:44.162+10 207404  
2012-10-02-1349139049.53-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 10:50:52.986+10 289836  
2012-10-02-1349139053.6-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 10:51:04.978+10 956552  
2012-10-02-1349139065.26-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 10:51:09.933+10 393352  
2012-10-02-1349139070.22-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 10:51:19.577+10 727052  
2012-10-02-1349139079.8-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 10:51:26.537+10 510258  
2012-10-02-1349139086.84-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 10:51:30.295+10 226994  
2012-10-02-1349139133.07-demo.wav 40066 CanberraMtAinsli 2012-10-02 10:52:15.591+10 209182  
2012-10-02-1349139137.18-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:52:28.78+10 977032  
2012-10-02-1349139151.4-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:52:36.468+10 422024  
2012-10-02-1349139157.69-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:52:41.333+10 305288  
2012-10-02-1349139162.31-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:52:44.636+10 194696  
2012-10-02-1349139165.9-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:52:53.865+10 666896  
2012-10-02-1349139174.81-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:53:13.426+10 1561936  
2012-10-02-1349139193.72-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 10:53:16.077+10 198792  
2012-10-02-1349139196.61-demo.wav 44027 CanberraBlackMnt 2012-10-02 10:53:22.888+10 528520  
2012-10-02-1349139205.93-demo.wav 44027 CanberraMtAinsli 2012-10-02 10:53:44.722+10 1581192  
2012-10-02-1349139228.21-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:53:55.105+10 577672  
2012-10-02-1349139237.04-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:53:59.331+10 192648  
2012-10-02-1349139240.22-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:54:02.426+10 186504  
2012-10-02-1349139243.22-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:54:06.605+10 286854  
2012-10-02-1349139247.14-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:54:10.577+10 285102  
2012-10-02-1349139250.88-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:54:14.405+10 255546  
2012-10-02-1349139255.12-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:54:19.669+10 382198  
2012-10-02-1349139260.89-demo.wav 44036 CanberraBlackMnt 2012-10-02 10:54:23.466+10 217224  
2012-10-02-1349139269.99-demo.wav 44027 CanberraMtAinsli 2012-10-02 10:54:37.216+10 603338  
2012-10-02-1349139280.19-demo.wav 44027 CanberraBlackMnt 2012-10-02 10:54:46.05+10 491656  
2012-10-02-1349139287.77-demo.wav 44027 CanberraBlackMnt 2012-10-02 10:54:56.511+10 735330  
2012-10-02-1349139297.09-demo.wav 44027 CanberraBlackMnt 2012-10-02 10:55:02.349+10 405250  
2012-10-02-1349139302.8-demo.wav 44027 CanberraBlackMnt 2012-10-02 10:55:11.377+10 707398  
2012-10-02-1349139311.74-demo.wav 44027 CanberraBlackMnt 2012-10-02 10:55:16.114+10 320602  
2012-10-02-1349139316.85-demo.wav 44027 CanberraBlackMnt 2012-10-02 10:55:21.904+10 421146  
2012-10-02-1349139322.69-demo.wav 44027 CanberraBlackMnt 2012-10-02 10:55:26.322+10 274948  
2012-10-02-1349139390.24-demo.wav 40067 CanberraMtAinsli 2012-10-02 10:56:35.459+10 438492  
2012-10-02-1349139491.39-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 10:58:15.368+10 329940  
2012-10-02-1349139498.34-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 10:58:22.938+10 387208  
2012-10-02-1349139658.67-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:01:02.827+10 348702  
2012-10-02-1349139664.93-demo.wav 44028 CanberraMtAinsli 2012-10-02 11:01:12.747+10 657544  
2012-10-02-1349139675.7-demo.wav 44028 CanberraMtAinsli 2012-10-02 11:01:30.753+10 1265800  
2012-10-02-1349139692.5-demo.wav 44028 CanberraMtAinsli 2012-10-02 11:01:34.757+10 190600  
2012-10-02-1349139695.78-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:01:41.616+10 493704  
2012-10-02-1349139702.39-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:01:46.354+10 333960  
2012-10-02-1349139707.61-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:01:58.06+10 878728  
2012-10-02-1349139739.81-demo.wav 44028 CanberraMtAinsli 2012-10-02 11:02:23.77+10 333960  
2012-10-02-1349139744.18-demo.wav 44028 CanberraMtAinsli 2012-10-02 11:02:26.864+10 225416  
2012-10-02-1349139747.19-demo.wav 44028 CanberraMtAinsli 2012-10-02 11:02:30.133+10 245896  
2012-10-02-1349139752.47-demo.wav 44036 CanberraBlackMnt 2012-10-02 11:02:38.985+10 544904  
2012-10-02-1349139761.87-demo.wav 44036 CanberraBlackMnt 2012-10-02 11:02:44.072+10 184456  
2012-10-02-1349139765.33-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:03:04.247+10 1591432  
2012-10-02-1349139785.41-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:03:11.056+10 470430  
2012-10-02-1349139791.6-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:03:19.494+10 665736  
2012-10-02-1349139799.83-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:03:22.796+10 249736  
2012-10-02-1349139803.62-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:03:28.346+10 356052  
2012-10-02-1349139808.58-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:03:34.678+10 454882  
2012-10-02-1349139815.07-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:03:38.284+10 214296  
2012-10-02-1349139818.59-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:03:49.225+10 836684  
2012-10-02-1349139830.55-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:03:56.929+10 497228  
2012-10-02-1349139837.53-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:04:04.824+10 611354  
2012-10-02-1349139846.42-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:04:15.046+10 708678  
2012-10-02-1349139856.48-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:04:26.609+10 840724  
2012-10-02-1349139867.01-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:04:34.87+10 646260  
2012-10-02-1349139877.37-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:04:41.14+10 304732  
2012-10-02-1349139882.12-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:04:50.279+10 685296  
2012-10-02-1349139891.42-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:04:55.461+10 340104  
2012-10-02-1349139895.67-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:05:00.534+10 409018  
2012-10-02-1349139900.8-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:05:03.389+10 212386  
2012-10-02-1349139903.69-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:05:09.259+10 452342  
2012-10-02-1349139909.91-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:05:18.095+10 684606  
2012-10-02-1349139918.3-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:05:21.796+10 295048  
2012-10-02-1349139922.06-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:05:24.618+10 215176  
2012-10-02-1349139927.43-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:05:48.301+10 1755422  
2012-10-02-1349139978.9-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:06:22.846+10 331902  
2012-10-02-1349139983.25-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:06:35.876+10 1060978  
2012-10-02-1349139996.16-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:06:39.338+10 253862  
2012-10-02-1349139999.78-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:06:46.595+10 562414  
2012-10-02-1349140007.14-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:06:50.711+10 274930  
2012-10-02-1349140011.24-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:06:56.245+10 417302  
2012-10-02-1349140016.46-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:06:59.451+10 218402  
2012-10-02-1349140019.74-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:07:09.085+10 762766  
2012-10-02-1349140029.35-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:07:17.745+10 698170  
2012-10-02-1349140038.02-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:07:23.933+10 489530  
2012-10-02-1349140044.2-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:07:28.08+10 314514  
2012-10-02-1349140048.42-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:07:32.354+10 299458  
2012-10-02-1349140053.02-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:07:37.284+10 319610  
2012-10-02-1349140058.05-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:07:48.049+10 839318  
2012-10-02-1349140068.61-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:07:53.201+10 387178  
2012-10-02-1349140073.65-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:07:57.523+10 325768  
2012-10-02-1349140077.72-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:08:02.419+10 395396  
2012-10-02-1349140085.5-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 11:08:17.019+10 967882  
2012-10-02-1349140097.83-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 11:08:23.776+10 501896  
2012-10-02-1349140106.67-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 11:08:30.34+10 307282  
2012-10-02-1349140110.73-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 11:08:40.303+10 803678  
2012-10-02-1349140120.64-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 11:08:45.356+10 393068  
2012-10-02-1349140125.62-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 11:08:49.492+10 280872  
2012-10-02-1349140130.0-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 11:08:57.498+10 585350  
2012-10-02-1349140137.94-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 11:09:06.888+10 751396  
2012-10-02-1349140149.54-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 11:09:13.96+10 370824  
2012-10-02-1349140154.66-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 11:09:17.707+10 252040  
2012-10-02-1349140250.82-demo.wav i1045311 CanberraBlackMnt 2012-10-02 11:10:53.302+10 208648  
2012-10-02-1349140277.01-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:11:20.415+10 285982  
2012-10-02-1349140303.61-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:11:46.063+10 206984  
2012-10-02-1349140348.06-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:12:30.67+10 218098  
2012-10-02-1349140414.62-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:13:37.316+10 224122  
2012-10-02-1349140417.94-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:13:40.236+10 194696  
2012-10-02-1349140421.35-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:13:58.416+10 1433736  
2012-10-02-1349140441.31-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:14:19.229+10 1504860  
2012-10-02-1349140459.5-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:14:22.548+10 256136  
2012-10-02-1349140463.23-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:14:25.881+10 223368  
2012-10-02-1349140466.08-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:14:31.638+10 467080  
2012-10-02-1349140472.08-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:14:35.053+10 249982  
2012-10-02-1349140475.35-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:14:38.929+10 241072  
2012-10-02-1349140479.17-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:14:41.832+10 196624  
2012-10-02-1349140482.74-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:14:46.409+10 308388  
2012-10-02-1349140487.09-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:15:09.646+10 1840808  
2012-10-02-1349140608.65-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:16:53.864+10 438034  
2012-10-02-1349140614.47-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:16:56.897+10 204936  
2012-10-02-1349140617.49-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:17:04.137+10 559240  
2012-10-02-1349140624.43-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:17:11.523+10 598152  
2012-10-02-1349140631.83-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:17:16.386+10 383082  
2012-10-02-1349140637.69-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:17:23.405+10 473950  
2012-10-02-1349140643.7-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:17:26.707+10 205972  
2012-10-02-1349140648.92-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:17:35.145+10 490374  
2012-10-02-1349140655.43-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:17:44.969+10 792516  
2012-10-02-1349140665.23-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:17:49.021+10 275364  
2012-10-02-1349140669.32-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:17:54.858+10 406822  
2012-10-02-1349140675.08-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:17:59.819+10 392976  
2012-10-02-1349140680.27-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:18:03.646+10 259012  
2012-10-02-1349140684.46-demo.wav 44036 CanberraBlackMnt 2012-10-02 11:18:25.956+10 1807088  
2012-10-02-1349140706.23-demo.wav 44036 CanberraBlackMnt 2012-10-02 11:18:28.446+10 186504  
2012-10-02-1349140709.87-demo.wav 44036 CanberraBlackMnt 2012-10-02 11:18:32.513+10 223368  
2012-10-02-1349140713.67-demo.wav 44036 CanberraBlackMnt 2012-10-02 11:18:37.123+10 290952  
2012-10-02-1349140894.23-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:21:37.282+10 254010  
2012-10-02-1349140898.76-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:21:40.887+10 180360  
2012-10-02-1349140901.02-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:21:47.459+10 542856  
2012-10-02-1349140908.38-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:21:52.292+10 321542  
2012-10-02-1349140912.65-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:21:55.976+10 218914  
2012-10-02-1349141079.45-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:24:43.218+10 316322  
2012-10-02-1349141259.11-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:27:41.604+10 209760  
2012-10-02-1349141345.41-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:29:08.024+10 217424  
2012-10-02-1349141349.01-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:29:12.603+10 299106  
2012-10-02-1349141452.49-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:30:56.788+10 360792  
2012-10-02-1349141479.05-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:31:22.626+10 299144  
2012-10-02-1349141505.08-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:31:47.557+10 209032  
2012-10-02-1349141507.83-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:31:54.351+10 546952  
2012-10-02-1349141515.2-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:32:00.045+10 405640  
2012-10-02-1349141520.99-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:32:05.708+10 379146  
2012-10-02-1349141528.43-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:32:12.088+10 306470  
2012-10-02-1349141532.38-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:32:18.706+10 522002  
2012-10-02-1349141538.9-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:32:21.387+10 195966  
2012-10-02-1349141541.93-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:32:25.582+10 289732  
2012-10-02-1349141546.05-demo.wav i1045214 CanberraBlackMnt 2012-10-02 11:32:29.855+10 314192  
2012-10-02-1349141551.0-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:32:49.169+10 1529326  
2012-10-02-1349141593.26-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:33:17.13+10 323720  
2012-10-02-1349141627.5-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:33:51.15+10 307238  
2012-10-02-1349141755.63-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:35:59.499+10 325710  
2012-10-02-1349141759.88-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:36:02.194+10 194696  
2012-10-02-1349141763.04-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:36:06.74+10 311432  
2012-10-02-1349141766.93-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:36:11.191+10 358536  
2012-10-02-1349141771.45-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:36:16.438+10 397440  
2012-10-02-1349141776.81-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:36:22.722+10 435398  
2012-10-02-1349141785.63-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:36:45.832+10 1694570  
2012-10-02-1349141806.1-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:36:49.978+10 325768  
2012-10-02-1349141810.57-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 11:36:59.777+10 774280  
2012-10-02-1349141821.29-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 11:37:18.157+10 1414388  
2012-10-02-1349141964.08-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 11:39:26.576+10 208676  
2012-10-02-1349142037.46-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:40:39.996+10 209942  
2012-10-02-1349142041.39-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:40:51.469+10 847238  
2012-10-02-1349142052.21-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:40:56.143+10 329864  
2012-10-02-1349142056.91-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:41:04.231+10 612480  
2012-10-02-1349142064.34-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:41:09.306+10 417338  
2012-10-02-1349142069.44-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:41:14.174+10 363016  
2012-10-02-1349142108.28-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:41:51.959+10 307668  
2012-10-02-1349142113.24-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:42:06.32+10 1093808  
2012-10-02-1349142126.6-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:42:08.808+10 186504  
2012-10-02-1349142128.94-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:42:12.541+10 303240  
2012-10-02-1349142133.07-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:42:17.695+10 387208  
2012-10-02-1349142141.15-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:42:23.662+10 211080  
2012-10-02-1349142201.88-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:43:25.07+10 268938  
2012-10-02-1349142323.13-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:45:27.737+10 383316  
2012-10-02-1349142355.21-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:45:59.5+10 358622  
2012-10-02-1349142360.87-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:46:08.098+10 602826  
2012-10-02-1349142368.47-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:46:13.395+10 413832  
2012-10-02-1349142373.95-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:46:17.384+10 278304  
2012-10-02-1349142459.94-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:47:44.387+10 371664  
2012-10-02-1349142466.01-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:47:50.243+10 356488  
2012-10-02-1349142470.75-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:47:54.79+10 340104  
2012-10-02-1349142474.92-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:47:58.81+10 325768  
2012-10-02-1349142479.06-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:48:01.666+10 219272  
2012-10-02-1349142481.98-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:48:05.066+10 258080  
2012-10-02-1349142521.54-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:48:44.213+10 221044  
2012-10-02-1349142525.81-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 11:49:00.379+10 1218696  
2012-10-02-1349142540.57-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 11:49:04.04+10 290952  
2012-10-02-1349142544.98-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:49:22.303+10 1454644  
2012-10-02-1349142562.46-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:49:25.541+10 256136  
2012-10-02-1349142566.05-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:49:32.847+10 571528  
2012-10-02-1349142573.13-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:49:36.611+10 290922  
2012-10-02-1349142576.74-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:49:39.292+10 211114  
2012-10-02-1349142579.58-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:49:42.402+10 185366  
2012-10-02-1349142645.48-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:50:48.884+10 288904  
2012-10-02-1349142650.24-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:50:59.012+10 733710  
2012-10-02-1349142660.0-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:51:02.157+10 180360  
2012-10-02-1349142663.2-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:51:10.243+10 592004  
2012-10-02-1349142730.37-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:52:16.919+10 548586  
2012-10-02-1349142737.28-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:52:22.598+10 448648  
2012-10-02-1349142743.06-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:52:25.9+10 239748  
2012-10-02-1349142746.18-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:52:30.846+10 329412  
2012-10-02-1349142751.16-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:52:36.428+10 444552  
2012-10-02-1349142757.06-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:52:41.404+10 364680  
2012-10-02-1349142761.71-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:52:46.143+10 370824  
2012-10-02-1349142766.58-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:52:52.939+10 524492  
2012-10-02-1349142775.53-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:53:13.644+10 1517486  
2012-10-02-1349142795.8-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:53:23.024+10 608392  
2012-10-02-1349142803.17-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:53:28.751+10 469128  
2012-10-02-1349142810.23-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:53:34.032+10 317564  
2012-10-02-1349142816.71-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:53:52.106+10 1292416  
2012-10-02-1349142881.88-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:54:46.359+10 375622  
2012-10-02-1349142887.77-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:54:55.945+10 684364  
2012-10-02-1349142896.65-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:55:03.81+10 602248  
2012-10-02-1349142903.95-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:55:10.112+10 486168  
2012-10-02-1349142911.09-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:55:14.164+10 227172  
2012-10-02-1349142914.94-demo.wav 40067 CanberraBlackMnt 2012-10-02 11:55:20.019+10 427904  
2012-10-02-1349142920.96-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:55:37.327+10 1372214  
2012-10-02-1349142937.77-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:55:42.848+10 426120  
2012-10-02-1349142964.11-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:56:06.632+10 213128  
2012-10-02-1349142966.83-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:56:12.04+10 434312  
2012-10-02-1349142973.61-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:56:18.197+10 387208  
2012-10-02-1349142979.15-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:56:23.812+10 391304  
2012-10-02-1349142985.8-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:56:32.714+10 582326  
2012-10-02-1349142993.89-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:56:41.041+10 599208  
2012-10-02-1349143004.18-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:56:55.796+10 976930  
2012-10-02-1349143016.32-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:57:00.933+10 370732  
2012-10-02-1349143021.19-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:57:10.792+10 754400  
2012-10-02-1349143031.08-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:57:18.623+10 619682  
2012-10-02-1349143038.82-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:57:24.797+10 449066  
2012-10-02-1349143045.19-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:57:29.248+10 333440  
2012-10-02-1349143050.32-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:57:33.666+10 270316  
2012-10-02-1349143055.05-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:57:39.775+10 395398  
2012-10-02-1349143060.38-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:57:43.669+10 270308  
2012-10-02-1349143064.27-demo.wav 40067 CanberraMtAinsli 2012-10-02 11:57:47.131+10 188442  
2012-10-02-1349143098.84-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:58:22.164+10 280676  
2012-10-02-1349143102.43-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:58:28.785+10 530568  
2012-10-02-1349143109.07-demo.wav 44028 CanberraBlackMnt 2012-10-02 11:58:32.645+10 303240  
2012-10-02-1349143216.41-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:00:18.944+10 208892  
2012-10-02-1349143277.55-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 12:01:20.077+10 208996  
2012-10-02-1349143281.19-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:01:25.691+10 371864  
2012-10-02-1349143286.66-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:01:34.563+10 662836  
2012-10-02-1349143295.65-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:01:41.501+10 491656  
2012-10-02-1349143303.39-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:01:46.687+10 272520  
2012-10-02-1349143307.48-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:02:07.216+10 1321990  
2012-10-02-1349143327.44-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:02:09.928+10 209032  
2012-10-02-1349143330.85-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:02:18.35+10 619586  
2012-10-02-1349143339.32-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:02:30.665+10 949844  
2012-10-02-1349143352.35-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:02:34.542+10 184456  
2012-10-02-1349143354.84-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:02:40.013+10 434312  
2012-10-02-1349143361.12-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:02:43.3+10 184154  
2012-10-02-1349143403.18-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:03:27.102+10 328932  
2012-10-02-1349143409.08-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:03:39.944+10 913708  
2012-10-02-1349143420.85-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:03:44.554+10 313480  
2012-10-02-1349143477.29-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 12:04:41.462+10 347960  
2012-10-02-1349143481.8-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 12:04:45.063+10 272520  
2012-10-02-1349143485.63-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 12:04:50.469+10 405640  
2012-10-02-1349143491.38-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:05:04.362+10 1089840  
2012-10-02-1349143634.93-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:07:20.468+10 463922  
2012-10-02-1349143642.77-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:07:26.88+10 345114  
2012-10-02-1349143647.05-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:07:33.181+10 516232  
2012-10-02-1349143683.04-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:08:09.087+10 507432  
2012-10-02-1349143691.27-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:08:16.65+10 450696  
2012-10-02-1349143697.33-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:08:22.807+10 458888  
2012-10-02-1349143788.53-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:09:51.176+10 222650  
2012-10-02-1349143792.51-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:10:02.185+10 810180  
2012-10-02-1349143803.13-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:10:08.407+10 438974  
2012-10-02-1349143808.68-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:10:12.685+10 327816  
2012-10-02-1349143813.8-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:10:21.14+10 615480  
2012-10-02-1349143821.79-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:10:26.005+10 356488  
2012-10-02-1349143828.89-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:10:32.147+10 274568  
2012-10-02-1349143832.69-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:10:36.614+10 329156  
2012-10-02-1349143838.97-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:10:45.212+10 521860  
2012-10-02-1349143845.37-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:10:55.58+10 808578  
2012-10-02-1349143856.46-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:11:00.493+10 335374  
2012-10-02-1349143861.39-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:11:17.306+10 1336336  
2012-10-02-1349143880.02-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:11:28.792+10 731272  
2012-10-02-1349143889.99-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:11:32.764+10 231560  
2012-10-02-1349143922.85-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:12:05.53+10 223982  
2012-10-02-1349143925.7-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:12:10.412+10 393352  
2012-10-02-1349143930.64-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:12:13.284+10 221320  
2012-10-02-1349143934.19-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:12:19.093+10 409736  
2012-10-02-1349143942.83-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:12:25.107+10 191974  
2012-10-02-1349144012.47-demo.wav 44036 CanberraBlackMnt 2012-10-02 12:13:34.974+10 209412  
2012-10-02-1349144017.63-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:13:43.445+10 485512  
2012-10-02-1349144024.25-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:13:48.692+10 372872  
2012-10-02-1349144028.89-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:13:51.117+10 188552  
2012-10-02-1349144031.72-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:13:55.057+10 280712  
2012-10-02-1349144035.19-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:13:57.562+10 200840  
2012-10-02-1349144040.92-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:14:08.712+10 652794  
2012-10-02-1349144049.73-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:14:12.302+10 217224  
2012-10-02-1349144052.58-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:14:15.316+10 229512  
2012-10-02-1349144055.44-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:14:18.508+10 259982  
2012-10-02-1349144058.9-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:14:28.269+10 779210  
2012-10-02-1349144068.45-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:14:37.059+10 690274  
2012-10-02-1349144077.74-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:14:40.855+10 199316  
2012-10-02-1349144081.1-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:14:43.917+10 227242  
2012-10-02-1349144085.28-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:14:49.389+10 322464  
2012-10-02-1349144089.54-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:14:53.107+10 233372  
2012-10-02-1349144093.39-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:15:09.887+10 1372266  
2012-10-02-1349144110.01-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:15:13.541+10 243990  
2012-10-02-1349144113.84-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:15:17.896+10 279476  
2012-10-02-1349144655.11-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:24:18.275+10 263928  
2012-10-02-1349144659.66-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:24:23.619+10 331912  
2012-10-02-1349144663.84-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:24:27.479+10 307336  
2012-10-02-1349144668.76-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:24:31.612+10 239752  
2012-10-02-1349144671.79-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:24:36.492+10 395230  
2012-10-02-1349144676.88-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:24:40.178+10 267760  
2012-10-02-1349144680.4-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:24:44.645+10 356488  
2012-10-02-1349144685.09-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:24:48.139+10 196678  
2012-10-02-1349144689.21-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:25:09.004+10 1658710  
2012-10-02-1349144709.92-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:25:24.796+10 1247978  
2012-10-02-1349144724.99-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:25:27.508+10 213128  
2012-10-02-1349144728.68-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:25:51.371+10 1902870  
2012-10-02-1349144752.38-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:26:01.693+10 782570  
2012-10-02-1349144762.64-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:26:16.242+10 1140108  
2012-10-02-1349144776.47-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:26:21.25+10 405640  
2012-10-02-1349144781.71-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:26:26.323+10 391304  
2012-10-02-1349144843.35-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:27:30.961+10 639624  
2012-10-02-1349144851.59-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:27:33.977+10 198792  
2012-10-02-1349144854.11-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:27:39.32+10 433800  
2012-10-02-1349144859.67-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:27:47.489+10 601488  
2012-10-02-1349144867.85-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:27:53.853+10 484088  
2012-10-02-1349144874.12-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:28:04.731+10 835358  
2012-10-02-1349144885.01-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:28:14.461+10 751208  
2012-10-02-1349144894.59-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:28:26.696+10 958062  
2012-10-02-1349144906.84-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:28:29.887+10 192296  
2012-10-02-1349144911.18-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:28:39.427+10 629840  
2012-10-02-1349144919.56-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:28:47.546+10 653144  
2012-10-02-1349144928.37-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:28:59.988+10 976176  
2012-10-02-1349144940.49-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:29:03.705+10 268424  
2012-10-02-1349144943.91-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:29:09.001+10 426120  
2012-10-02-1349144949.14-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:29:13.708+10 354722  
2012-10-02-1349145027.49-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:30:30.099+10 218954  
2012-10-02-1349145075.35-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 12:31:20.045+10 391934  
2012-10-02-1349145080.57-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 12:31:25.308+10 397448  
2012-10-02-1349145085.45-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 12:31:28.48+10 252040  
2012-10-02-1349145088.8-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 12:31:36.436+10 642316  
2012-10-02-1349145097.3-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 12:31:40.088+10 217904  
2012-10-02-1349145100.29-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 12:31:48.12+10 642316  
2012-10-02-1349145182.43-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:33:06.042+10 303328  
2012-10-02-1349145187.48-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:33:11.035+10 301192  
2012-10-02-1349145191.29-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:33:15.55+10 358536  
2012-10-02-1349145195.82-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:33:19.826+10 335028  
2012-10-02-1349145203.64-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 12:33:31.67+10 675738  
2012-10-02-1349145212.4-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 12:33:36.822+10 372868  
2012-10-02-1349145217.65-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 12:33:41.535+10 303000  
2012-10-02-1349145283.22-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:34:47.174+10 332756  
2012-10-02-1349145324.76-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:35:28.536+10 314384  
2012-10-02-1349145363.56-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:36:06.213+10 224630  
2012-10-02-1349145394.19-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:36:38.42+10 354490  
2012-10-02-1349145429.78-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:37:13.594+10 320626  
2012-10-02-1349145433.92-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:37:16.991+10 260232  
2012-10-02-1349145438.14-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:37:21.761+10 304732  
2012-10-02-1349145442.38-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:37:25.893+10 295048  
2012-10-02-1349145446.13-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:37:29.801+10 307336  
2012-10-02-1349145450.05-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:37:36.293+10 525586  
2012-10-02-1349145458.23-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:37:59.615+10 1794930  
2012-10-02-1349145479.88-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:38:04.497+10 389256  
2012-10-02-1349145484.67-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:38:11.403+10 567424  
2012-10-02-1349145520.59-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:38:43.962+10 282760  
2012-10-02-1349145525.65-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:39:00.072+10 1209278  
2012-10-02-1349145542.28-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:39:07.826+10 467080  
2012-10-02-1349145550.47-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:39:16.392+10 499848  
2012-10-02-1349145557.54-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:39:19.917+10 196744  
2012-10-02-1349145560.71-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:39:30.222+10 782976  
2012-10-02-1349145570.57-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:39:39.618+10 696400  
2012-10-02-1349145579.89-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:39:47.753+10 663688  
2012-10-02-1349145589.49-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:39:51.757+10 192648  
2012-10-02-1349145592.39-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:39:56.255+10 323720  
2012-10-02-1349145703.7-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:41:46.414+10 228508  
2012-10-02-1349145707.9-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:42:01.745+10 1163400  
2012-10-02-1349145722.55-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:42:06.642+10 346248  
2012-10-02-1349145727.15-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:42:09.546+10 200840  
2012-10-02-1349145829.54-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 12:43:55.33+10 484782  
2012-10-02-1349145835.73-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 12:43:59.653+10 327816  
2012-10-02-1349145927.61-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:45:31.019+10 285372  
2012-10-02-1349145932.04-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:45:38.5+10 540808  
2012-10-02-1349145939.16-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:45:44.928+10 452930  
2012-10-02-1349145945.32-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:45:49.842+10 315940  
2012-10-02-1349145979.04-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:46:21.587+10 209268  
2012-10-02-1349146042.8-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 12:47:25.323+10 209444  
2012-10-02-1349146048.32-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:47:42.471+10 1190024  
2012-10-02-1349146063.5-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:47:49.268+10 482454  
2012-10-02-1349146069.51-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:47:56.126+10 557192  
2012-10-02-1349146077.05-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:48:01.98+10 407688  
2012-10-02-1349146083.32-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:48:09.988+10 561288  
2012-10-02-1349146090.5-demo.wav 44028 CanberraMtAinsli 2012-10-02 12:48:14.007+10 292998  
2012-10-02-1349146130.37-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:48:56.008+10 474562  
2012-10-02-1349146136.77-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:49:00.985+10 352392  
2012-10-02-1349146143.0-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:49:07.684+10 395400  
2012-10-02-1349146147.97-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:49:14.385+10 540664  
2012-10-02-1349146154.65-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:49:18.31+10 253318  
2012-10-02-1349146158.85-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:49:23.59+10 390356  
2012-10-02-1349146167.14-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:49:31.661+10 378186  
2012-10-02-1349146172.4-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:49:35.699+10 278664  
2012-10-02-1349146175.89-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:49:39.702+10 321672  
2012-10-02-1349146180.95-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:49:46.289+10 447148  
2012-10-02-1349146186.95-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:49:49.768+10 233608  
2012-10-02-1349146189.91-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:49:56.516+10 552958  
2012-10-02-1349146197.15-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:50:04.156+10 560492  
2012-10-02-1349146204.6-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:50:12.58+10 659476  
2012-10-02-1349146213.12-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:50:15.914+10 226430  
2012-10-02-1349146216.14-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:50:19.041+10 219874  
2012-10-02-1349146221.65-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:50:28.405+10 568742  
2012-10-02-1349146230.77-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:50:35.806+10 424072  
2012-10-02-1349146236.01-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:50:42.538+10 549000  
2012-10-02-1349146243.34-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:50:48.888+10 462984  
2012-10-02-1349146250.06-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:50:54.631+10 385160  
2012-10-02-1349146256.69-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:51:10.489+10 1154624  
2012-10-02-1349146270.75-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:51:17.796+10 594042  
2012-10-02-1349146278.33-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:51:23.172+10 407586  
2012-10-02-1349146283.67-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:51:28.596+10 415880  
2012-10-02-1349146289.09-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:51:38.569+10 745472  
2012-10-02-1349146301.72-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:51:52.271+10 881798  
2012-10-02-1349146313.61-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:51:59.068+10 457176  
2012-10-02-1349146320.68-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:52:03.966+10 278664  
2012-10-02-1349146324.44-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:52:07.125+10 225416  
2012-10-02-1349146328.62-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:52:18.689+10 846096  
2012-10-02-1349146460.22-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:54:22.68+10 208350  
2012-10-02-1349146542.92-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:55:46.139+10 268700  
2012-10-02-1349146547.31-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:55:49.538+10 186504  
2012-10-02-1349146549.74-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:55:56.922+10 604278  
2012-10-02-1349146557.15-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:55:59.747+10 194076  
2012-10-02-1349146560.26-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:56:12.221+10 1005704  
2012-10-02-1349146576.3-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:56:21.554+10 442504  
2012-10-02-1349146582.97-demo.wav 44028 CanberraBlackMnt 2012-10-02 12:56:27.265+10 362632  
2012-10-02-1349146707.72-demo.wav 40067 CanberraBlackMnt 2012-10-02 12:58:33.902+10 520082  
2012-10-02-1349146786.6-demo.wav 40067 CanberraMtAinsli 2012-10-02 12:59:49.099+10 210418  
2012-10-02-1349146963.1-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:02:48.801+10 478850  
2012-10-02-1349147072.96-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:04:35.53+10 210654  
2012-10-02-1349147075.84-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:04:40.683+10 407688  
2012-10-02-1349147081.63-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:04:44.385+10 233608  
2012-10-02-1349147084.61-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:04:49.409+10 405638  
2012-10-02-1349147090.28-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:05:07.419+10 1421342  
2012-10-02-1349147107.69-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:05:11.311+10 287706  
2012-10-02-1349147173.54-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 13:06:16.569+10 252180  
2012-10-02-1349147176.86-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 13:06:20.23+10 282760  
2012-10-02-1349147181.51-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 13:06:28.228+10 561288  
2012-10-02-1349147189.12-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 13:06:40.869+10 959228  
2012-10-02-1349147201.11-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 13:06:48.844+10 615570  
2012-10-02-1349147212.18-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 13:06:57.756+10 465306  
2012-10-02-1349147218.38-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 13:07:05.516+10 598152  
2012-10-02-1349147225.85-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 13:07:14.103+10 665214  
2012-10-02-1349147344.52-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 13:09:13.37+10 741406  
2012-10-02-1349147353.51-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 13:09:16.614+10 260232  
2012-10-02-1349147357.18-demo.wav i1045264 CanberraBlackMnt 2012-10-02 13:09:29.822+10 1063048  
2012-10-02-1349147370.12-demo.wav i1045264 CanberraBlackMnt 2012-10-02 13:09:36.458+10 534664  
2012-10-02-1349147376.91-demo.wav i1045264 CanberraBlackMnt 2012-10-02 13:09:46.22+10 768022  
2012-10-02-1349147409.68-demo.wav i1045264 CanberraBlackMnt 2012-10-02 13:10:21.649+10 1007752  
2012-10-02-1349147422.84-demo.wav i1045264 CanberraBlackMnt 2012-10-02 13:10:28.109+10 429346  
2012-10-02-1349147429.56-demo.wav i1045264 CanberraBlackMnt 2012-10-02 13:10:32.736+10 255544  
2012-10-02-1349147435.55-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:10:55.53+10 1681102  
2012-10-02-1349147613.88-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:13:36.366+10 208368  
2012-10-02-1349147670.57-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:14:33.33+10 229870  
2012-10-02-1349147674.25-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:14:51.657+10 1455050  
2012-10-02-1349147691.88-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:14:54.433+10 215176  
2012-10-02-1349147695.02-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:15:02.265+10 608392  
2012-10-02-1349147702.53-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:15:04.675+10 182158  
2012-10-02-1349147705.75-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:15:25.523+10 1655090  
2012-10-02-1349147726.42-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:15:30.996+10 385160  
2012-10-02-1349147913.27-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 13:18:37.029+10 317272  
2012-10-02-1349147920.16-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 13:18:53.809+10 1144046  
2012-10-02-1349147935.98-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 13:18:59.689+10 311432  
2012-10-02-1349147940.36-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 13:19:03.683+10 278664  
2012-10-02-1349147943.87-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 13:19:12.742+10 703320  
2012-10-02-1349147953.22-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 13:19:22.459+10 776304  
2012-10-02-1349147964.09-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 13:19:29.253+10 434312  
2012-10-02-1349147969.74-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 13:19:33.688+10 320690  
2012-10-02-1349147974.13-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 13:19:41.288+10 602248  
2012-10-02-1349147983.06-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 13:19:46.297+10 272520  
2012-10-02-1349147987.16-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 13:19:56.06+10 721864  
2012-10-02-1349147996.62-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 13:20:03.104+10 539358  
2012-10-02-1349148004.52-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 13:20:07.41+10 241800  
2012-10-02-1349148007.87-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 13:20:24.238+10 1374344  
2012-10-02-1349148025.3-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 13:20:35.793+10 876984  
2012-10-02-1349148385.38-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:26:27.958+10 210002  
2012-10-02-1349148389.0-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:26:33.03+10 334494  
2012-10-02-1349148393.51-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:26:40.432+10 583816  
2012-10-02-1349148401.19-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:26:43.576+10 200840  
2012-10-02-1349148441.59-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 13:27:26.516+10 413974  
2012-10-02-1349148447.96-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 13:27:33.864+10 490226  
2012-10-02-1349148454.28-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 13:27:40.189+10 495752  
2012-10-02-1349148460.54-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 13:27:46.41+10 472456  
2012-10-02-1349148466.77-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 13:27:52.36+10 407392  
2012-10-02-1349148472.56-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 13:27:55.369+10 181518  
2012-10-02-1349148475.52-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 13:28:00.551+10 364720  
2012-10-02-1349148480.69-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 13:28:04.9+10 289050  
2012-10-02-1349148507.67-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:28:30.119+10 206982  
2012-10-02-1349148510.26-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:28:32.768+10 213128  
2012-10-02-1349148514.35-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:28:38.384+10 333960  
2012-10-02-1349148518.67-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:28:46.838+10 686216  
2012-10-02-1349148528.44-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:28:55.262+10 539864  
2012-10-02-1349148535.4-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:29:00.063+10 334598  
2012-10-02-1349148541.71-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:29:04.323+10 204792  
2012-10-02-1349148545.86-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:29:09.108+10 254378  
2012-10-02-1349148550.02-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:29:16.208+10 518576  
2012-10-02-1349148556.5-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:29:19.861+10 284808  
2012-10-02-1349148561.45-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:29:23.833+10 200840  
2012-10-02-1349148608.82-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:30:13.668+10 406174  
2012-10-02-1349148615.05-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:30:25.792+10 903304  
2012-10-02-1349148626.89-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:30:30.131+10 272520  
2012-10-02-1349148630.27-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:30:35.731+10 458878  
2012-10-02-1349148636.08-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:30:41.746+10 475480  
2012-10-02-1349148642.7-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:30:45.638+10 211282  
2012-10-02-1349148674.73-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:31:17.002+10 194696  
2012-10-02-1349148677.24-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:31:19.712+10 206984  
2012-10-02-1349148699.12-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:31:41.997+10 243848  
2012-10-02-1349148702.75-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:31:46.368+10 305288  
2012-10-02-1349148707.2-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:31:51.395+10 354440  
2012-10-02-1349148711.59-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:31:55.318+10 313480  
2012-10-02-1349148715.45-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:32:02.977+10 631956  
2012-10-02-1349148723.27-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:32:13.601+10 859712  
2012-10-02-1349148735.77-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:32:25.996+10 830642  
2012-10-02-1349148746.13-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:32:43.001+10 1401626  
2012-10-02-1349148763.31-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:32:47.739+10 321344  
2012-10-02-1349148768.03-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:32:52.764+10 355884  
2012-10-02-1349148773.37-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 13:33:19.046+10 2149408  
2012-10-02-1349148799.35-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 13:33:31.733+10 986892  
2012-10-02-1349148812.04-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 13:33:36.654+10 354378  
2012-10-02-1349148877.81-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:34:40.315+10 209622  
2012-10-02-1349148880.61-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:34:44.464+10 321672  
2012-10-02-1349148885.1-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:34:48.913+10 321672  
2012-10-02-1349148889.62-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:34:52.583+10 252040  
2012-10-02-1349148893.52-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:34:57.927+10 366728  
2012-10-02-1349148901.08-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:35:03.702+10 221320  
2012-10-02-1349148937.17-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:35:40.376+10 269130  
2012-10-02-1349149224.89-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 13:40:27.386+10 209346  
2012-10-02-1349149230.74-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:40:39.528+10 739464  
2012-10-02-1349149242.21-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:40:50.089+10 661340  
2012-10-02-1349149250.4-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:40:55.035+10 331230  
2012-10-02-1349149255.31-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:40:58.385+10 247498  
2012-10-02-1349149258.89-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 13:41:10.967+10 1012524  
2012-10-02-1349149453.06-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:44:18.647+10 467116  
2012-10-02-1349149662.98-demo.wav 44028 CanberraBlackMnt 2012-10-02 13:47:45.473+10 208508  
2012-10-02-1349149666.73-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:47:53.595+10 575600  
2012-10-02-1349149675.83-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:47:59.767+10 331912  
2012-10-02-1349149679.96-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:48:02.495+10 215176  
2012-10-02-1349149683.01-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:48:09.148+10 511942  
2012-10-02-1349149689.33-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:48:20.155+10 847208  
2012-10-02-1349149700.37-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:48:33.651+10 1054684  
2012-10-02-1349149713.93-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:48:42.535+10 659360  
2012-10-02-1349149983.39-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:53:05.906+10 210310  
2012-10-02-1349150120.38-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:55:23.758+10 284198  
2012-10-02-1349150124.26-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:55:31.003+10 567432  
2012-10-02-1349150132.94-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:55:39.01+10 510088  
2012-10-02-1349150139.16-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:55:44.322+10 387250  
2012-10-02-1349150144.68-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:55:51.629+10 521124  
2012-10-02-1349150151.77-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:55:55.792+10 272588  
2012-10-02-1349150299.36-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:58:23.742+10 370286  
2012-10-02-1349150303.97-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:58:28.416+10 358536  
2012-10-02-1349150310.61-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:58:32.739+10 180360  
2012-10-02-1349150313.19-demo.wav 40067 CanberraBlackMnt 2012-10-02 13:58:45.677+10 989734  
2012-10-02-1349150351.41-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:59:17.104+10 481416  
2012-10-02-1349150358.07-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:59:23.006+10 413832  
2012-10-02-1349150363.14-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:59:25.32+10 182408  
2012-10-02-1349150393.24-demo.wav 40067 CanberraMtAinsli 2012-10-02 13:59:55.871+10 221320  
2012-10-02-1349150423.77-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:00:27.377+10 302932  
2012-10-02-1349150474.79-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:01:18.871+10 340970  
2012-10-02-1349150480.31-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:01:26.113+10 487560  
2012-10-02-1349150486.47-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:01:34.281+10 655496  
2012-10-02-1349150494.5-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:01:37.6+10 259946  
2012-10-02-1349150497.91-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:01:41.365+10 226402  
2012-10-02-1349150501.63-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:01:44.492+10 208240  
2012-10-02-1349150507.85-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 14:02:05.541+10 1487444  
2012-10-02-1349150601.95-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:03:25.589+10 303442  
2012-10-02-1349150633.25-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:03:55.788+10 209674  
2012-10-02-1349150664.54-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:04:27.564+10 255108  
2012-10-02-1349150669.14-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:04:41.921+10 1075336  
2012-10-02-1349150684.42-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:05:03.441+10 1597576  
2012-10-02-1349150703.57-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:05:10.684+10 600200  
2012-10-02-1349150710.99-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:05:20.767+10 765018  
2012-10-02-1349151253.71-demo.wav 44011 ACTION 44011 CanberraMtAinsli 2012-10-02 14:14:19.205+10 459696  
2012-10-02-1349151259.36-demo.wav 44011 ACTION 44011 CanberraMtAinsli 2012-10-02 14:14:21.773+10 202888  
2012-10-02-1349151296.72-demo.wav 44011 ACTION 44011 CanberraMtAinsli 2012-10-02 14:15:00.947+10 354596  
2012-10-02-1349151301.21-demo.wav 44011 ACTION 44011 CanberraMtAinsli 2012-10-02 14:15:04.542+10 274568  
2012-10-02-1349151305.14-demo.wav 44011 ACTION 44011 CanberraMtAinsli 2012-10-02 14:15:11.109+10 501896  
2012-10-02-1349151312.03-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:15:21.018+10 751044  
2012-10-02-1349151322.18-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:15:29.219+10 592008  
2012-10-02-1349151329.79-demo.wav 44028 CanberraMtAinsli 2012-10-02 14:15:50.573+10 1421954  
2012-10-02-1349151350.69-demo.wav 44028 CanberraMtAinsli 2012-10-02 14:15:56.621+10 499848  
2012-10-02-1349151356.83-demo.wav 44028 CanberraMtAinsli 2012-10-02 14:16:04.551+10 649352  
2012-10-02-1349151364.68-demo.wav 44028 CanberraMtAinsli 2012-10-02 14:16:07.138+10 196582  
2012-10-02-1349151450.13-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:17:33.709+10 302386  
2012-10-02-1349151454.43-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:17:37.109+10 227464  
2012-10-02-1349151458.13-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:17:43.46+10 448648  
2012-10-02-1349151463.62-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:17:48.662+10 418734  
2012-10-02-1349151468.78-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:17:51.552+10 199286  
2012-10-02-1349151471.78-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:17:54.727+10 209320  
2012-10-02-1349151475.48-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:17:59.179+10 274802  
2012-10-02-1349151480.16-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:18:05.035+10 370398  
2012-10-02-1349151486.3-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:18:10.19+10 328586  
2012-10-02-1349151546.87-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:19:10.304+10 290780  
2012-10-02-1349151550.64-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:19:19.241+10 723080  
2012-10-02-1349151559.36-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:19:23.758+10 370652  
2012-10-02-1349151564.1-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:19:26.71+10 220690  
2012-10-02-1349151568.14-demo.wav 44031 CanberraBlackMnt 2012-10-02 14:19:49.455+10 1791938  
2012-10-02-1349151634.64-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:20:38.33+10 308204  
2012-10-02-1349151640.21-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:20:50.407+10 858248  
2012-10-02-1349151650.54-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:20:56.229+10 481416  
2012-10-02-1349151657.51-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:21:01.349+10 325660  
2012-10-02-1349151661.58-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:21:10.204+10 722260  
2012-10-02-1349151670.38-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:21:21.72+10 938560  
2012-10-02-1349151682.08-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:21:26.554+10 363240  
2012-10-02-1349151686.83-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:21:30.35+10 235662  
2012-10-02-1349151690.83-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:21:36.092+10 442678  
2012-10-02-1349151696.38-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:21:41.868+10 462984  
2012-10-02-1349151702.5-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:21:51.806+10 754244  
2012-10-02-1349151714.09-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:21:58.475+10 354326  
2012-10-02-1349151771.13-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:22:54.471+10 282122  
2012-10-02-1349151775.77-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:22:58.891+10 260538  
2012-10-02-1349151780.15-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:23:07.652+10 629440  
2012-10-02-1349151787.92-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:23:10.493+10 219272  
2012-10-02-1349151790.76-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:23:12.886+10 182408  
2012-10-02-1349151846.89-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:24:09.824+10 247778  
2012-10-02-1349151851.16-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:24:14.181+10 252202  
2012-10-02-1349151854.3-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:24:18.634+10 366728  
2012-10-02-1349151859.26-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:24:23.899+10 389256  
2012-10-02-1349151865.5-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:24:27.745+10 190600  
2012-10-02-1349151921.97-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:25:28.109+10 515198  
2012-10-02-1349151928.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:25:36.978+10 715412  
2012-10-02-1349152009.35-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:26:52.643+10 275792  
2012-10-02-1349152013.13-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:26:55.54+10 200840  
2012-10-02-1349152015.81-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:27:01.721+10 499848  
2012-10-02-1349152021.96-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:27:05.413+10 290952  
2012-10-02-1349152025.72-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 14:27:21.28+10 1296520  
2012-10-02-1349152041.57-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 14:27:24.448+10 235656  
2012-10-02-1349152045.83-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 14:27:50.831+10 2060920  
2012-10-02-1349152071.6-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 14:28:00.236+10 719218  
2012-10-02-1349152080.37-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 14:28:04.903+10 381064  
2012-10-02-1349152085.12-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 14:28:11.171+10 484132  
2012-10-02-1349152091.31-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 14:28:26.021+10 1173532  
2012-10-02-1349152106.17-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 14:28:33.02+10 510832  
2012-10-02-1349152113.89-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 14:28:40.913+10 588198  
2012-10-02-1349152121.81-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:29:02.814+10 1763464  
2012-10-02-1349152142.98-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:29:05.488+10 209032  
2012-10-02-1349152145.63-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:29:07.956+10 192648  
2012-10-02-1349152148.12-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:29:12.436+10 362632  
2012-10-02-1349152152.71-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:29:19.071+10 532412  
2012-10-02-1349152159.9-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:29:25.188+10 442724  
2012-10-02-1349152165.41-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:29:38.516+10 1077290  
2012-10-02-1349152178.68-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:29:46.14+10 566482  
2012-10-02-1349152186.29-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:29:54.43+10 664978  
2012-10-02-1349152194.67-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:30:01.957+10 586306  
2012-10-02-1349152202.34-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:30:08.095+10 483362  
2012-10-02-1349152208.48-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:30:11.98+10 265118  
2012-10-02-1349152212.26-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:30:23.463+10 914908  
2012-10-02-1349152250.04-demo.wav 44013 ACTION 44013 CanberraBlackMnt 2012-10-02 14:30:54.108+10 344200  
2012-10-02-1349152254.65-demo.wav 44013 ACTION 44013 CanberraBlackMnt 2012-10-02 14:30:59.284+10 389256  
2012-10-02-1349152259.59-demo.wav 44013 ACTION 44013 CanberraBlackMnt 2012-10-02 14:31:05.69+10 510044  
2012-10-02-1349152267.42-demo.wav 44013 ACTION 44013 CanberraBlackMnt 2012-10-02 14:31:09.606+10 182408  
2012-10-02-1349152271.83-demo.wav 44013 ACTION 44013 CanberraBlackMnt 2012-10-02 14:31:16.736+10 413042  
2012-10-02-1349152277.05-demo.wav 44013 ACTION 44013 CanberraBlackMnt 2012-10-02 14:31:22.488+10 458558  
2012-10-02-1349152282.81-demo.wav 44013 ACTION 44013 CanberraBlackMnt 2012-10-02 14:31:25.486+10 197786  
2012-10-02-1349152286.07-demo.wav 44013 ACTION 44013 CanberraBlackMnt 2012-10-02 14:31:29.83+10 263150  
2012-10-02-1349152291.68-demo.wav 44013 ACTION 44013 CanberraBlackMnt 2012-10-02 14:31:54.124+10 1884296  
2012-10-02-1349152314.34-demo.wav 44013 ACTION 44013 CanberraBlackMnt 2012-10-02 14:31:59.458+10 430216  
2012-10-02-1349152320.75-demo.wav 44013 ACTION 44013 CanberraBlackMnt 2012-10-02 14:32:06.055+10 446600  
2012-10-02-1349152326.18-demo.wav 44013 ACTION 44013 CanberraBlackMnt 2012-10-02 14:32:11.781+10 446688  
2012-10-02-1349152334.8-demo.wav 44013 ACTION 44013 CanberraBlackMnt 2012-10-02 14:32:19.688+10 409020  
2012-10-02-1349152341.71-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:32:37.106+10 1292424  
2012-10-02-1349152357.4-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:32:41.285+10 323720  
2012-10-02-1349152394.75-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:33:18.142+10 286856  
2012-10-02-1349152400.3-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:33:26.819+10 546952  
2012-10-02-1349152407.77-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:33:30.292+10 204936  
2012-10-02-1349152410.43-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:33:36.606+10 460838  
2012-10-02-1349152596.54-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:36:40.914+10 367020  
2012-10-02-1349152601.04-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:36:45.046+10 337852  
2012-10-02-1349152606.74-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:36:53.369+10 529120  
2012-10-02-1349152614.12-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:36:58.004+10 308826  
2012-10-02-1349152618.26-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:37:04.129+10 492154  
2012-10-02-1349152624.5-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:37:16.018+10 966792  
2012-10-02-1349152638.08-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:37:28.051+10 837768  
2012-10-02-1349152648.19-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:37:33.636+10 458888  
2012-10-02-1349152654.21-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:37:38.055+10 315542  
2012-10-02-1349152658.74-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:37:48.302+10 801564  
2012-10-02-1349152668.63-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:37:51.796+10 208084  
2012-10-02-1349152672.24-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:38:05.25+10 1091552  
2012-10-02-1349152687.85-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:38:11.153+10 277144  
2012-10-02-1349152691.28-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:38:14.17+10 245896  
2012-10-02-1349152694.57-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:38:17.01+10 206984  
2012-10-02-1349152697.73-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 14:38:40.629+10 1917064  
2012-10-02-1349152720.89-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 14:38:48.624+10 649352  
2012-10-02-1349152728.86-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 14:38:59.698+10 908228  
2012-10-02-1349152749.37-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:39:18.328+10 749210  
2012-10-02-1349152758.45-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:39:25.739+10 589770  
2012-10-02-1349152766.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:39:31.713+10 458826  
2012-10-02-1349152773.31-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:39:36.873+10 267356  
2012-10-02-1349152777.0-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:39:41.786+10 398078  
2012-10-02-1349152781.91-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:39:59.483+10 1429932  
2012-10-02-1349152800.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:40:06.712+10 543336  
2012-10-02-1349152892.12-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:41:35.022+10 241222  
2012-10-02-1349152896.5-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:41:49.108+10 1063048  
2012-10-02-1349152909.41-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:41:51.883+10 209032  
2012-10-02-1349152913.12-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 14:42:14.135+10 1759150  
2012-10-02-1349152935.14-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 14:42:20.253+10 428168  
2012-10-02-1349153001.85-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 14:43:26.046+10 353438  
2012-10-02-1349153007.65-demo.wav 44028 CanberraBlackMnt 2012-10-02 14:43:39.435+10 987272  
2012-10-02-1349153061.2-demo.wav 44036 CanberraBlackMnt 2012-10-02 14:44:25.237+10 340280  
2012-10-02-1349153125.49-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:45:29.467+10 335326  
2012-10-02-1349153130.76-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:45:35.707+10 417928  
2012-10-02-1349153136.04-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:45:40.191+10 350344  
2012-10-02-1349153141.24-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:45:47.372+10 513312  
2012-10-02-1349153147.5-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:45:52.911+10 456840  
2012-10-02-1349153153.06-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:45:57.06+10 338056  
2012-10-02-1349153158.16-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:46:02.661+10 377368  
2012-10-02-1349153163.76-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:46:10.864+10 596586  
2012-10-02-1349153174.21-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:46:22.002+10 651282  
2012-10-02-1349153207.74-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:46:51.747+10 331912  
2012-10-02-1349153212.08-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:46:57.206+10 432264  
2012-10-02-1349153218.12-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:47:00.638+10 213128  
2012-10-02-1349153220.79-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:47:04.34+10 291078  
2012-10-02-1349153228.4-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:47:29.341+10 1438738  
2012-10-02-1349153249.59-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:47:32.032+10 206984  
2012-10-02-1349153252.19-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:47:34.726+10 213128  
2012-10-02-1349153254.96-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:47:38.298+10 280712  
2012-10-02-1349153258.43-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:47:40.873+10 204936  
2012-10-02-1349153261.84-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:47:50.441+10 689530  
2012-10-02-1349153271.38-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:48:12.403+10 1763862  
2012-10-02-1349153292.62-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:48:15.249+10 219272  
2012-10-02-1349153295.56-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:48:18.416+10 241800  
2012-10-02-1349153298.9-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:48:32.276+10 1126536  
2012-10-02-1349153315.57-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:48:48.092+10 1047778  
2012-10-02-1349153328.37-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:48:50.867+10 206984  
2012-10-02-1349153331.09-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:48:54.357+10 276606  
2012-10-02-1349153334.57-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:48:57.706+10 207466  
2012-10-02-1349153389.75-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:49:52.315+10 215746  
2012-10-02-1349153392.65-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:49:55.006+10 198792  
2012-10-02-1349153395.12-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:50:02.17+10 573712  
2012-10-02-1349153402.39-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:50:08.033+10 414640  
2012-10-02-1349153408.16-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 14:50:13.628+10 458888  
2012-10-02-1349153413.75-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 14:50:18.206+10 374920  
2012-10-02-1349153418.33-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 14:50:22.513+10 352392  
2012-10-02-1349153423.47-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 14:50:26.833+10 280038  
2012-10-02-1349153426.95-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 14:50:32.425+10 440546  
2012-10-02-1349153432.56-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 14:50:41.357+10 701030  
2012-10-02-1349153441.48-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 14:50:55.504+10 1162946  
2012-10-02-1349153455.63-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 14:51:12.175+10 1376854  
2012-10-02-1349153472.3-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 14:51:24.874+10 1046020  
2012-10-02-1349153485.62-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:51:46.432+10 1744490  
2012-10-02-1349153506.55-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:51:49.002+10 209032  
2012-10-02-1349153509.93-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:51:52.608+10 227464  
2012-10-02-1349153512.73-demo.wav 40067 CanberraMtAinsli 2012-10-02 14:51:55.018+10 194696  
2012-10-02-1349153563.57-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:52:48.509+10 414218  
2012-10-02-1349153568.63-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:52:52.476+10 323714  
2012-10-02-1349153572.61-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:52:57.466+10 365994  
2012-10-02-1349153578.05-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:53:04.688+10 497230  
2012-10-02-1349153585.44-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:53:11.023+10 469354  
2012-10-02-1349153591.21-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:53:13.496+10 194696  
2012-10-02-1349153594.88-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:53:24.601+10 812222  
2012-10-02-1349153605.44-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 14:53:33.791+10 698744  
2012-10-02-1349153677.49-demo.wav 40067 CanberraBlackMnt 2012-10-02 14:54:40.528+10 254516  
2012-10-02-1349153738.93-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 14:55:45.031+10 512908  
2012-10-02-1349153784.15-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 14:56:29.079+10 411850  
2012-10-02-1349153973.43-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 14:59:36.319+10 242072  
2012-10-02-1349153976.44-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 14:59:40.032+10 303240  
2012-10-02-1349153980.45-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 14:59:52.877+10 1042568  
2012-10-02-1349153993.51-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 15:00:01.396+10 598162  
2012-10-02-1349154093.31-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:01:38.251+10 412456  
2012-10-02-1349154098.39-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:01:40.939+10 213128  
2012-10-02-1349154101.53-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:01:48.42+10 577642  
2012-10-02-1349154109.38-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:01:56.5+10 595286  
2012-10-02-1349154117.42-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 15:02:02.79+10 450694  
2012-10-02-1349154124.24-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 15:02:09.106+10 405036  
2012-10-02-1349154189.53-demo.wav 44036 CanberraBlackMnt 2012-10-02 15:03:13.693+10 349000  
2012-10-02-1349154194.33-demo.wav 44036 CanberraBlackMnt 2012-10-02 15:03:16.565+10 186504  
2012-10-02-1349154197.46-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:03:35.898+10 1548424  
2012-10-02-1349154216.03-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:03:39.647+10 305288  
2012-10-02-1349154242.17-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:04:07.609+10 456840  
2012-10-02-1349154249.21-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:04:26.86+10 1482888  
2012-10-02-1349154267.96-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:04:39.461+10 966788  
2012-10-02-1349154279.59-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:04:42.587+10 221984  
2012-10-02-1349154282.78-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:04:52.407+10 807048  
2012-10-02-1349154292.76-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:04:55.908+10 266376  
2012-10-02-1349154297.14-demo.wav 44036 CanberraBlackMnt 2012-10-02 15:05:09.544+10 1042568  
2012-10-02-1349154311.93-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:05:21.19+10 780424  
2012-10-02-1349154321.37-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:05:23.758+10 200840  
2012-10-02-1349154323.89-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:05:27.14+10 274568  
2012-10-02-1349154327.43-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:05:30.011+10 219272  
2012-10-02-1349154330.27-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:05:35.371+10 411080  
2012-10-02-1349154336.24-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:05:40.11+10 327698  
2012-10-02-1349154340.31-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:05:45.741+10 458724  
2012-10-02-1349154346.03-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:05:55.216+10 765690  
2012-10-02-1349154355.46-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:05:59.683+10 303890  
2012-10-02-1349154360.0-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 15:06:08.191+10 686258  
2012-10-02-1349154368.85-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 15:06:13.167+10 362632  
2012-10-02-1349154373.39-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 15:06:17.043+10 309268  
2012-10-02-1349154460.83-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:07:48.266+10 626352  
2012-10-02-1349154502.8-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:08:25.578+10 234416  
2012-10-02-1349154505.93-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:08:28.097+10 182408  
2012-10-02-1349154508.46-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:08:33.618+10 430216  
2012-10-02-1349154513.77-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:08:42.535+10 735186  
2012-10-02-1349154523.56-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:08:47.16+10 299930  
2012-10-02-1349154527.33-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:08:58.504+10 924540  
2012-10-02-1349154538.77-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:09:05.156+10 483936  
2012-10-02-1349154545.58-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:09:08.299+10 191864  
2012-10-02-1349154550.3-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 15:09:27.791+10 1470600  
2012-10-02-1349154568.76-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 15:09:41.039+10 1029912  
2012-10-02-1349154582.18-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 15:09:47.021+10 400778  
2012-10-02-1349154588.0-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 15:10:02.521+10 1220744  
2012-10-02-1349154602.76-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 15:10:05.063+10 190600  
2012-10-02-1349154605.92-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 15:10:12.217+10 527048  
2012-10-02-1349154613.15-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 15:10:17.668+10 379016  
2012-10-02-1349154617.94-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 15:10:21.504+10 299144  
2012-10-02-1349154623.01-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:10:29.303+10 528520  
2012-10-02-1349154631.8-demo.wav 44036 CanberraBlackMnt 2012-10-02 15:10:37.217+10 456840  
2012-10-02-1349154637.78-demo.wav 44036 CanberraBlackMnt 2012-10-02 15:10:43.677+10 491656  
2012-10-02-1349154643.89-demo.wav 44036 CanberraBlackMnt 2012-10-02 15:10:50.312+10 529354  
2012-10-02-1349154650.65-demo.wav 44036 CanberraBlackMnt 2012-10-02 15:11:04.05+10 1124488  
2012-10-02-1349154667.93-demo.wav 10076 WARINGH CanberraBlackMnt 2012-10-02 15:11:23.757+10 1325642  
2012-10-02-1349154684.88-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:11:41.312+10 1373436  
2012-10-02-1349154701.61-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:11:43.833+10 188552  
2012-10-02-1349154703.95-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:12:04.579+10 1672544  
2012-10-02-1349154726.56-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:12:09.941+10 243160  
2012-10-02-1349154730.62-demo.wav 44036 CanberraBlackMnt 2012-10-02 15:12:19.963+10 784386  
2012-10-02-1349154740.58-demo.wav 44036 CanberraBlackMnt 2012-10-02 15:12:25.023+10 374920  
2012-10-02-1349154745.68-demo.wav 44036 CanberraBlackMnt 2012-10-02 15:12:33.144+10 587876  
2012-10-02-1349154753.68-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:12:42.512+10 741086  
2012-10-02-1349154763.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:12:47.265+10 340092  
2012-10-02-1349154803.5-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 15:13:28.459+10 416866  
2012-10-02-1349154809.67-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 15:13:34.344+10 390588  
2012-10-02-1349154814.47-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 15:13:39.855+10 452744  
2012-10-02-1349154819.98-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 15:13:43.987+10 336156  
2012-10-02-1349154968.55-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:16:11.703+10 265638  
2012-10-02-1349154972.28-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:16:16.137+10 325768  
2012-10-02-1349154976.41-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:16:23.029+10 555142  
2012-10-02-1349154983.31-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:16:27.79+10 314074  
2012-10-02-1349154988.7-demo.wav 10076 WARINGH CanberraBlackMnt 2012-10-02 15:16:47.442+10 1574330  
2012-10-02-1349155008.5-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:16:55.242+10 562906  
2012-10-02-1349155015.39-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:17:00.409+10 422024  
2012-10-02-1349155020.69-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:17:07.381+10 561282  
2012-10-02-1349155027.59-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:17:14.16+10 541518  
2012-10-02-1349155040.22-demo.wav 10076 WARINGH CanberraBlackMnt 2012-10-02 15:17:24.633+10 366104  
2012-10-02-1349155045.46-demo.wav 10076 WARINGH CanberraBlackMnt 2012-10-02 15:17:33.032+10 630656  
2012-10-02-1349155054.5-demo.wav 10076 WARINGH CanberraBlackMnt 2012-10-02 15:17:41.534+10 589000  
2012-10-02-1349155063.11-demo.wav 40067 CanberraMtAinsli 2012-10-02 15:17:54.71+10 971040  
2012-10-02-1349155074.85-demo.wav 40067 CanberraMtAinsli 2012-10-02 15:18:01.011+10 517336  
2012-10-02-1349155081.42-demo.wav 40067 CanberraMtAinsli 2012-10-02 15:18:04.568+10 198856  
2012-10-02-1349155085.01-demo.wav 10076 WARINGH CanberraBlackMnt 2012-10-02 15:18:10.531+10 460936  
2012-10-02-1349155138.89-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:19:02.753+10 325544  
2012-10-02-1349155144.7-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:19:17.851+10 1104008  
2012-10-02-1349155158.11-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:19:22.735+10 389256  
2012-10-02-1349155162.86-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:19:27.044+10 354440  
2012-10-02-1349155167.16-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:19:40.816+10 1139836  
2012-10-02-1349155180.94-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:19:46.225+10 429432  
2012-10-02-1349155186.52-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:19:54.906+10 638918  
2012-10-02-1349155195.04-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:19:58.274+10 223244  
2012-10-02-1349155201.53-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:20:21.749+10 1690966  
2012-10-02-1349155222.24-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:20:25.052+10 237704  
2012-10-02-1349155225.29-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:20:27.845+10 217224  
2012-10-02-1349155228.0-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:20:30.782+10 235656  
2012-10-02-1349155231.02-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:20:42.318+10 948360  
2012-10-02-1349155242.44-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:20:46.818+10 368776  
2012-10-02-1349155246.94-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:20:50.107+10 268424  
2012-10-02-1349155255.82-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:21:01.708+10 495752  
2012-10-02-1349155262.13-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:21:06.656+10 381064  
2012-10-02-1349155266.8-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:21:09.305+10 213128  
2012-10-02-1349155269.42-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:21:15.481+10 504852  
2012-10-02-1349155275.61-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:21:22.199+10 516074  
2012-10-02-1349155282.48-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:21:26.78+10 362326  
2012-10-02-1349155288.94-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:21:35.25+10 530568  
2012-10-02-1349155295.4-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:21:44.816+10 790500  
2012-10-02-1349155305.05-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:21:51.661+10 555144  
2012-10-02-1349155311.78-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:21:55.283+10 297096  
2012-10-02-1349155315.41-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:22:05.609+10 859878  
2012-10-02-1349155326.38-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:22:13.84+10 623926  
2012-10-02-1349155334.0-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:22:18.084+10 342152  
2012-10-02-1349155338.39-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:22:30.67+10 1031884  
2012-10-02-1349155350.82-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:22:37.595+10 534178  
2012-10-02-1349155358.05-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:22:42.094+10 338420  
2012-10-02-1349155362.55-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:22:46.894+10 306652  
2012-10-02-1349155423.07-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:23:46.008+10 244682  
2012-10-02-1349155426.47-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:23:56.183+10 817268  
2012-10-02-1349155437.06-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:24:01.814+10 400560  
2012-10-02-1349155444.22-demo.wav 44036 CanberraBlackMnt 2012-10-02 15:24:13.714+10 794760  
2012-10-02-1349155454.54-demo.wav 44036 CanberraBlackMnt 2012-10-02 15:24:19.411+10 409736  
2012-10-02-1349155461.07-demo.wav 44036 CanberraBlackMnt 2012-10-02 15:24:25.553+10 370738  
2012-10-02-1349155466.33-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:24:31.774+10 458888  
2012-10-02-1349155471.97-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:24:36.607+10 387208  
2012-10-02-1349155477.33-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:24:43.339+10 501896  
2012-10-02-1349155484.57-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:24:50.437+10 493704  
2012-10-02-1349155490.57-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:24:54.458+10 323720  
2012-10-02-1349155495.54-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:24:58.655+10 258184  
2012-10-02-1349155499.59-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:25:02.325+10 231530  
2012-10-02-1349155503.75-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:25:08.657+10 354826  
2012-10-02-1349155509.55-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:25:17.847+10 696264  
2012-10-02-1349155518.22-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:25:20.559+10 196744  
2012-10-02-1349155520.99-demo.wav 40067 CanberraMtAinsli 2012-10-02 15:25:40.995+10 1675400  
2012-10-02-1349155541.12-demo.wav 40067 CanberraMtAinsli 2012-10-02 15:25:43.628+10 213128  
2012-10-02-1349155565.47-demo.wav 40067 CanberraMtAinsli 2012-10-02 15:26:07.661+10 186504  
2012-10-02-1349155567.78-demo.wav 40067 CanberraMtAinsli 2012-10-02 15:26:10.263+10 211080  
2012-10-02-1349155571.38-demo.wav 40067 CanberraMtAinsli 2012-10-02 15:26:26.812+10 1288762  
2012-10-02-1349155587.67-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:26:34.407+10 562758  
2012-10-02-1349155594.71-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:26:39.547+10 407688  
2012-10-02-1349155600.06-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:26:52.361+10 1020304  
2012-10-02-1349155612.9-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:26:58.712+10 479074  
2012-10-02-1349155621.1-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:27:09.004+10 624176  
2012-10-02-1349155629.52-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:27:17.16+10 639962  
2012-10-02-1349155637.29-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:27:23.559+10 528502  
2012-10-02-1349155643.68-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:27:28.537+10 371426  
2012-10-02-1349155649.15-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:27:33.518+10 368460  
2012-10-02-1349155787.02-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:29:50.531+10 292572  
2012-10-02-1349155792.12-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:29:55.802+10 309384  
2012-10-02-1349155796.58-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:30:04.086+10 630850  
2012-10-02-1349155804.49-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:30:14.308+10 766244  
2012-10-02-1349155815.14-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:30:22.576+10 625598  
2012-10-02-1349155944.77-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 15:32:28.333+10 300004  
2012-10-02-1349155950.15-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 15:32:36.708+10 549000  
2012-10-02-1349155956.84-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 15:32:45.683+10 741512  
2012-10-02-1349155966.62-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 15:32:50.595+10 331672  
2012-10-02-1349155970.78-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 15:32:55.77+10 358040  
2012-10-02-1349155975.94-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 15:32:59.768+10 284930  
2012-10-02-1349155980.47-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:33:12.697+10 1023858  
2012-10-02-1349155992.82-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:33:15.089+10 192648  
2012-10-02-1349155995.21-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:33:17.462+10 190424  
2012-10-02-1349155998.19-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:33:35.297+10 1433714  
2012-10-02-1349156015.42-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:33:37.643+10 188552  
2012-10-02-1349156017.76-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:33:49.314+10 967932  
2012-10-02-1349156031.78-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:33:55.914+10 290754  
2012-10-02-1349156036.08-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:33:59.816+10 266472  
2012-10-02-1349156085.09-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:34:48.409+10 280294  
2012-10-02-1349156089.99-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:34:56.738+10 567432  
2012-10-02-1349156096.87-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:35:03.856+10 587908  
2012-10-02-1349156104.02-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:35:08.293+10 360584  
2012-10-02-1349156109.17-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:35:11.931+10 233550  
2012-10-02-1349156112.06-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:35:16.143+10 342400  
2012-10-02-1349156116.56-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:35:20.356+10 308328  
2012-10-02-1349156121.36-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:35:38.214+10 1410556  
2012-10-02-1349156160.59-demo.wav i1045200 CanberraMtAinsli 2012-10-02 15:36:07.242+10 559240  
2012-10-02-1349156168.85-demo.wav i1045200 CanberraMtAinsli 2012-10-02 15:36:21.81+10 1085576  
2012-10-02-1349156235.65-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 15:37:18.149+10 209526  
2012-10-02-1349156287.5-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:38:17.536+10 839796  
2012-10-02-1349156297.76-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:38:21.413+10 309384  
2012-10-02-1349156304.55-demo.wav 40067 CanberraMtAinsli 2012-10-02 15:38:34.287+10 818520  
2012-10-02-1349156341.42-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:39:06.811+10 448204  
2012-10-02-1349156348.1-demo.wav 10076 WARINGH CanberraBlackMnt 2012-10-02 15:39:15.952+10 654240  
2012-10-02-1349156357.36-demo.wav 10076 WARINGH CanberraBlackMnt 2012-10-02 15:39:21.949+10 383112  
2012-10-02-1349156363.01-demo.wav 10076 WARINGH CanberraBlackMnt 2012-10-02 15:39:27.052+10 340094  
2012-10-02-1349156369.75-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:39:45.045+10 1278444  
2012-10-02-1349156385.32-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:39:51.469+10 509676  
2012-10-02-1349156392.21-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:39:59.157+10 585024  
2012-10-02-1349156399.89-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:40:06.623+10 567432  
2012-10-02-1349156408.89-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:40:21.389+10 997176  
2012-10-02-1349156422.14-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:40:29.668+10 630568  
2012-10-02-1349156431.3-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:40:43.77+10 1041856  
2012-10-02-1349156444.91-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:40:48.149+10 272520  
2012-10-02-1349156448.62-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:40:53.71+10 428168  
2012-10-02-1349156453.83-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:40:56.423+10 219058  
2012-10-02-1349156456.61-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:41:02.429+10 428850  
2012-10-02-1349156494.85-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:41:37.377+10 211664  
2012-10-02-1349156498.45-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:41:44.811+10 530300  
2012-10-02-1349156504.97-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:41:59.317+10 1200240  
2012-10-02-1349156519.44-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:42:02.451+10 253568  
2012-10-02-1349156522.65-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:42:08.817+10 513172  
2012-10-02-1349156553.8-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:42:36.147+10 198792  
2012-10-02-1349156557.2-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:42:40.164+10 245896  
2012-10-02-1349156560.57-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:42:49.938+10 785022  
2012-10-02-1349156570.73-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:43:03.719+10 1085144  
2012-10-02-1349156585.99-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:43:16.372+10 870536  
2012-10-02-1349156596.51-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:43:19.303+10 235656  
2012-10-02-1349156599.42-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:43:28.685+10 775916  
2012-10-02-1349156608.81-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:43:33.075+10 358536  
2012-10-02-1349156613.43-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:43:39.186+10 483450  
2012-10-02-1349156619.92-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:44:00.237+10 1478404  
2012-10-02-1349156640.54-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:44:03.058+10 211080  
2012-10-02-1349156644.28-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:44:13.171+10 744890  
2012-10-02-1349156655.32-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:44:18.261+10 247944  
2012-10-02-1349156658.82-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:44:28.341+10 790334  
2012-10-02-1349156669.88-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:44:35.567+10 475232  
2012-10-02-1349156676.75-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:44:40.384+10 283544  
2012-10-02-1349156682.13-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:44:45.474+10 245262  
2012-10-02-1349156685.76-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:44:50.259+10 312152  
2012-10-02-1349156692.4-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:44:55.013+10 207614  
2012-10-02-1349156695.35-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:45:01.412+10 504094  
2012-10-02-1349156702.65-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:45:06.931+10 340538  
2012-10-02-1349156707.22-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:45:11.35+10 346248  
2012-10-02-1349156711.86-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:45:14.747+10 243754  
2012-10-02-1349156716.46-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:45:26.616+10 852276  
2012-10-02-1349156749.43-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:45:53.57+10 348296  
2012-10-02-1349156754.62-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:46:00.008+10 449990  
2012-10-02-1349156760.16-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:46:10.55+10 860134  
2012-10-02-1349156770.75-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:46:16.628+10 491656  
2012-10-02-1349156778.48-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:46:25.623+10 602234  
2012-10-02-1349156788.65-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:46:34.888+10 524532  
2012-10-02-1349156880.83-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:48:03.934+10 261986  
2012-10-02-1349156887.36-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 15:48:18.196+10 909448  
2012-10-02-1349156898.32-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 15:48:23.037+10 397448  
2012-10-02-1349156903.65-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 15:48:28.718+10 426112  
2012-10-02-1349156908.84-demo.wav 40091 Fire Mgt CanberraBlackMnt 2012-10-02 15:48:34.412+10 424838  
2012-10-02-1349156915.46-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:48:41.425+10 499548  
2012-10-02-1349156921.54-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:48:49.367+10 655450  
2012-10-02-1349156929.49-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:48:58.842+10 756930  
2012-10-02-1349156939.12-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:49:03.837+10 397448  
2012-10-02-1349156944.54-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:49:22.858+10 1530860  
2012-10-02-1349156965.28-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:49:30.685+10 394772  
2012-10-02-1349156970.8-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:49:35.423+10 376916  
2012-10-02-1349156976.05-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:49:57.815+10 1488482  
2012-10-02-1349156997.95-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:50:01.102+10 266376  
2012-10-02-1349157001.43-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:50:05.292+10 325768  
2012-10-02-1349157005.48-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:50:10.956+10 460936  
2012-10-02-1349157011.08-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:50:14.592+10 261386  
2012-10-02-1349157014.71-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:50:17.247+10 209466  
2012-10-02-1349157017.37-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:50:26.283+10 687344  
2012-10-02-1349157026.46-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:50:29.17+10 194986  
2012-10-02-1349157054.79-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:50:58.202+10 286856  
2012-10-02-1349157058.36-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:51:01.392+10 252040  
2012-10-02-1349157061.69-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:51:08.074+10 532616  
2012-10-02-1349157068.32-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:51:11.023+10 227420  
2012-10-02-1349157071.31-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:51:13.73+10 180852  
2012-10-02-1349157073.86-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:51:17.637+10 305964  
2012-10-02-1349157077.85-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:51:28.765+10 902432  
2012-10-02-1349157088.9-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:51:33.151+10 291622  
2012-10-02-1349157093.28-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:51:36.899+10 245486  
2012-10-02-1349157120.67-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 15:52:06.92+10 526472  
2012-10-02-1349157127.67-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 15:52:11.527+10 325768  
2012-10-02-1349157219.8-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:53:43.34+10 295404  
2012-10-02-1349157224.55-demo.wav 40067 CanberraBlackMnt 2012-10-02 15:53:48.429+10 316024  
2012-10-02-1349157231.18-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:54:05.318+10 1187976  
2012-10-02-1349157245.94-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:54:12.821+10 575624  
2012-10-02-1349157255.63-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:54:24.689+10 759944  
2012-10-02-1349157266.32-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:54:32.475+10 515122  
2012-10-02-1349157273.19-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:54:43.96+10 901256  
2012-10-02-1349157284.72-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:54:51.676+10 583236  
2012-10-02-1349157377.87-demo.wav 44028 CanberraBlackMnt 2012-10-02 15:56:21.602+10 314638  
2012-10-02-1349157383.3-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:56:35.022+10 983176  
2012-10-02-1349157395.18-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:56:37.591+10 204936  
2012-10-02-1349157398.4-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:56:42.156+10 317576  
2012-10-02-1349157403.57-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:56:46.465+10 243826  
2012-10-02-1349157406.59-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:56:55.225+10 717680  
2012-10-02-1349157416.15-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:56:59.453+10 248272  
2012-10-02-1349157419.85-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:57:02.882+10 228694  
2012-10-02-1349157423.09-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:57:06.28+10 256244  
2012-10-02-1349157465.01-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:57:51.535+10 544904  
2012-10-02-1349157471.83-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:57:57.868+10 505992  
2012-10-02-1349157478.06-demo.wav 44028 CanberraMtAinsli 2012-10-02 15:58:04.455+10 535768  
2012-10-02-1349157485.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:58:14.592+10 782388  
2012-10-02-1349157540.5-demo.wav 44010 ACTION 44010 CanberraBlackMnt 2012-10-02 15:59:06.303+10 486190  
2012-10-02-1349157547.65-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:59:13.698+10 508040  
2012-10-02-1349157554.77-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:59:18.43+10 303240  
2012-10-02-1349157558.69-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:59:27.061+10 700530  
2012-10-02-1349157567.22-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:59:37.042+10 768648  
2012-10-02-1349157577.95-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 15:59:49.529+10 967958  
2012-10-02-1349157670.57-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:01:13.099+10 209032  
2012-10-02-1349157673.45-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:01:16.513+10 256136  
2012-10-02-1349157676.74-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:01:19.72+10 247944  
2012-10-02-1349157680.18-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:01:22.528+10 196744  
2012-10-02-1349157683.08-demo.wav 44010 ACTION 44010 CanberraBlackMnt 2012-10-02 16:01:39.437+10 1370248  
2012-10-02-1349157699.56-demo.wav 44010 ACTION 44010 CanberraBlackMnt 2012-10-02 16:01:43.082+10 297096  
2012-10-02-1349157704.99-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:01:58.353+10 1117818  
2012-10-02-1349157720.91-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:02:03.764+10 241800  
2012-10-02-1349157723.89-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:02:12.095+10 676432  
2012-10-02-1349157732.85-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:02:15.446+10 212852  
2012-10-02-1349157736.59-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:02:26.24+10 807748  
2012-10-02-1349157746.92-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:02:30.613+10 311416  
2012-10-02-1349157750.91-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:02:42.05+10 870490  
2012-10-02-1349157762.17-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:02:46.956+10 351176  
2012-10-02-1349157767.07-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:02:50.977+10 276552  
2012-10-02-1349157772.82-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:02:58.317+10 401922  
2012-10-02-1349157778.44-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:03:03.664+10 387696  
2012-10-02-1349157784.69-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:03:16.647+10 1003656  
2012-10-02-1349157799.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:03:23.812+10 385160  
2012-10-02-1349157803.93-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:03:29.22+10 443356  
2012-10-02-1349157809.51-demo.wav 40093 PCL Rural CanberraBlackMnt 2012-10-02 16:03:36.682+10 602248  
2012-10-02-1349157818.24-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:03:43.766+10 465032  
2012-10-02-1349157824.62-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:03:48.505+10 327816  
2012-10-02-1349157828.91-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:03:55.609+10 563180  
2012-10-02-1349157835.85-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:04:02.005+10 458150  
2012-10-02-1349157842.31-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:04:05.737+10 226122  
2012-10-02-1349157846.2-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:04:15.404+10 770284  
2012-10-02-1349157855.71-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:04:18.627+10 243848  
2012-10-02-1349157858.86-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:04:35.202+10 1316446  
2012-10-02-1349157875.34-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:04:38.902+10 239172  
2012-10-02-1349157879.34-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:04:45.392+10 508726  
2012-10-02-1349157885.64-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:04:49.455+10 321672  
2012-10-02-1349157889.75-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:04:53.562+10 319604  
2012-10-02-1349157894.09-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:05:07.057+10 1085576  
2012-10-02-1349157940.34-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:05:44.296+10 328708  
2012-10-02-1349157944.57-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:05:47.164+10 217224  
2012-10-02-1349157947.41-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:05:56.635+10 722328  
2012-10-02-1349157956.77-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:06:05.152+10 671018  
2012-10-02-1349157965.49-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:06:11.966+10 543662  
2012-10-02-1349157974.83-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:06:20.23+10 453650  
2012-10-02-1349157980.67-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:06:27.965+10 612472  
2012-10-02-1349157988.62-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:06:38.844+10 860296  
2012-10-02-1349158001.04-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:06:45.864+10 405168  
2012-10-02-1349158006.14-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:06:50.267+10 348296  
2012-10-02-1349158010.68-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:06:53.506+10 235656  
2012-10-02-1349158013.8-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:06:57.079+10 272870  
2012-10-02-1349158017.53-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:07:04.17+10 557192  
2012-10-02-1349158024.45-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:07:07.07+10 219272  
2012-10-02-1349158027.28-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:07:10.624+10 282760  
2012-10-02-1349158031.25-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:07:15.473+10 354296  
2012-10-02-1349158035.64-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:07:19.477+10 269934  
2012-10-02-1349158040.51-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:07:27.771+10 610756  
2012-10-02-1349158049.06-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:07:40.581+10 911036  
2012-10-02-1349158061.4-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:07:46.125+10 397772  
2012-10-02-1349158066.56-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:07:53.551+10 587912  
2012-10-02-1349158073.78-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:07:56.656+10 243848  
2012-10-02-1349158076.79-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:08:02.01+10 438408  
2012-10-02-1349158082.31-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:08:06.934+10 375456  
2012-10-02-1349158164.46-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:09:27.36+10 245584  
2012-10-02-1349158168.15-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:09:31.017+10 241800  
2012-10-02-1349158172.0-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:09:37.494+10 462978  
2012-10-02-1349158177.61-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:09:42.242+10 388340  
2012-10-02-1349158214.66-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:10:17.191+10 213156  
2012-10-02-1349158218.49-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:10:25.003+10 546952  
2012-10-02-1349158247.04-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:10:50.609+10 300624  
2012-10-02-1349158251.02-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:10:54.69+10 307336  
2012-10-02-1349158256.12-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:11:13.546+10 1409276  
2012-10-02-1349158274.42-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:11:19.575+10 429820  
2012-10-02-1349158280.91-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:11:32.878+10 1003390  
2012-10-02-1349158295.21-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:11:46.993+10 991336  
2012-10-02-1349158307.29-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:11:51.925+10 387302  
2012-10-02-1349158312.14-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:11:57.236+10 409064  
2012-10-02-1349158317.55-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:12:02.692+10 412118  
2012-10-02-1349158323.38-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:12:06.825+10 274804  
2012-10-02-1349158328.27-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:12:11.611+10 236034  
2012-10-02-1349158331.95-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:12:17.545+10 467100  
2012-10-02-1349158337.82-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:12:25.736+10 665736  
2012-10-02-1349158345.87-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:12:28.582+10 229390  
2012-10-02-1349158348.77-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:12:32.277+10 260966  
2012-10-02-1349158352.73-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:12:39.549+10 571722  
2012-10-02-1349158359.78-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:12:43.427+10 305288  
2012-10-02-1349158363.73-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:12:48.691+10 411160  
2012-10-02-1349158368.82-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:12:55.135+10 524924  
2012-10-02-1349158525.9-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:15:28.441+10 214804  
2012-10-02-1349158530.17-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:15:34.137+10 336008  
2012-10-02-1349158534.37-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:15:36.66+10 194696  
2012-10-02-1349158559.66-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:16:04.491+10 407688  
2012-10-02-1349158564.61-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:16:07.603+10 254088  
2012-10-02-1349158567.76-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:16:13.045+10 444552  
2012-10-02-1349158573.75-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:16:17.003+10 274556  
2012-10-02-1349158577.35-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:16:24.838+10 609490  
2012-10-02-1349158586.27-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:16:33.967+10 646350  
2012-10-02-1349158594.41-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:16:41.815+10 620680  
2012-10-02-1349158602.16-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:16:53.494+10 948354  
2012-10-02-1349158613.61-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:16:59.51+10 478604  
2012-10-02-1349158620.74-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:17:06.565+10 488212  
2012-10-02-1349158627.82-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:17:11.096+10 276616  
2012-10-02-1349158659.64-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:17:47.685+10 675370  
2012-10-02-1349158668.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:18:00.675+10 1044616  
2012-10-02-1349158754.65-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:19:17.565+10 245650  
2012-10-02-1349158759.07-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:19:25.486+10 538760  
2012-10-02-1349158766.38-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:19:41.197+10 1241028  
2012-10-02-1349158781.44-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:19:47.208+10 485512  
2012-10-02-1349158787.71-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:19:52.153+10 374914  
2012-10-02-1349158889.73-demo.wav i1045200 CanberraMtAinsli 2012-10-02 16:21:32.184+10 208116  
2012-10-02-1349158894.24-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:21:52.179+10 1505416  
2012-10-02-1349158989.99-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:23:12.489+10 209548  
2012-10-02-1349158993.77-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:23:19.74+10 498826  
2012-10-02-1349159000.58-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:23:36.177+10 1252286  
2012-10-02-1349159016.93-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:23:41.14+10 352198  
2012-10-02-1349159024.06-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:23:48.702+10 391304  
2012-10-02-1349159028.92-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:23:52.527+10 303190  
2012-10-02-1349159033.09-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:24:10.128+10 1427014  
2012-10-02-1349159051.15-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:24:21.975+10 905134  
2012-10-02-1349159086.94-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:24:50.908+10 336008  
2012-10-02-1349159092.77-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:24:55.566+10 235656  
2012-10-02-1349159096.69-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:25:03.541+10 573576  
2012-10-02-1349159106.87-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:25:10.017+10 256272  
2012-10-02-1349159110.2-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:25:12.604+10 190866  
2012-10-02-1349159112.86-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:25:19.256+10 531426  
2012-10-02-1349159120.14-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:25:28.236+10 679628  
2012-10-02-1349159128.41-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:25:30.71+10 194696  
2012-10-02-1349159131.82-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:25:37.729+10 499848  
2012-10-02-1349159138.41-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:25:42.099+10 304700  
2012-10-02-1349159143.41-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:25:56.376+10 1089092  
2012-10-02-1349159156.51-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:26:05.995+10 794760  
2012-10-02-1349159166.16-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:26:10.669+10 371066  
2012-10-02-1349159170.95-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:26:21.038+10 829552  
2012-10-02-1349159181.19-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:26:30.227+10 752672  
2012-10-02-1349159193.82-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:26:48.825+10 1263178  
2012-10-02-1349159210.32-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:26:53.938+10 305288  
2012-10-02-1349159214.13-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:26:58.972+10 407688  
2012-10-02-1349159219.09-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:27:03.006+10 329864  
2012-10-02-1349159224.21-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:27:28.715+10 2048204  
2012-10-02-1349159248.88-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:27:34.169+10 444552  
2012-10-02-1349159254.95-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:27:58.857+10 1988932  
2012-10-02-1349159279.75-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:28:05.491+10 482996  
2012-10-02-1349159396.22-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:30:01.531+10 446098  
2012-10-02-1349159401.7-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:30:04.249+10 215176  
2012-10-02-1349159404.38-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:30:06.802+10 204936  
2012-10-02-1349159406.93-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:30:09.078+10 182406  
2012-10-02-1349159409.2-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:30:13.973+10 401544  
2012-10-02-1349159414.18-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:30:27.282+10 1097864  
2012-10-02-1349159427.59-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:30:31.187+10 303240  
2012-10-02-1349159431.31-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:30:34.091+10 235656  
2012-10-02-1349159434.22-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:30:36.467+10 190600  
2012-10-02-1349159436.64-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:30:39.191+10 215176  
2012-10-02-1349159439.45-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:30:44.628+10 398772  
2012-10-02-1349159445.38-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:30:54.338+10 748606  
2012-10-02-1349159454.95-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:30:58.318+10 284808  
2012-10-02-1349159459.09-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:31:06+10 577446  
2012-10-02-1349159466.23-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:31:08.879+10 223368  
2012-10-02-1349159469.16-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:31:12.9+10 315528  
2012-10-02-1349159473.13-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:31:18.353+10 438300  
2012-10-02-1349159478.47-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:31:30.377+10 998822  
2012-10-02-1349159490.68-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:31:40.61+10 835720  
2012-10-02-1349159501.13-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:31:49.712+10 719436  
2012-10-02-1349159512.7-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:31:58.862+10 517990  
2012-10-02-1349159519.15-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:32:07.49+10 695180  
2012-10-02-1349159528.06-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:32:13.776+10 481240  
2012-10-02-1349159534.67-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:32:18.705+10 340104  
2012-10-02-1349159538.99-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:32:22.588+10 300494  
2012-10-02-1349159574.02-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:32:57.283+10 268224  
2012-10-02-1349159595.73-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:33:17.989+10 192648  
2012-10-02-1349159598.22-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:33:20.765+10 213128  
2012-10-02-1349159602.22-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:33:27.037+10 407688  
2012-10-02-1349159607.53-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:33:31.633+10 346248  
2012-10-02-1349159611.84-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:33:34.378+10 215176  
2012-10-02-1349159614.5-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:33:39.82+10 442458  
2012-10-02-1349159620.63-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:33:55.178+10 1218086  
2012-10-02-1349159635.72-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:33:59.309+10 303240  
2012-10-02-1349159639.43-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:34:05.739+10 528168  
2012-10-02-1349159645.86-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:34:15.599+10 816924  
2012-10-02-1349159658.88-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:34:26.032+10 598014  
2012-10-02-1349159666.45-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:34:29.989+10 295048  
2012-10-02-1349159670.36-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:34:39.733+10 788616  
2012-10-02-1349159680.37-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:34:43.315+10 249992  
2012-10-02-1349159683.53-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:35:06.509+10 1901320  
2012-10-02-1349159707.41-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:35:18.879+10 963756  
2012-10-02-1349159844.19-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:37:26.778+10 218914  
2012-10-02-1349159846.9-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:37:30.176+10 276616  
2012-10-02-1349159850.36-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:37:34.668+10 362632  
2012-10-02-1349159855.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:37:39.503+10 360584  
2012-10-02-1349159862.2-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:37:59.515+10 1450120  
2012-10-02-1349159882.39-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:38:19.894+10 1466504  
2012-10-02-1349159900.02-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:38:23.068+10 258184  
2012-10-02-1349159903.2-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:38:32.799+10 805000  
2012-10-02-1349159912.93-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:38:38.383+10 455446  
2012-10-02-1349159919.77-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:38:42.665+10 195422  
2012-10-02-1349159922.82-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:38:49.132+10 516908  
2012-10-02-1349159929.31-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:38:52.282+10 194452  
2012-10-02-1349159932.86-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:38:57.911+10 425678  
2012-10-02-1349159938.99-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:39:09.077+10 850056  
2012-10-02-1349160008.99-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:40:13.041+10 340520  
2012-10-02-1349160014.3-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:40:16.646+10 198792  
2012-10-02-1349160016.81-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:40:18.959+10 182404  
2012-10-02-1349160019.45-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:40:23.426+10 333960  
2012-10-02-1349160023.56-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:40:27.287+10 315318  
2012-10-02-1349160027.76-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:40:31.07+10 276474  
2012-10-02-1349160032.84-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:40:38.857+10 504712  
2012-10-02-1349160039.63-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:40:42.512+10 201268  
2012-10-02-1349160042.87-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:40:52.677+10 823362  
2012-10-02-1349160055.58-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:41:00.546+10 413080  
2012-10-02-1349160061.6-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:41:04.025+10 190040  
2012-10-02-1349160066.36-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:41:10.137+10 304218  
2012-10-02-1349160070.41-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:41:13.008+10 221320  
2012-10-02-1349160130.44-demo.wav 44028 CanberraMtAinsli 2012-10-02 16:42:14.677+10 354468  
2012-10-02-1349160134.97-demo.wav 44028 CanberraMtAinsli 2012-10-02 16:42:21.759+10 567432  
2012-10-02-1349160142.03-demo.wav 44028 CanberraMtAinsli 2012-10-02 16:42:24.313+10 194694  
2012-10-02-1349160144.6-demo.wav 44028 CanberraMtAinsli 2012-10-02 16:42:29.673+10 428036  
2012-10-02-1349160213.54-demo.wav 40067 CanberraMtAinsli 2012-10-02 16:43:36.029+10 209542  
2012-10-02-1349160219.41-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:43:44.675+10 442504  
2012-10-02-1349160225.91-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:43:49.602+10 311432  
2012-10-02-1349160230.22-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:43:54.179+10 333960  
2012-10-02-1349160234.51-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:44:09.898+10 1261846  
2012-10-02-1349160250.65-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:44:21.654+10 921492  
2012-10-02-1349160261.85-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:44:24.996+10 266376  
2012-10-02-1349160265.68-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:44:31.06+10 452744  
2012-10-02-1349160271.18-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:44:40.853+10 789186  
2012-10-02-1349160281.41-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:44:45.255+10 322436  
2012-10-02-1349160286.1-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:44:49.673+10 301192  
2012-10-02-1349160290.77-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:44:57.984+10 604296  
2012-10-02-1349160298.2-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:45:01.352+10 266376  
2012-10-02-1349160302.16-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:45:10.013+10 656018  
2012-10-02-1349160310.92-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 16:45:13.641+10 229512  
2012-10-02-1349160314.4-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:45:29.52+10 1265800  
2012-10-02-1349160330.03-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:45:33.088+10 258184  
2012-10-02-1349160333.65-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:45:43.372+10 812766  
2012-10-02-1349160343.89-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:45:51.381+10 630920  
2012-10-02-1349160352.92-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:45:58.335+10 454888  
2012-10-02-1349160359.59-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:46:04.717+10 432264  
2012-10-02-1349160365.87-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:46:24.879+10 1588410  
2012-10-02-1349160386.44-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:46:29.966+10 297080  
2012-10-02-1349160390.75-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:46:35.118+10 368776  
2012-10-02-1349160395.34-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:46:38.165+10 202172  
2012-10-02-1349160435.51-demo.wav i1045200 CanberraMtAinsli 2012-10-02 16:47:18.012+10 208072  
2012-10-02-1349160461.95-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:47:46.04+10 342270  
2012-10-02-1349160467.75-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:48:02.047+10 1197482  
2012-10-02-1349160483.42-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:48:06.404+10 249580  
2012-10-02-1349160488.21-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:48:11.127+10 245896  
2012-10-02-1349160492.76-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:48:17.687+10 410162  
2012-10-02-1349160498.44-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:48:24.741+10 521572  
2012-10-02-1349160506.34-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:48:29.113+10 195506  
2012-10-02-1349160509.87-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:48:34.81+10 390554  
2012-10-02-1349160515.26-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:48:38.082+10 198246  
2012-10-02-1349160522.17-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:48:48.577+10 513036  
2012-10-02-1349160529.66-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:48:56.952+10 561208  
2012-10-02-1349160538.28-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:49:01.243+10 188904  
2012-10-02-1349160542.11-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:49:23.448+10 1793646  
2012-10-02-1349160564.88-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:49:42.772+10 1500300  
2012-10-02-1349160583.63-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:49:49.933+10 528794  
2012-10-02-1349160590.09-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:49:56.208+10 512136  
2012-10-02-1349160596.68-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:50:01.26+10 385160  
2012-10-02-1349160601.55-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:50:04.807+10 274568  
2012-10-02-1349160666.1-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:51:08.583+10 210012  
2012-10-02-1349160669.57-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:51:19.292+10 812320  
2012-10-02-1349160679.42-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:51:25.453+10 508040  
2012-10-02-1349160685.57-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:51:30.799+10 439770  
2012-10-02-1349160690.96-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:51:35.363+10 326834  
2012-10-02-1349160695.99-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:51:39.798+10 271438  
2012-10-02-1349160701.4-demo.wav 40067 CanberraBlackMnt 2012-10-02 16:52:02.844+10 1794272  
2012-10-02-1349160773.45-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:52:55.956+10 208216  
2012-10-02-1349160776.14-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:52:58.875+10 227464  
2012-10-02-1349160779.01-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:53:04.887+10 495752  
2012-10-02-1349160785.02-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:53:09.966+10 354572  
2012-10-02-1349160912.14-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:55:16.067+10 329996  
2012-10-02-1349160917.04-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:55:19.895+10 241800  
2012-10-02-1349160920.19-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:55:27.893+10 647302  
2012-10-02-1349160928.19-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:55:31.474+10 253266  
2012-10-02-1349160931.73-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 16:55:35.141+10 227570  
2012-10-02-1349161007.75-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 16:56:51.091+10 282682  
2012-10-02-1349161012.68-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:56:57.919+10 442504  
2012-10-02-1349161018.21-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:57:04.427+10 522376  
2012-10-02-1349161024.56-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:57:10.36+10 489544  
2012-10-02-1349161030.63-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:57:16.854+10 522306  
2012-10-02-1349161036.97-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:57:23.842+10 545940  
2012-10-02-1349161044.07-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:57:27.928+10 323160  
2012-10-02-1349161048.05-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:57:31.519+10 227614  
2012-10-02-1349161052.27-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:57:36.976+10 337336  
2012-10-02-1349161057.79-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:57:46.121+10 684940  
2012-10-02-1349161066.24-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:57:51.005+10 391054  
2012-10-02-1349161071.81-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:57:55.09+10 227242  
2012-10-02-1349161078.22-demo.wav 30004 L GEORG CanberraMtAinsli 2012-10-02 16:58:35.114+10 3082834  
2012-10-02-1349161190.6-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:59:53.491+10 240052  
2012-10-02-1349161195.13-demo.wav 44028 CanberraBlackMnt 2012-10-02 16:59:59.058+10 329864  
2012-10-02-1349161200.8-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:00:03.061+10 192648  
2012-10-02-1349161204.33-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:00:09.17+10 405640  
2012-10-02-1349161209.83-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:00:12.441+10 219272  
2012-10-02-1349161212.57-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:00:15.217+10 223368  
2012-10-02-1349161215.52-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:00:18.072+10 215110  
2012-10-02-1349161590.45-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:06:33.861+10 286920  
2012-10-02-1349161596.32-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:06:41.602+10 444552  
2012-10-02-1349161602.44-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:06:48.894+10 542856  
2012-10-02-1349161609.02-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:06:58.31+10 774834  
2012-10-02-1349161621.08-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:07:09.446+10 701450  
2012-10-02-1349161629.91-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:07:12.491+10 215176  
2012-10-02-1349161632.87-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:07:19.269+10 538720  
2012-10-02-1349161639.54-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:07:24.674+10 374240  
2012-10-02-1349161645.56-demo.wav i1045200 CanberraMtAinsli 2012-10-02 17:07:43.464+10 1503268  
2012-10-02-1349161663.77-demo.wav i1045200 CanberraMtAinsli 2012-10-02 17:07:50.675+10 579720  
2012-10-02-1349161671.05-demo.wav i1045200 CanberraMtAinsli 2012-10-02 17:07:55.141+10 344188  
2012-10-02-1349161676.97-demo.wav i1045200 CanberraMtAinsli 2012-10-02 17:08:04.17+10 602636  
2012-10-02-1349161707.42-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:08:30.185+10 231560  
2012-10-02-1349161710.56-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:08:33.175+10 221320  
2012-10-02-1349161713.46-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:08:35.945+10 209032  
2012-10-02-1349161716.79-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:08:42.575+10 485510  
2012-10-02-1349161722.86-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:08:46.733+10 305488  
2012-10-02-1349161727.15-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:08:51.965+10 362162  
2012-10-02-1349161732.88-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:09:15.677+10 1912254  
2012-10-02-1349161756.01-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:09:18.669+10 223368  
2012-10-02-1349161758.97-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:09:43.869+10 2062974  
2012-10-02-1349161784.77-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:09:49.381+10 382904  
2012-10-02-1349161789.56-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:09:53.512+10 330102  
2012-10-02-1349161793.81-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:09:56.559+10 186182  
2012-10-02-1349161797.06-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:10:06.271+10 767934  
2012-10-02-1349161807.0-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:10:16.575+10 805000  
2012-10-02-1349161817.01-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:10:26.446+10 792706  
2012-10-02-1349161827.32-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:10:37.447+10 851966  
2012-10-02-1349161878.05-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:11:20.762+10 228906  
2012-10-02-1349161881.48-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:11:24.542+10 258184  
2012-10-02-1349161885.05-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:11:29.064+10 338056  
2012-10-02-1349161889.65-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:11:34.081+10 372684  
2012-10-02-1349161924.34-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:12:07.073+10 231340  
2012-10-02-1349161928.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:12:11.412+10 268424  
2012-10-02-1349161931.53-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:12:16.101+10 385160  
2012-10-02-1349161936.22-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:12:29.696+10 1109064  
2012-10-02-1349161949.82-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:12:34.451+10 331132  
2012-10-02-1349161955.08-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:12:40.602+10 417824  
2012-10-02-1349162000.89-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:13:25.6+10 395570  
2012-10-02-1349162005.83-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:13:28.36+10 215176  
2012-10-02-1349162008.92-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:13:34.28+10 450696  
2012-10-02-1349162014.4-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:13:40.84+10 542854  
2012-10-02-1349162021.24-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:13:44.015+10 227794  
2012-10-02-1349162024.13-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:13:50.525+10 481168  
2012-10-02-1349162033.49-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:14:01.691+10 687328  
2012-10-02-1349162042.6-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:14:08.232+10 469128  
2012-10-02-1349162049.16-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:14:16.239+10 592236  
2012-10-02-1349162057.98-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:14:33.449+10 1237268  
2012-10-02-1349162074.29-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:14:40.372+10 510776  
2012-10-02-1349162086.1-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:14:50.47+10 364718  
2012-10-02-1349162090.76-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:14:58.86+10 617890  
2012-10-02-1349162099.15-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:15:02.608+10 246652  
2012-10-02-1349162103.06-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:15:19.324+10 1365642  
2012-10-02-1349162121.61-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:15:30.839+10 770090  
2012-10-02-1349162131.33-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:15:46.563+10 1237380  
2012-10-02-1349162146.74-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:15:57.49+10 839128  
2012-10-02-1349162157.71-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:16:16.017+10 1525322  
2012-10-02-1349162176.14-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:16:22.631+10 493120  
2012-10-02-1349162182.91-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:16:26.746+10 257264  
2012-10-02-1349162218.17-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:17:01.74+10 293388  
2012-10-02-1349162246.68-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:17:29.429+10 229512  
2012-10-02-1349162249.99-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:17:34.899+10 411784  
2012-10-02-1349162255.59-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:17:40.633+10 422024  
2012-10-02-1349162260.9-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:17:43.258+10 196744  
2012-10-02-1349162263.55-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:17:47.5+10 329850  
2012-10-02-1349162267.76-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:17:51.344+10 298650  
2012-10-02-1349162271.87-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:18:03.096+10 942216  
2012-10-02-1349162283.38-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:18:05.725+10 194696  
2012-10-02-1349162286.4-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:18:26.552+10 1627170  
2012-10-02-1349162306.67-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:18:43.307+10 1328194  
2012-10-02-1349162323.43-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:18:47.263+10 264378  
2012-10-02-1349162327.7-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:18:58.012+10 863470  
2012-10-02-1349162338.73-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:19:03.595+10 409736  
2012-10-02-1349162344.92-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:19:23.325+10 1540044  
2012-10-02-1349162363.49-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:19:25.879+10 202888  
2012-10-02-1349162366.0-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:19:39.37+10 1074852  
2012-10-02-1349162379.56-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:19:48.386+10 739464  
2012-10-02-1349162388.53-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:19:51.514+10 251976  
2012-10-02-1349162391.72-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:19:55.269+10 281176  
2012-10-02-1349162396.2-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:20:01.093+10 411370  
2012-10-02-1349162402.11-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:20:07.547+10 456830  
2012-10-02-1349162407.92-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:20:13.719+10 487560  
2012-10-02-1349162414.21-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:20:19.391+10 436360  
2012-10-02-1349162445.21-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:20:48.486+10 276616  
2012-10-02-1349162448.61-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:20:51.067+10 209032  
2012-10-02-1349162451.49-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:20:58.039+10 551048  
2012-10-02-1349162458.67-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:21:02.871+10 334318  
2012-10-02-1349162502.6-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:21:46.527+10 329128  
2012-10-02-1349162507.93-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:21:55.139+10 600120  
2012-10-02-1349162515.42-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:22:03.322+10 663682  
2012-10-02-1349162525.74-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:22:11.06+10 448642  
2012-10-02-1349162533.15-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:22:18.889+10 481416  
2012-10-02-1349162557.81-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:22:41.301+10 295048  
2012-10-02-1349162562.2-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:22:54.786+10 1051064  
2012-10-02-1349162575.32-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:22:58.819+10 290952  
2012-10-02-1349162579.11-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:23:07.941+10 731610  
2012-10-02-1349162588.26-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:23:15.089+10 573576  
2012-10-02-1349162596.72-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:23:25.964+10 776328  
2012-10-02-1349162606.3-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:23:29.864+10 301192  
2012-10-02-1349162610.08-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:23:41.214+10 871096  
2012-10-02-1349162622.1-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 17:23:51.467+10 784242  
2012-10-02-1349162632.33-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:23:56.726+10 367016  
2012-10-02-1349162637.57-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:24:13.734+10 1353104  
2012-10-02-1349162688.3-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:24:53.365+10 425258  
2012-10-02-1349162693.58-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:24:57.161+10 301192  
2012-10-02-1349162697.98-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:25:10.277+10 963262  
2012-10-02-1349162711.18-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:25:29.719+10 1547700  
2012-10-02-1349162730.6-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:25:34.361+10 315984  
2012-10-02-1349162734.76-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:25:45.643+10 913544  
2012-10-02-1349162764.94-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:26:11.343+10 538760  
2012-10-02-1349162772.25-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:26:34.4+10 1851624  
2012-10-02-1349162849.4-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:27:33.02+10 303636  
2012-10-02-1349162854.53-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:27:37.71+10 265994  
2012-10-02-1349162857.83-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:27:41.935+10 346248  
2012-10-02-1349162862.5-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:27:48.246+10 483272  
2012-10-02-1349162868.37-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:27:52.169+10 264656  
2012-10-02-1349162872.45-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:27:55.966+10 233084  
2012-10-02-1349162876.54-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:27:59.378+10 195500  
2012-10-02-1349162879.5-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:28:04.3+10 340618  
2012-10-02-1349162884.42-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:28:10.282+10 433678  
2012-10-02-1349162890.63-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:28:23.406+10 1070612  
2012-10-02-1349162903.69-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:28:31.784+10 679614  
2012-10-02-1349162912.41-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:28:35.588+10 227644  
2012-10-02-1349162915.79-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:28:39.074+10 214696  
2012-10-02-1349162919.51-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:28:55.948+10 1381298  
2012-10-02-1349162936.29-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:29:01.323+10 422024  
2012-10-02-1349162942.2-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:29:13.587+10 954834  
2012-10-02-1349162953.88-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:29:16.059+10 182408  
2012-10-02-1349162956.52-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:29:25.194+10 729114  
2012-10-02-1349162965.48-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:29:31.699+10 468666  
2012-10-02-1349162972.0-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:29:42.672+10 835582  
2012-10-02-1349162982.88-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:29:46.396+10 225890  
2012-10-02-1349163074.42-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:31:16.942+10 210026  
2012-10-02-1349163078.02-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:31:33.131+10 1262486  
2012-10-02-1349163093.65-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:31:36.458+10 235656  
2012-10-02-1349163097.17-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:32:40.698+10 5308736  
2012-10-02-1349163160.98-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:32:43.538+10 200408  
2012-10-02-1349163165.34-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:32:58.588+10 1111774  
2012-10-02-1349163252.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:34:14.696+10 207760  
2012-10-02-1349163296.86-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:35:08.536+10 979628  
2012-10-02-1349163308.66-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:35:17.021+10 699390  
2012-10-02-1349163317.3-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:35:23.322+10 502814  
2012-10-02-1349163323.52-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:35:27.645+10 336106  
2012-10-02-1349163328.47-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:35:57.208+10 2380182  
2012-10-02-1349163358.09-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:36:04.61+10 542364  
2012-10-02-1349163446.02-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:37:28.486+10 208524  
2012-10-02-1349163449.56-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:37:34.868+10 443840  
2012-10-02-1349163454.99-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:37:41.059+10 512134  
2012-10-02-1349163461.2-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:37:57.472+10 1354224  
2012-10-02-1349163477.78-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:38:08.479+10 863974  
2012-10-02-1349163490.47-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:38:13.377+10 198390  
2012-10-02-1349163542.5-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:39:06.336+10 320632  
2012-10-02-1349163548.71-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:39:12.271+10 297272  
2012-10-02-1349163553.4-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:39:25.461+10 1008778  
2012-10-02-1349163565.74-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:39:31.142+10 420892  
2012-10-02-1349163571.76-demo.wav 44028 CanberraMtAinsli 2012-10-02 17:39:35.336+10 278022  
2012-10-02-1349163577.23-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:39:45.957+10 731350  
2012-10-02-1349163586.5-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:39:50.106+10 305288  
2012-10-02-1349163590.86-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:40:01.323+10 878728  
2012-10-02-1349163602.65-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:40:11.647+10 753092  
2012-10-02-1349163611.77-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:40:19.794+10 661160  
2012-10-02-1349163723.55-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:42:06.034+10 208184  
2012-10-02-1349163801.65-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:43:25.452+10 315862  
2012-10-02-1349163810.0-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:43:32.614+10 219272  
2012-10-02-1349163813.41-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:43:41.898+10 686694  
2012-10-02-1349163822.19-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:44:01.168+10 1580082  
2012-10-02-1349163841.47-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:44:04.74+10 233416  
2012-10-02-1349163847.89-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 17:44:42.443+10 2880452  
2012-10-02-1349163883.19-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:44:53.166+10 835302  
2012-10-02-1349163893.29-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:44:57.146+10 285090  
2012-10-02-1349163945.81-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:45:49.772+10 329972  
2012-10-02-1349163950.19-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:45:53.592+10 282760  
2012-10-02-1349163953.9-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:46:00.002+10 509652  
2012-10-02-1349163960.16-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:46:05.039+10 352724  
2012-10-02-1349163968.78-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 17:46:17.83+10 757696  
2012-10-02-1349164053.6-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:47:36.093+10 210234  
2012-10-02-1349164102.0-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:48:26.473+10 376272  
2012-10-02-1349164107.4-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:48:31.149+10 312654  
2012-10-02-1349164112.03-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:48:46.134+10 1133456  
2012-10-02-1349164126.26-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:48:50.802+10 378666  
2012-10-02-1349164196.43-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:49:59.006+10 209750  
2012-10-02-1349164200.04-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:50:03.013+10 248304  
2012-10-02-1349164203.17-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:50:09.317+10 516232  
2012-10-02-1349164211.48-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:50:19.083+10 639112  
2012-10-02-1349164219.72-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:50:28.865+10 768136  
2012-10-02-1349164229.44-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:50:37.467+10 673542  
2012-10-02-1349164237.59-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:50:44.09+10 490610  
2012-10-02-1349164244.24-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:50:48.605+10 348982  
2012-10-02-1349164248.86-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:50:54.033+10 430260  
2012-10-02-1349164254.31-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:50:57.383+10 252842  
2012-10-02-1349164258.29-demo.wav 44028 CanberraBlackMnt 2012-10-02 17:51:08.489+10 798836  
2012-10-02-1349164270.12-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 17:51:17.899+10 650756  
2012-10-02-1349164356.29-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:52:38.821+10 210098  
2012-10-02-1349164470.91-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:54:33.964+10 257584  
2012-10-02-1349164475.53-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:54:39.98+10 371786  
2012-10-02-1349164480.71-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:55:01.955+10 1767254  
2012-10-02-1349164502.08-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:55:05.009+10 189200  
2012-10-02-1349164567.33-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:56:09.948+10 210054  
2012-10-02-1349164571.01-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:56:14.702+10 297442  
2012-10-02-1349164575.03-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:56:18.011+10 249992  
2012-10-02-1349164579.13-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:56:23.48+10 364680  
2012-10-02-1349164583.75-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:56:27.338+10 301162  
2012-10-02-1349164587.73-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:56:30.162+10 204926  
2012-10-02-1349164590.32-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:56:32.763+10 181796  
2012-10-02-1349164594.31-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 17:56:39.481+10 434224  
2012-10-02-1349164628.98-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 17:57:14.825+10 491070  
2012-10-02-1349164635.31-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 17:57:21.52+10 520328  
2012-10-02-1349164642.8-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 17:57:27.415+10 386516  
2012-10-02-1349164650.44-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 17:57:36.438+10 503944  
2012-10-02-1349164657.06-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 17:57:50.217+10 1057496  
2012-10-02-1349164670.38-demo.wav 40093 PCL Rural CanberraMtAinsli 2012-10-02 17:57:54.191+10 318880  
2012-10-02-1349164773.29-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 17:59:37.982+10 393818  
2012-10-02-1349164999.36-demo.wav 44028 CanberraMtAinsli 2012-10-02 18:03:22.969+10 302788  
2012-10-02-1349165004.5-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:03:29.847+10 445182  
2012-10-02-1349165010.0-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:03:38.703+10 731270  
2012-10-02-1349165019.43-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:03:45.006+10 463956  
2012-10-02-1349165026.02-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:03:53.001+10 585352  
2012-10-02-1349165035.03-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:03:58.139+10 262226  
2012-10-02-1349165039.94-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:04:03.678+10 315528  
2012-10-02-1349165044.67-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:04:14.527+10 827528  
2012-10-02-1349165055.97-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:04:20.352+10 368776  
2012-10-02-1349165182.72-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 18:06:26.195+10 290272  
2012-10-02-1349165186.76-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 18:06:36.293+10 798856  
2012-10-02-1349165198.04-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 18:06:46.482+10 704064  
2012-10-02-1349165207.42-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 18:06:55.305+10 660290  
2012-10-02-1349165215.9-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 18:07:01.579+10 475272  
2012-10-02-1349165223.86-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 18:07:10.473+10 554946  
2012-10-02-1349165230.86-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 18:07:15.459+10 383026  
2012-10-02-1349165276.73-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:08:08.086+10 952112  
2012-10-02-1349165288.2-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:08:10.603+10 202888  
2012-10-02-1349165291.41-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:08:26.863+10 1292424  
2012-10-02-1349165308.36-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:08:34.79+10 538410  
2012-10-02-1349165315.65-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:08:53.344+10 1479310  
2012-10-02-1349165335.76-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:08:58.106+10 198792  
2012-10-02-1349165338.22-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:09:01.936+10 313480  
2012-10-02-1349165342.06-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:09:06.634+10 384968  
2012-10-02-1349165348.35-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:09:15.938+10 635584  
2012-10-02-1349165356.06-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:09:20.26+10 354440  
2012-10-02-1349165361.53-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:09:29.05+10 630920  
2012-10-02-1349165369.77-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:09:33.802+10 336008  
2012-10-02-1349165374.25-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:09:39.408+10 429770  
2012-10-02-1349165379.62-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:09:42.385+10 197950  
2012-10-02-1349165706.04-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:15:10.324+10 361558  
2012-10-02-1349165710.44-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:15:12.606+10 184456  
2012-10-02-1349165713.17-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:15:18.143+10 419976  
2012-10-02-1349165718.63-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:15:24.526+10 494950  
2012-10-02-1349165725.6-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:15:30.686+10 417712  
2012-10-02-1349165730.81-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:15:36.526+10 435780  
2012-10-02-1349165736.77-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:15:46.484+10 801428  
2012-10-02-1349165748.06-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:15:52.693+10 370152  
2012-10-02-1349165753.56-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:15:56.716+10 211376  
2012-10-02-1349165806.71-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:16:49.662+10 243524  
2012-10-02-1349165911.13-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:18:33.991+10 240460  
2012-10-02-1349165915.72-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:18:42.868+10 600200  
2012-10-02-1349165923.75-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:19:06.414+10 1861464  
2012-10-02-1349165947.17-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:19:11.151+10 333696  
2012-10-02-1349165951.94-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:19:32.517+10 1720318  
2012-10-02-1349165972.66-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:19:36.075+10 288904  
2012-10-02-1349165976.65-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:19:41.476+10 404530  
2012-10-02-1349165981.97-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:19:45.513+10 299144  
2012-10-02-1349165986.77-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:19:58.914+10 1020040  
2012-10-02-1349166001.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:20:08.268+10 584252  
2012-10-02-1349166008.55-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:20:12.264+10 307336  
2012-10-02-1349166015.11-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:20:19.084+10 331912  
2012-10-02-1349166019.29-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:20:22.012+10 210866  
2012-10-02-1349166022.41-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:20:30.561+10 684168  
2012-10-02-1349166031.21-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:20:33.559+10 192648  
2012-10-02-1349166034.92-demo.wav 44012 ACTION 44012 CanberraMtAinsli 2012-10-02 18:20:46.059+10 931074  
2012-10-02-1349166046.27-demo.wav 44012 ACTION 44012 CanberraMtAinsli 2012-10-02 18:20:50.598+10 360534  
2012-10-02-1349166050.9-demo.wav 44012 ACTION 44012 CanberraMtAinsli 2012-10-02 18:20:56.222+10 430044  
2012-10-02-1349166057.11-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:21:04.705+10 635622  
2012-10-02-1349166065.39-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 18:21:13.797+10 704648  
2012-10-02-1349166075.25-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:21:24.67+10 790664  
2012-10-02-1349166086.27-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:21:29.743+10 286856  
2012-10-02-1349166090.4-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:21:42.178+10 929244  
2012-10-02-1349166103.07-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 18:21:55.307+10 1024000  
2012-10-02-1349166116.12-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:22:08.55+10 1039762  
2012-10-02-1349166128.95-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 18:22:18.778+10 819336  
2012-10-02-1349166141.31-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:22:27.569+10 523750  
2012-10-02-1349166168.19-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:22:50.713+10 213128  
2012-10-02-1349166172.14-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:23:06.873+10 1235080  
2012-10-02-1349166187.68-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:23:12.114+10 369840  
2012-10-02-1349166192.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:23:20.187+10 661188  
2012-10-02-1349166201.21-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:23:25.576+10 322478  
2012-10-02-1349166352.48-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:25:56.422+10 330852  
2012-10-02-1349166356.55-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:25:59.818+10 276616  
2012-10-02-1349166359.94-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:26:12.022+10 950258  
2012-10-02-1349166372.78-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:26:17.974+10 436304  
2012-10-02-1349166378.19-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:26:23.863+10 477320  
2012-10-02-1349166384.67-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:26:39.263+10 1222060  
2012-10-02-1349166401.24-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:26:47.193+10 454228  
2012-10-02-1349166408.5-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:26:52.09+10 289586  
2012-10-02-1349166413.97-demo.wav 44028 CanberraMtAinsli 2012-10-02 18:27:15.442+10 1802376  
2012-10-02-1349166435.71-demo.wav 44028 CanberraMtAinsli 2012-10-02 18:27:20.293+10 383112  
2012-10-02-1349166441.44-demo.wav 44028 CanberraMtAinsli 2012-10-02 18:27:24.474+10 256136  
2012-10-02-1349166444.67-demo.wav 44028 CanberraMtAinsli 2012-10-02 18:27:32.723+10 677920  
2012-10-02-1349166452.86-demo.wav 44028 CanberraMtAinsli 2012-10-02 18:27:35.565+10 224740  
2012-10-02-1349166456.01-demo.wav 44028 CanberraMtAinsli 2012-10-02 18:27:40.75+10 388960  
2012-10-02-1349166462.03-demo.wav 44028 CanberraMtAinsli 2012-10-02 18:27:45.089+10 211456  
2012-10-02-1349166531.57-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:28:54.623+10 256808  
2012-10-02-1349166536.05-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:28:58.309+10 192648  
2012-10-02-1349166538.43-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:29:04.342+10 497800  
2012-10-02-1349166544.47-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:29:08.508+10 338832  
2012-10-02-1349166550.11-demo.wav 44028 CanberraBlackMnt 2012-10-02 18:29:13.854+10 312816  
2012-10-02-1349166990.04-demo.wav 40091 Fire Mgt CanberraMtAinsli 2012-10-02 18:36:32.507+10 207980  
2012-10-02-1349167218.03-demo.wav 40078 SES Ops 1 CanberraMtAinsli 2012-10-02 18:40:23.003+10 415220  
2012-10-02-1349167224.4-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 18:40:35.57+10 938120  
2012-10-02-1349167262.23-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 18:41:06.187+10 330528  
2012-10-02-1349167267.79-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:41:15.995+10 690312  
2012-10-02-1349167276.27-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:41:19.611+10 278664  
2012-10-02-1349167280.57-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:41:28.743+10 682120  
2012-10-02-1349167360.83-demo.wav 40078 SES Ops 1 CanberraMtAinsli 2012-10-02 18:42:44.115+10 275612  
2012-10-02-1349167386.67-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:43:10.95+10 360584  
2012-10-02-1349167392.6-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:43:16.661+10 342152  
2012-10-02-1349167397.82-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:43:29.488+10 974586  
2012-10-02-1349167409.62-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:43:38.984+10 723928  
2012-10-02-1349167419.39-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 18:43:44.297+10 352126  
2012-10-02-1349167424.67-demo.wav 40078 SES Ops 1 CanberraMtAinsli 2012-10-02 18:43:51.036+10 533154  
2012-10-02-1349167431.38-demo.wav 40078 SES Ops 1 CanberraMtAinsli 2012-10-02 18:44:01.516+10 850028  
2012-10-02-1349167441.71-demo.wav 40078 SES Ops 1 CanberraMtAinsli 2012-10-02 18:44:04.584+10 181710  
2012-10-02-1349167710.55-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 18:48:37.245+10 557418  
2012-10-02-1349167718.14-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:48:46.988+10 737416  
2012-10-02-1349167727.57-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:49:19.856+10 2665288  
2012-10-02-1349167760.61-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:49:26.332+10 479182  
2012-10-02-1349167826.55-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:50:32.264+10 481012  
2012-10-02-1349167832.5-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:50:35.949+10 288902  
2012-10-02-1349167837.69-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:50:46.638+10 749966  
2012-10-02-1349167847.38-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:50:52.47+10 428166  
2012-10-02-1349167985.67-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:53:08.828+10 265888  
2012-10-02-1349167989.67-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:53:18.785+10 745398  
2012-10-02-1349167999.0-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:53:25.912+10 572948  
2012-10-02-1349168007.16-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:53:30.138+10 249692  
2012-10-02-1349168011.0-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 18:53:39.498+10 715792  
2012-10-02-1349168055.77-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 18:54:19.117+10 279422  
2012-10-02-1349168060.38-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 18:54:37.219+10 1413256  
2012-10-02-1349168080.09-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 18:54:52.078+10 1007748  
2012-10-02-1349168092.29-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 18:54:55.47+10 264182  
2012-10-02-1349168143.23-demo.wav 44028 CanberraMtAinsli 2012-10-02 18:55:46.209+10 250906  
2012-10-02-1349168146.77-demo.wav 44028 CanberraMtAinsli 2012-10-02 18:55:50.629+10 325768  
2012-10-02-1349168150.75-demo.wav 44028 CanberraMtAinsli 2012-10-02 18:55:54.826+10 344200  
2012-10-02-1349168155.6-demo.wav 44028 CanberraMtAinsli 2012-10-02 18:55:57.938+10 198792  
2012-10-02-1349168238.05-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:57:23.373+10 448412  
2012-10-02-1349168244.39-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:57:27.569+10 266376  
2012-10-02-1349168248.12-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:57:42.2+10 1181504  
2012-10-02-1349168263.37-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:57:48.847+10 417822  
2012-10-02-1349168269.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:57:53.048+10 319624  
2012-10-02-1349168274.7-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:58:15.014+10 1706120  
2012-10-02-1349168297.16-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:58:24.75+10 637064  
2012-10-02-1349168304.98-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:58:30.876+10 491656  
2012-10-02-1349168312.64-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:58:38.504+10 491656  
2012-10-02-1349168319.9-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 18:58:44.885+10 419958  
2012-10-02-1349168485.38-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 19:01:31.13+10 479970  
2012-10-02-1349168676.09-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:04:39.419+10 279130  
2012-10-02-1349168679.6-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:04:42.461+10 241800  
2012-10-02-1349168683.01-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:04:48.298+10 444552  
2012-10-02-1349168688.45-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:04:51.406+10 228234  
2012-10-02-1349168718.25-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:05:21.985+10 315528  
2012-10-02-1349168723.31-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:05:26.986+10 309384  
2012-10-02-1349168727.8-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:05:33.475+10 475272  
2012-10-02-1349168733.73-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:05:36.553+10 237676  
2012-10-02-1349168737.1-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:05:46.696+10 805000  
2012-10-02-1349168746.87-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:05:49.527+10 223368  
2012-10-02-1349168749.69-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:05:53.882+10 352292  
2012-10-02-1349168862.69-demo.wav 44028 CanberraBlackMnt 2012-10-02 19:07:45.961+10 275992  
2012-10-02-1349168867.34-demo.wav 44028 CanberraMtAinsli 2012-10-02 19:07:52.87+10 465222  
2012-10-02-1349168873.06-demo.wav 44028 CanberraMtAinsli 2012-10-02 19:08:02.617+10 802952  
2012-10-02-1349168884.54-demo.wav 44028 CanberraMtAinsli 2012-10-02 19:08:09.254+10 392916  
2012-10-02-1349168889.8-demo.wav 44028 CanberraMtAinsli 2012-10-02 19:08:15.78+10 470986  
2012-10-02-1349168896.03-demo.wav 44028 CanberraMtAinsli 2012-10-02 19:08:20.135+10 276158  
2012-10-02-1349168900.39-demo.wav 44028 CanberraMtAinsli 2012-10-02 19:08:28.752+10 693058  
2012-10-02-1349168908.96-demo.wav 44028 CanberraMtAinsli 2012-10-02 19:08:32.931+10 278972  
2012-10-02-1349168913.79-demo.wav 44028 CanberraMtAinsli 2012-10-02 19:08:37.222+10 227170  
2012-10-02-1349168917.5-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:08:57.924+10 1709392  
2012-10-02-1349168939.02-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:09:21.343+10 1869960  
2012-10-02-1349168961.49-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:09:24.2+10 194184  
2012-10-02-1349169021.88-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:10:24.94+10 256776  
2012-10-02-1349169046.73-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:10:49.371+10 223368  
2012-10-02-1349169049.6-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:10:52.146+10 215176  
2012-10-02-1349169052.59-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:10:56.047+10 290952  
2012-10-02-1349169056.8-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:11:06.334+10 798786  
2012-10-02-1349169066.74-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:11:11.31+10 355626  
2012-10-02-1349169071.88-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:11:34.162+10 1864876  
2012-10-02-1349169094.28-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:11:37.22+10 247944  
2012-10-02-1349169097.35-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:11:40.3+10 249992  
2012-10-02-1349169101.02-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:11:43.827+10 237704  
2012-10-02-1349169151.43-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:12:33.959+10 210934  
2012-10-02-1349169197.12-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:13:19.613+10 208586  
2012-10-02-1349169200.72-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:13:26.547+10 487480  
2012-10-02-1349169206.85-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:13:30.864+10 336008  
2012-10-02-1349169212.21-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:13:49.156+10 1370758  
2012-10-02-1349169230.04-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:13:55.984+10 498672  
2012-10-02-1349169282.25-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:14:46.064+10 318808  
2012-10-02-1349169287.74-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:14:55.27+10 631702  
2012-10-02-1349169298.49-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:15:01.764+10 278664  
2012-10-02-1349169301.97-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:15:07.796+10 448472  
2012-10-02-1349169308.05-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:15:10.971+10 185412  
2012-10-02-1349169311.12-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:15:14.802+10 295030  
2012-10-02-1349169315.33-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:15:19.382+10 306684  
2012-10-02-1349169319.71-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:15:25.413+10 428170  
2012-10-02-1349169439.12-demo.wav 44028 CanberraBlackMnt 2012-10-02 19:17:21.787+10 223402  
2012-10-02-1349169441.9-demo.wav 44028 CanberraBlackMnt 2012-10-02 19:17:27.181+10 444552  
2012-10-02-1349169449.23-demo.wav 44028 CanberraBlackMnt 2012-10-02 19:17:32.943+10 313480  
2012-10-02-1349169532.82-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:18:56.954+10 346350  
2012-10-02-1349169538.27-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:19:02.035+10 317576  
2012-10-02-1349169543.03-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:19:31.417+10 2330654  
2012-10-02-1349169571.54-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:19:34.891+10 216776  
2012-10-02-1349169679.88-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:21:25.003+10 430858  
2012-10-02-1349169686.23-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:21:30.015+10 314496  
2012-10-02-1349169690.7-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:21:44.55+10 1116662  
2012-10-02-1349169704.82-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:21:47.885+10 203572  
2012-10-02-1349169799.28-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 19:23:30.64+10 951072  
2012-10-02-1349169959.58-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:26:02.619+10 254176  
2012-10-02-1349169962.89-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:26:05.947+10 258184  
2012-10-02-1349169966.55-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:26:23.239+10 1398920  
2012-10-02-1349169983.85-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:26:26.581+10 231560  
2012-10-02-1349170173.46-demo.wav 40078 SES Ops 1 CanberraBlackMnt 2012-10-02 19:29:37.4+10 329116  
2012-10-02-1349170179.46-demo.wav 40068 RFS Ops 1 CanberraBlackMnt 2012-10-02 19:29:46.152+10 561288  
2012-10-02-1349170187.12-demo.wav 40078 SES Ops 1 CanberraMtAinsli 2012-10-02 19:29:53.075+10 497340  
2012-10-02-1349170194.54-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:30:15.559+10 1762918  
2012-10-02-1349170218.07-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:30:22.021+10 331912  
2012-10-02-1349170222.28-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:30:25.611+10 282760  
2012-10-02-1349170226.12-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:30:30.173+10 342152  
2012-10-02-1349170230.37-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:30:35.201+10 407688  
2012-10-02-1349170235.96-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:30:41.997+10 445046  
2012-10-02-1349170242.39-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:30:47.869+10 460936  
2012-10-02-1349170248.93-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:30:53.488+10 385148  
2012-10-02-1349170255.3-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:31:14.517+10 1605414  
2012-10-02-1349170274.74-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:31:17.848+10 262280  
2012-10-02-1349170277.96-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:31:33.542+10 1291410  
2012-10-02-1349170293.89-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:31:38.289+10 370824  
2012-10-02-1349170299.52-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:31:44.812+10 444552  
2012-10-02-1349170305.43-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:31:48.589+10 266376  
2012-10-02-1349170309.36-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:31:55.974+10 498204  
2012-10-02-1349170316.08-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:31:58.406+10 183242  
2012-10-02-1349170359.09-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:32:41.917+10 239668  
2012-10-02-1349170363.39-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:32:48.278+10 411784  
2012-10-02-1349170368.9-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:32:54.853+10 499848  
2012-10-02-1349170377.09-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:33:01.635+10 379888  
2012-10-02-1349170382.08-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:33:14.847+10 1067144  
2012-10-02-1349170395.05-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:33:17.437+10 200840  
2012-10-02-1349170398.73-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:33:24.39+10 473226  
2012-10-02-1349170404.74-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:33:37.685+10 1085534  
2012-10-02-1349170418.64-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:33:44.546+10 481322  
2012-10-02-1349170425.04-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:34:02.589+10 1470738  
2012-10-02-1349170442.81-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:34:06.192+10 254878  
2012-10-02-1349170446.68-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:34:12.079+10 451404  
2012-10-02-1349170452.58-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:34:15.421+10 239752  
2012-10-02-1349170456.1-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:34:23.793+10 645256  
2012-10-02-1349170464.23-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:34:27.478+10 270472  
2012-10-02-1349170467.77-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:34:32.998+10 440456  
2012-10-02-1349170473.82-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:34:36.605+10 233608  
2012-10-02-1349170478.76-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:34:43.443+10 387858  
2012-10-02-1349170483.57-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:34:48.612+10 409562  
2012-10-02-1349170488.73-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:34:52.39+10 243250  
2012-10-02-1349170492.64-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:34:56.458+10 274262  
2012-10-02-1349170641.06-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:37:24.094+10 250800  
2012-10-02-1349170644.73-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:37:27.826+10 262280  
2012-10-02-1349170648.98-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:37:32.798+10 321672  
2012-10-02-1349170653.09-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:37:36.411+10 280712  
2012-10-02-1349170657.8-demo.wav 40078 SES Ops 1 CanberraMtAinsli 2012-10-02 19:37:46.417+10 720906  
2012-10-02-1349170673.39-demo.wav 40078 SES Ops 1 CanberraMtAinsli 2012-10-02 19:37:58.126+10 394974  
2012-10-02-1349170679.26-demo.wav 40078 SES Ops 1 CanberraMtAinsli 2012-10-02 19:38:02.881+10 305288  
2012-10-02-1349170683.41-demo.wav 40078 SES Ops 1 CanberraMtAinsli 2012-10-02 19:38:06.234+10 239752  
2012-10-02-1349170687.16-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:38:14.979+10 653448  
2012-10-02-1349170700.29-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:38:25.242+10 413794  
2012-10-02-1349170706.49-demo.wav 42006 CanberraMtAinsli 2012-10-02 19:38:31.816+10 417690  
2012-10-02-1349170712.51-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:38:54.046+10 1472430  
2012-10-02-1349170734.16-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:38:57.969+10 321672  
2012-10-02-1349170738.71-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:39:10.254+10 966792  
2012-10-02-1349170750.75-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:39:14.834+10 326342  
2012-10-02-1349171159.31-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:46:01.812+10 210038  
2012-10-02-1349171162.03-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:46:04.185+10 182408  
2012-10-02-1349171164.6-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:46:08.333+10 315528  
2012-10-02-1349171169.27-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:46:18.102+10 729604  
2012-10-02-1349171178.21-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:46:24.22+10 444118  
2012-10-02-1349171238.88-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:47:22.952+10 338900  
2012-10-02-1349171243.56-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:47:26.463+10 245896  
2012-10-02-1349171247.07-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:47:31.26+10 354440  
2012-10-02-1349171251.51-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:47:35.008+10 293000  
2012-10-02-1349171421.04-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:50:24.208+10 266150  
2012-10-02-1349171425.57-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:50:29.186+10 301192  
2012-10-02-1349171430.11-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:50:34.92+10 403592  
2012-10-02-1349171435.69-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:50:39.897+10 354440  
2012-10-02-1349171441.4-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:50:47.204+10 489608  
2012-10-02-1349171448.69-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:50:51.623+10 247944  
2012-10-02-1349171452.22-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:51:10.779+10 1514028  
2012-10-02-1349171471.53-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:51:15.312+10 317822  
2012-10-02-1349171592.76-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 19:53:16.403+10 306188  
2012-10-02-1349171597.83-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 19:53:25.192+10 618632  
2012-10-02-1349171606.05-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 19:53:32.05+10 501206  
2012-10-02-1349171612.95-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 19:53:36.547+10 303240  
2012-10-02-1349171617.35-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:53:57.062+10 1653430  
2012-10-02-1349171637.34-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:53:59.755+10 202888  
2012-10-02-1349171640.51-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:54:11.812+10 950408  
2012-10-02-1349171653.09-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:54:17.37+10 360584  
2012-10-02-1349171657.56-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 19:54:20.202+10 217224  
2012-10-02-1349171804.71-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 19:56:49.933+10 436640  
2012-10-02-1349171810.91-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 19:56:55.816+10 409814  
2012-10-02-1349171816.82-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 19:57:01.278+10 368776  
2012-10-02-1349171821.63-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 19:57:05.677+10 340104  
2012-10-02-1349171825.8-demo.wav 40068 RFS Ops 1 CanberraMtAinsli 2012-10-02 19:57:08.276+10 209032  
2012-10-02-1349172101.56-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 20:01:46.528+10 414948  
2012-10-02-1349172106.74-demo.wav 44011 ACTION 44011 CanberraBlackMnt 2012-10-02 20:01:49.746+10 254088  
2012-10-02-1349172282.12-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 20:04:44.618+10 208278  
2012-10-02-1349172284.94-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 20:04:47.343+10 202888  
2012-10-02-1349172288.39-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 20:04:52.783+10 370824  
2012-10-02-1349172293.1-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 20:05:08.371+10 1244360  
2012-10-02-1349172308.53-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 20:05:12.601+10 279168  
2012-10-02-1349172313.14-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 20:05:21.05+10 608304  
2012-10-02-1349172321.38-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 20:05:26.234+10 354634  
2012-10-02-1349173142.65-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 20:19:05.689+10 254170  
2012-10-02-1349173146.37-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 20:19:09.199+10 239752  
2012-10-02-1349173150.04-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 20:19:18.804+10 735368  
2012-10-02-1349173159.87-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 20:19:26.775+10 577642  
2012-10-02-1349173221.91-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 20:20:24.412+10 209748  
2012-10-02-1349173673.11-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 20:27:57.631+10 379652  
2012-10-02-1349174240.8-demo.wav 10106 SYD 7 CanberraMtAinsli 2012-10-02 20:37:23.29+10 209534  
2012-10-02-1349174599.95-demo.wav 30004 L GEORG CanberraBlackMnt 2012-10-02 20:43:25.506+10 466904  
\.  
   
   
  ALTER TABLE public.tgids OWNER TO postgres;
   
-- --
-- TOC entry 1849 (class 2606 OID 62399)  
-- Dependencies: 161 161  
-- Name: recordings_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: -- Name: recordings_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace:
-- --
   
ALTER TABLE ONLY recordings ALTER TABLE ONLY recordings
ADD CONSTRAINT recordings_pkey PRIMARY KEY (filename); ADD CONSTRAINT recordings_pkey PRIMARY KEY (filename);
   
   
-- --
-- TOC entry 1855 (class 0 OID 0) -- Name: tgids_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace:
-- Dependencies: 6 --
   
  ALTER TABLE ONLY tgids
  ADD CONSTRAINT tgids_pkey PRIMARY KEY (tgid);
   
   
  --
-- Name: public; Type: ACL; Schema: -; Owner: postgres -- Name: public; Type: ACL; Schema: -; Owner: postgres
-- --
   
REVOKE ALL ON SCHEMA public FROM PUBLIC; REVOKE ALL ON SCHEMA public FROM PUBLIC;
REVOKE ALL ON SCHEMA public FROM postgres; REVOKE ALL ON SCHEMA public FROM postgres;
GRANT ALL ON SCHEMA public TO postgres; GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO PUBLIC; GRANT ALL ON SCHEMA public TO PUBLIC;
   
   
-- Completed on 2012-10-08 22:16:53  
   
-- --
-- PostgreSQL database dump complete -- PostgreSQL database dump complete
-- --
   
   
  <?php
  //select tgid, extract(hour from call_timestamp) ahour, date_trunc('day', call_timestamp) aday, count(filename), array_to_string(array_agg(filename), ' ') from recordings group by tgid, ahour, aday order by aday, ahour, tgid
  include('common.inc.php');
  $sth = $conn->prepare('select * from recordings limit 100;');
 
  $sth->execute();
  $recordings = $sth->fetchAll();
  $convos = Array();
  $convo = Array();
  foreach ($recordings as $i => $recording) {
 
  if (count($convo) > 0) {
  echo "<br> " . strcasecmp($convos[count($convos) - 1][0]['call_timestamp'], $recording['call_timestamp']);
  if (abs(strcasecmp($convos[count($convos) - 1][0]['call_timestamp'], $recording['call_timestamp'])) > 2) {
  echo " " . $convos[count($convos) - 1][0]['call_timestamp'] . " " . $recording['call_timestamp'];
  }
  if (strcasecmp($convos[count($convos) - 1][0]['tgid'], $recording['tgid']) != 0) {
  $convos[] = $convo;
  $convo = Array();
  }
  }
  ;
  //print_r($recording);
  $convo[] = $recording;
  //print_r($convo);
  //echo "<br>\n";
  }
  foreach ($convos as $i => $convo) {
  foreach ($convo as $recording) {
  echo $recording['filename'] . " , ";
  }
  echo "<br><hr>\n";
  }
  ?>
 
 
  <?php
  include('common.inc.php');
  function processHourly($hourly) {
  $filename = $hourly['tgid'].'-'.str_replace(' 00:00:00+1','',$hourly['aday']).'-'.$hourly['ahour'].'.3gp';
 
  if(!file_exists("hourly/".$filename)) {
 
  $filenames = explode(",",$hourly['filenames']);
  $cmd = "/usr/local/bin/ffmpeg -i data/".implode(" -i data/",$filenames)." -ar 8000 -ab 4.75k -ac 1 hourly/".$filename . ' 2>&1';
  //print_r($hourly);
  exec ( $cmd,$output,$returncode );
  echo $cmd."<br>\n";
  if ($returncode != 10) {
  //print_r($output);
  //die();
  }
  }
  }
  $sth = $conn->prepare("select tgid, extract(hour from call_timestamp) ahour, date_trunc('day', call_timestamp) aday, count(filename), array_to_string(array_agg(filename order by call_timestamp), ',') filenames from recordings group by tgid, ahour, aday order by aday DESC, ahour, tgid;");
 
  $sth->execute();
  $hourlies = $sth->fetchAll(PDO::FETCH_ASSOC);
  foreach($hourlies as $hourly) {
  //processHourly($hourly);
  }
  $sth = $conn->prepare("select 'hour' as tgid, extract(hour from call_timestamp) ahour, date_trunc('day', call_timestamp) aday, count(filename), array_to_string(array_agg(filename order by call_timestamp), ',') filenames from recordings group by ahour, aday order by aday DESC, ahour;");
 
  $sth->execute();
  $hourlies = $sth->fetchAll(PDO::FETCH_ASSOC);
  foreach($hourlies as $hourly) {
  processHourly($hourly);
  }
 
file:b/getfile.php (new)
  <?php
  $reqfile = "path/to/file.3gp";
  $contenttype = "audio/3gpp";
 
  if ($fn = fopen($reqfile, "rba")) {
  header("Content-Type: " . $contenttype);
  header("Content-Length: " . filesize($reqfile));
  header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
  header("Pragma: no-cache");
  header("Expires: Mon, 26 Jul 1997 06:00:00 GMT");
  header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0");
  passthru("ffmpeg -i 2012-09-29-1348911268.34-demo.wav -ar 8000 -ab 4.75k -");
  fpassthru($fn);
  fclose($fn);
  } else {
  exit("error....");
  }
  exit();
  ?>
 
// ============== Formatting extensions ============================ // ============== Formatting extensions ============================
// A common storage for all mode-specific formatting features // A common storage for all mode-specific formatting features
if (!CodeMirror.modeExtensions) CodeMirror.modeExtensions = {}; if (!CodeMirror.modeExtensions) CodeMirror.modeExtensions = {};
   
// Returns the extension of the editor's current mode // Returns the extension of the editor's current mode
CodeMirror.defineExtension("getModeExt", function () { CodeMirror.defineExtension("getModeExt", function () {
return CodeMirror.modeExtensions[this.getOption("mode")]; return CodeMirror.modeExtensions[this.getOption("mode")];
}); });
   
// If the current mode is 'htmlmixed', returns the extension of a mode located at // If the current mode is 'htmlmixed', returns the extension of a mode located at
// the specified position (can be htmlmixed, css or javascript). Otherwise, simply // the specified position (can be htmlmixed, css or javascript). Otherwise, simply
// returns the extension of the editor's current mode. // returns the extension of the editor's current mode.
CodeMirror.defineExtension("getModeExtAtPos", function (pos) { CodeMirror.defineExtension("getModeExtAtPos", function (pos) {
var token = this.getTokenAt(pos); var token = this.getTokenAt(pos);
if (token && token.state && token.state.mode) if (token && token.state && token.state.mode)
return CodeMirror.modeExtensions[token.state.mode == "html" ? "htmlmixed" : token.state.mode]; return CodeMirror.modeExtensions[token.state.mode == "html" ? "htmlmixed" : token.state.mode];
else else
return this.getModeExt(); return this.getModeExt();
}); });
   
// Comment/uncomment the specified range // Comment/uncomment the specified range
CodeMirror.defineExtension("commentRange", function (isComment, from, to) { CodeMirror.defineExtension("commentRange", function (isComment, from, to) {
var curMode = this.getModeExtAtPos(this.getCursor()); var curMode = this.getModeExtAtPos(this.getCursor());
if (isComment) { // Comment range if (isComment) { // Comment range
var commentedText = this.getRange(from, to); var commentedText = this.getRange(from, to);
this.replaceRange(curMode.commentStart + this.getRange(from, to) + curMode.commentEnd this.replaceRange(curMode.commentStart + this.getRange(from, to) + curMode.commentEnd
, from, to); , from, to);
if (from.line == to.line && from.ch == to.ch) { // An empty comment inserted - put cursor inside if (from.line == to.line && from.ch == to.ch) { // An empty comment inserted - put cursor inside
this.setCursor(from.line, from.ch + curMode.commentStart.length); this.setCursor(from.line, from.ch + curMode.commentStart.length);
} }
} }
else { // Uncomment range else { // Uncomment range
var selText = this.getRange(from, to); var selText = this.getRange(from, to);
var startIndex = selText.indexOf(curMode.commentStart); var startIndex = selText.indexOf(curMode.commentStart);
var endIndex = selText.lastIndexOf(curMode.commentEnd); var endIndex = selText.lastIndexOf(curMode.commentEnd);
if (startIndex > -1 && endIndex > -1 && endIndex > startIndex) { if (startIndex > -1 && endIndex > -1 && endIndex > startIndex) {
// Take string till comment start // Take string till comment start
selText = selText.substr(0, startIndex) selText = selText.substr(0, startIndex)
// From comment start till comment end // From comment start till comment end
+ selText.substring(startIndex + curMode.commentStart.length, endIndex) + selText.substring(startIndex + curMode.commentStart.length, endIndex)
// From comment end till string end // From comment end till string end
+ selText.substr(endIndex + curMode.commentEnd.length); + selText.substr(endIndex + curMode.commentEnd.length);
} }
this.replaceRange(selText, from, to); this.replaceRange(selText, from, to);
} }
}); });
   
// Applies automatic mode-aware indentation to the specified range // Applies automatic mode-aware indentation to the specified range
CodeMirror.defineExtension("autoIndentRange", function (from, to) { CodeMirror.defineExtension("autoIndentRange", function (from, to) {
var cmInstance = this; var cmInstance = this;
this.operation(function () { this.operation(function () {
for (var i = from.line; i <= to.line; i++) { for (var i = from.line; i <= to.line; i++) {
cmInstance.indentLine(i); cmInstance.indentLine(i);
} }
}); });
}); });
   
// Applies automatic formatting to the specified range // Applies automatic formatting to the specified range
CodeMirror.defineExtension("autoFormatRange", function (from, to) { CodeMirror.defineExtension("autoFormatRange", function (from, to) {
var absStart = this.indexFromPos(from); var absStart = this.indexFromPos(from);
var absEnd = this.indexFromPos(to); var absEnd = this.indexFromPos(to);
// Insert additional line breaks where necessary according to the // Insert additional line breaks where necessary according to the
// mode's syntax // mode's syntax
var res = this.getModeExt().autoFormatLineBreaks(this.getValue(), absStart, absEnd); var res = this.getModeExt().autoFormatLineBreaks(this.getValue(), absStart, absEnd);
var cmInstance = this; var cmInstance = this;
   
// Replace and auto-indent the range // Replace and auto-indent the range
this.operation(function () { this.operation(function () {
cmInstance.replaceRange(res, from, to); cmInstance.replaceRange(res, from, to);
var startLine = cmInstance.posFromIndex(absStart).line; var startLine = cmInstance.posFromIndex(absStart).line;
var endLine = cmInstance.posFromIndex(absStart + res.length).line; var endLine = cmInstance.posFromIndex(absStart + res.length).line;
for (var i = startLine; i <= endLine; i++) { for (var i = startLine; i <= endLine; i++) {
cmInstance.indentLine(i); cmInstance.indentLine(i);
} }
}); });
}); });
   
// Define extensions for a few modes // Define extensions for a few modes
   
CodeMirror.modeExtensions["css"] = { CodeMirror.modeExtensions["css"] = {
commentStart: "/*", commentStart: "/*",
commentEnd: "*/", commentEnd: "*/",
wordWrapChars: [";", "\\{", "\\}"], wordWrapChars: [";", "\\{", "\\}"],
autoFormatLineBreaks: function (text) { autoFormatLineBreaks: function (text) {
return text.replace(new RegExp("(;|\\{|\\})([^\r\n])", "g"), "$1\n$2"); return text.replace(new RegExp("(;|\\{|\\})([^\r\n])", "g"), "$1\n$2");
} }
}; };
   
CodeMirror.modeExtensions["javascript"] = { CodeMirror.modeExtensions["javascript"] = {
commentStart: "/*", commentStart: "/*",
commentEnd: "*/", commentEnd: "*/",
wordWrapChars: [";", "\\{", "\\}"], wordWrapChars: [";", "\\{", "\\}"],
   
getNonBreakableBlocks: function (text) { getNonBreakableBlocks: function (text) {
var nonBreakableRegexes = [ var nonBreakableRegexes = [
new RegExp("for\\s*?\\(([\\s\\S]*?)\\)"), new RegExp("for\\s*?\\(([\\s\\S]*?)\\)"),
new RegExp("'([\\s\\S]*?)('|$)"), new RegExp("'([\\s\\S]*?)('|$)"),
new RegExp("\"([\\s\\S]*?)(\"|$)"), new RegExp("\"([\\s\\S]*?)(\"|$)"),
new RegExp("//.*([\r\n]|$)") new RegExp("//.*([\r\n]|$)")
]; ];
var nonBreakableBlocks = new Array(); var nonBreakableBlocks = new Array();
for (var i = 0; i < nonBreakableRegexes.length; i++) { for (var i = 0; i < nonBreakableRegexes.length; i++) {
var curPos = 0; var curPos = 0;
while (curPos < text.length) { while (curPos < text.length) {
var m = text.substr(curPos).match(nonBreakableRegexes[i]); var m = text.substr(curPos).match(nonBreakableRegexes[i]);
if (m != null) { if (m != null) {
nonBreakableBlocks.push({ nonBreakableBlocks.push({
start: curPos + m.index, start: curPos + m.index,
end: curPos + m.index + m[0].length end: curPos + m.index + m[0].length
}); });
curPos += m.index + Math.max(1, m[0].length); curPos += m.index + Math.max(1, m[0].length);
} }
else { // No more matches else { // No more matches
break; break;
} }
} }
} }
nonBreakableBlocks.sort(function (a, b) { nonBreakableBlocks.sort(function (a, b) {
return a.start - b.start; return a.start - b.start;
}); });
   
return nonBreakableBlocks; return nonBreakableBlocks;
}, },
   
autoFormatLineBreaks: function (text) { autoFormatLineBreaks: function (text) {
var curPos = 0; var curPos = 0;
var reLinesSplitter = new RegExp("(;|\\{|\\})([^\r\n])", "g"); var reLinesSplitter = new RegExp("(;|\\{|\\})([^\r\n])", "g");
var nonBreakableBlocks = this.getNonBreakableBlocks(text); var nonBreakableBlocks = this.getNonBreakableBlocks(text);
if (nonBreakableBlocks != null) { if (nonBreakableBlocks != null) {
var res = ""; var res = "";
for (var i = 0; i < nonBreakableBlocks.length; i++) { for (var i = 0; i < nonBreakableBlocks.length; i++) {
if (nonBreakableBlocks[i].start > curPos) { // Break lines till the block if (nonBreakableBlocks[i].start > curPos) { // Break lines till the block
res += text.substring(curPos, nonBreakableBlocks[i].start).replace(reLinesSplitter, "$1\n$2"); res += text.substring(curPos, nonBreakableBlocks[i].start).replace(reLinesSplitter, "$1\n$2");
curPos = nonBreakableBlocks[i].start; curPos = nonBreakableBlocks[i].start;
} }
if (nonBreakableBlocks[i].start <= curPos if (nonBreakableBlocks[i].start <= curPos
&& nonBreakableBlocks[i].end >= curPos) { // Skip non-breakable block && nonBreakableBlocks[i].end >= curPos) { // Skip non-breakable block
res += text.substring(curPos, nonBreakableBlocks[i].end); res += text.substring(curPos, nonBreakableBlocks[i].end);
curPos = nonBreakableBlocks[i].end; curPos = nonBreakableBlocks[i].end;
} }
} }
if (curPos < text.length - 1) { if (curPos < text.length - 1) {
res += text.substr(curPos).replace(reLinesSplitter, "$1\n$2"); res += text.substr(curPos).replace(reLinesSplitter, "$1\n$2");
} }
return res; return res;
} }
else { else {
return text.replace(reLinesSplitter, "$1\n$2"); return text.replace(reLinesSplitter, "$1\n$2");
} }
} }
}; };
   
CodeMirror.modeExtensions["xml"] = { CodeMirror.modeExtensions["xml"] = {
commentStart: "<!--", commentStart: "<!--",
commentEnd: "-->", commentEnd: "-->",
wordWrapChars: [">"], wordWrapChars: [">"],
   
autoFormatLineBreaks: function (text) { autoFormatLineBreaks: function (text) {
var lines = text.split("\n"); var lines = text.split("\n");
var reProcessedPortion = new RegExp("(^\\s*?<|^[^<]*?)(.+)(>\\s*?$|[^>]*?$)"); var reProcessedPortion = new RegExp("(^\\s*?<|^[^<]*?)(.+)(>\\s*?$|[^>]*?$)");
var reOpenBrackets = new RegExp("<", "g"); var reOpenBrackets = new RegExp("<", "g");
var reCloseBrackets = new RegExp("(>)([^\r\n])", "g"); var reCloseBrackets = new RegExp("(>)([^\r\n])", "g");
for (var i = 0; i < lines.length; i++) { for (var i = 0; i < lines.length; i++) {
var mToProcess = lines[i].match(reProcessedPortion); var mToProcess = lines[i].match(reProcessedPortion);
if (mToProcess != null && mToProcess.length > 3) { // The line starts with whitespaces and ends with whitespaces if (mToProcess != null && mToProcess.length > 3) { // The line starts with whitespaces and ends with whitespaces
lines[i] = mToProcess[1] lines[i] = mToProcess[1]
+ mToProcess[2].replace(reOpenBrackets, "\n$&").replace(reCloseBrackets, "$1\n$2") + mToProcess[2].replace(reOpenBrackets, "\n$&").replace(reCloseBrackets, "$1\n$2")
+ mToProcess[3]; + mToProcess[3];
continue; continue;
} }
} }
   
return lines.join("\n"); return lines.join("\n");
} }
}; };
   
CodeMirror.modeExtensions["htmlmixed"] = { CodeMirror.modeExtensions["htmlmixed"] = {
commentStart: "<!--", commentStart: "<!--",
commentEnd: "-->", commentEnd: "-->",
wordWrapChars: [">", ";", "\\{", "\\}"], wordWrapChars: [">", ";", "\\{", "\\}"],
   
getModeInfos: function (text, absPos) { getModeInfos: function (text, absPos) {
var modeInfos = new Array(); var modeInfos = new Array();
modeInfos[0] = modeInfos[0] =
{ {
pos: 0, pos: 0,
modeExt: CodeMirror.modeExtensions["xml"], modeExt: CodeMirror.modeExtensions["xml"],
modeName: "xml" modeName: "xml"
}; };
   
var modeMatchers = new Array(); var modeMatchers = new Array();
modeMatchers[0] = modeMatchers[0] =
{ {
regex: new RegExp("<style[^>]*>([\\s\\S]*?)(</style[^>]*>|$)", "i"), regex: new RegExp("<style[^>]*>([\\s\\S]*?)(</style[^>]*>|$)", "i"),
modeExt: CodeMirror.modeExtensions["css"], modeExt: CodeMirror.modeExtensions["css"],
modeName: "css" modeName: "css"
}; };
modeMatchers[1] = modeMatchers[1] =
{ {
regex: new RegExp("<script[^>]*>([\\s\\S]*?)(</script[^>]*>|$)", "i"), regex: new RegExp("<script[^>]*>([\\s\\S]*?)(</script[^>]*>|$)", "i"),
modeExt: CodeMirror.modeExtensions["javascript"], modeExt: CodeMirror.modeExtensions["javascript"],
modeName: "javascript" modeName: "javascript"
}; };
   
var lastCharPos = (typeof (absPos) !== "undefined" ? absPos : text.length - 1); var lastCharPos = (typeof (absPos) !== "undefined" ? absPos : text.length - 1);
// Detect modes for the entire text // Detect modes for the entire text
for (var i = 0; i < modeMatchers.length; i++) { for (var i = 0; i < modeMatchers.length; i++) {
var curPos = 0; var curPos = 0;
while (curPos <= lastCharPos) { while (curPos <= lastCharPos) {
var m = text.substr(curPos).match(modeMatchers[i].regex); var m = text.substr(curPos).match(modeMatchers[i].regex);
if (m != null) { if (m != null) {
if (m.length > 1 && m[1].length > 0) { if (m.length > 1 && m[1].length > 0) {
// Push block begin pos // Push block begin pos
var blockBegin = curPos + m.index + m[0].indexOf(m[1]); var blockBegin = curPos + m.index + m[0].indexOf(m[1]);
modeInfos.push( modeInfos.push(
{ {
pos: blockBegin, pos: blockBegin,
modeExt: modeMatchers[i].modeExt, modeExt: modeMatchers[i].modeExt,
modeName: modeMatchers[i].modeName modeName: modeMatchers[i].modeName
}); });
// Push block end pos // Push block end pos
modeInfos.push( modeInfos.push(
{ {
pos: blockBegin + m[1].length, pos: blockBegin + m[1].length,
modeExt: modeInfos[0].modeExt, modeExt: modeInfos[0].modeExt,
modeName: modeInfos[0].modeName modeName: modeInfos[0].modeName
}); });
curPos += m.index + m[0].length; curPos += m.index + m[0].length;
continue; continue;
} }
else { else {
curPos += m.index + Math.max(m[0].length, 1); curPos += m.index + Math.max(m[0].length, 1);
} }
} }
else { // No more matches else { // No more matches
break; break;
} }
} }
} }
// Sort mode infos // Sort mode infos
modeInfos.sort(function sortModeInfo(a, b) { modeInfos.sort(function sortModeInfo(a, b) {
return a.pos - b.pos; return a.pos - b.pos;
}); });
   
return modeInfos; return modeInfos;
}, },
   
autoFormatLineBreaks: function (text, startPos, endPos) { autoFormatLineBreaks: function (text, startPos, endPos) {
var modeInfos = this.getModeInfos(text); var modeInfos = this.getModeInfos(text);
var reBlockStartsWithNewline = new RegExp("^\\s*?\n"); var reBlockStartsWithNewline = new RegExp("^\\s*?\n");
var reBlockEndsWithNewline = new RegExp("\n\\s*?$"); var reBlockEndsWithNewline = new RegExp("\n\\s*?$");
var res = ""; var res = "";
// Use modes info to break lines correspondingly // Use modes info to break lines correspondingly
if (modeInfos.length > 1) { // Deal with multi-mode text if (modeInfos.length > 1) { // Deal with multi-mode text
for (var i = 1; i <= modeInfos.length; i++) { for (var i = 1; i <= modeInfos.length; i++) {
var selStart = modeInfos[i - 1].pos; var selStart = modeInfos[i - 1].pos;
var selEnd = (i < modeInfos.length ? modeInfos[i].pos : endPos); var selEnd = (i < modeInfos.length ? modeInfos[i].pos : endPos);
   
if (selStart >= endPos) { // The block starts later than the needed fragment if (selStart >= endPos) { // The block starts later than the needed fragment
break; break;
} }
if (selStart < startPos) { if (selStart < startPos) {
if (selEnd <= startPos) { // The block starts earlier than the needed fragment if (selEnd <= startPos) { // The block starts earlier than the needed fragment
continue; continue;
} }
selStart = startPos; selStart = startPos;
} }
if (selEnd > endPos) { if (selEnd > endPos) {
selEnd = endPos; selEnd = endPos;
} }
var textPortion = text.substring(selStart, selEnd); var textPortion = text.substring(selStart, selEnd);
if (modeInfos[i - 1].modeName != "xml") { // Starting a CSS or JavaScript block if (modeInfos[i - 1].modeName != "xml") { // Starting a CSS or JavaScript block
if (!reBlockStartsWithNewline.test(textPortion) if (!reBlockStartsWithNewline.test(textPortion)
&& selStart > 0) { // The block does not start with a line break && selStart > 0) { // The block does not start with a line break
textPortion = "\n" + textPortion; textPortion = "\n" + textPortion;
} }
if (!reBlockEndsWithNewline.test(textPortion) if (!reBlockEndsWithNewline.test(textPortion)
&& selEnd < text.length - 1) { // The block does not end with a line break && selEnd < text.length - 1) { // The block does not end with a line break
textPortion += "\n"; textPortion += "\n";
} }
} }
res += modeInfos[i - 1].modeExt.autoFormatLineBreaks(textPortion); res += modeInfos[i - 1].modeExt.autoFormatLineBreaks(textPortion);
} }
} }
else { // Single-mode text else { // Single-mode text
res = modeInfos[0].modeExt.autoFormatLineBreaks(text.substring(startPos, endPos)); res = modeInfos[0].modeExt.autoFormatLineBreaks(text.substring(startPos, endPos));
} }
   
return res; return res;
} }
}; };
   
jasmine.HtmlReporterHelpers = {}; jasmine.HtmlReporterHelpers = {};
   
jasmine.HtmlReporterHelpers.createDom = function(type, attrs, childrenVarArgs) { jasmine.HtmlReporterHelpers.createDom = function (type, attrs, childrenVarArgs) {
var el = document.createElement(type); var el = document.createElement(type);
   
for (var i = 2; i < arguments.length; i++) { for (var i = 2; i < arguments.length; i++) {
var child = arguments[i]; var child = arguments[i];
   
if (typeof child === 'string') { if (typeof child === 'string') {
el.appendChild(document.createTextNode(child)); el.appendChild(document.createTextNode(child));
} else { } else {
if (child) { if (child) {
el.appendChild(child); el.appendChild(child);
} }
} }
} }
   
for (var attr in attrs) { for (var attr in attrs) {
if (attr == "className") { if (attr == "className") {
el[attr] = attrs[attr]; el[attr] = attrs[attr];
} else { } else {
el.setAttribute(attr, attrs[attr]); el.setAttribute(attr, attrs[attr]);
} }
} }
   
return el; return el;
}; };
   
jasmine.HtmlReporterHelpers.getSpecStatus = function(child) { jasmine.HtmlReporterHelpers.getSpecStatus = function (child) {
var results = child.results(); var results = child.results();
var status = results.passed() ? 'passed' : 'failed'; var status = results.passed() ? 'passed' : 'failed';
if (results.skipped) { if (results.skipped) {
status = 'skipped'; status = 'skipped';
} }
   
return status; return status;
}; };
   
jasmine.HtmlReporterHelpers.appendToSummary = function(child, childElement) { jasmine.HtmlReporterHelpers.appendToSummary = function (child, childElement) {
var parentDiv = this.dom.summary; var parentDiv = this.dom.summary;
var parentSuite = (typeof child.parentSuite == 'undefined') ? 'suite' : 'parentSuite'; var parentSuite = (typeof child.parentSuite == 'undefined') ? 'suite' : 'parentSuite';
var parent = child[parentSuite]; var parent = child[parentSuite];
   
if (parent) { if (parent) {
if (typeof this.views.suites[parent.id] == 'undefined') { if (typeof this.views.suites[parent.id] == 'undefined') {
this.views.suites[parent.id] = new jasmine.HtmlReporter.SuiteView(parent, this.dom, this.views); this.views.suites[parent.id] = new jasmine.HtmlReporter.SuiteView(parent, this.dom, this.views);
} }
parentDiv = this.views.suites[parent.id].element; parentDiv = this.views.suites[parent.id].element;
} }
   
parentDiv.appendChild(childElement); parentDiv.appendChild(childElement);
}; };
   
   
jasmine.HtmlReporterHelpers.addHelpers = function(ctor) { jasmine.HtmlReporterHelpers.addHelpers = function (ctor) {
for(var fn in jasmine.HtmlReporterHelpers) { for (var fn in jasmine.HtmlReporterHelpers) {
ctor.prototype[fn] = jasmine.HtmlReporterHelpers[fn]; ctor.prototype[fn] = jasmine.HtmlReporterHelpers[fn];
} }
}; };
   
jasmine.HtmlReporter = function(_doc) { jasmine.HtmlReporter = function (_doc) {
var self = this; var self = this;
var doc = _doc || window.document; var doc = _doc || window.document;
   
var reporterView; var reporterView;
   
var dom = {}; var dom = {};
   
// Jasmine Reporter Public Interface // Jasmine Reporter Public Interface
self.logRunningSpecs = false; self.logRunningSpecs = false;
   
self.reportRunnerStarting = function(runner) { self.reportRunnerStarting = function (runner) {
var specs = runner.specs() || []; var specs = runner.specs() || [];
   
if (specs.length == 0) { if (specs.length == 0) {
return; return;
} }
   
createReporterDom(runner.env.versionString()); createReporterDom(runner.env.versionString());
doc.body.appendChild(dom.reporter); doc.body.appendChild(dom.reporter);
   
reporterView = new jasmine.HtmlReporter.ReporterView(dom); reporterView = new jasmine.HtmlReporter.ReporterView(dom);
reporterView.addSpecs(specs, self.specFilter); reporterView.addSpecs(specs, self.specFilter);
}; };
   
self.reportRunnerResults = function(runner) { self.reportRunnerResults = function (runner) {
reporterView && reporterView.complete(); reporterView && reporterView.complete();
}; };
   
self.reportSuiteResults = function(suite) { self.reportSuiteResults = function (suite) {
reporterView.suiteComplete(suite); reporterView.suiteComplete(suite);
}; };
   
self.reportSpecStarting = function(spec) { self.reportSpecStarting = function (spec) {
if (self.logRunningSpecs) { if (self.logRunningSpecs) {
self.log('>> Jasmine Running ' + spec.suite.description + ' ' + spec.description + '...'); self.log('>> Jasmine Running ' + spec.suite.description + ' ' + spec.description + '...');
} }
}; };
   
self.reportSpecResults = function(spec) { self.reportSpecResults = function (spec) {
reporterView.specComplete(spec); reporterView.specComplete(spec);
}; };
   
self.log = function() { self.log = function () {
  var console = jasmine.getGlobal().console;
  if (console && console.log) {
  if (console.log.apply) {
  console.log.apply(console, arguments);
  } else {
  console.log(arguments); // ie fix: console.log.apply doesn't exist on ie
  }
  }
  };
   
  self.specFilter = function (spec) {
  if (!focusedSpecName()) {
  return true;
  }
   
  return spec.getFullName().indexOf(focusedSpecName()) === 0;
  };
   
  return self;
   
  function focusedSpecName() {
  var specName;
   
  (function memoizeFocusedSpec() {
  if (specName) {
  return;
  }
   
  var paramMap = [];
  var params = doc.location.search.substring(1).split('&');
   
  for (var i = 0; i < params.length; i++) {
  var p = params[i].split('=');
  paramMap[decodeURIComponent(p[0])] = decodeURIComponent(p[1]);
  }
   
  specName = paramMap.spec;
  })();
   
  return specName;
  }
   
  function createReporterDom(version) {
  dom.reporter = self.createDom('div', { id: 'HTMLReporter', className: 'jasmine_reporter' },
  dom.banner = self.createDom('div', { className: 'banner' },
  self.createDom('span', { className: 'title' }, "Jasmine "),
  self.createDom('span', { className: 'version' }, version)),
   
  dom.symbolSummary = self.createDom('ul', {className: 'symbolSummary'}),
  dom.alert = self.createDom('div', {className: 'alert'}),
  dom.results = self.createDom('div', {className: 'results'},
  dom.summary = self.createDom('div', { className: 'summary' }),
  dom.details = self.createDom('div', { id: 'details' }))
  );
  }
  };
  jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter);
  jasmine.HtmlReporter.ReporterView = function (dom) {
  this.startedAt = new Date();
  this.runningSpecCount = 0;
  this.completeSpecCount = 0;
  this.passedCount = 0;
  this.failedCount = 0;
  this.skippedCount = 0;
   
  this.createResultsMenu = function () {
  this.resultsMenu = this.createDom('span', {className: 'resultsMenu bar'},
  this.summaryMenuItem = this.createDom('a', {className: 'summaryMenuItem', href: "#"}, '0 specs'),
  ' | ',
  this.detailsMenuItem = this.createDom('a', {className: 'detailsMenuItem', href: "#"}, '0 failing'));
   
  this.summaryMenuItem.onclick = function () {
  dom.reporter.className = dom.reporter.className.replace(/ showDetails/g, '');
  };
   
  this.detailsMenuItem.onclick = function () {
  showDetails();
  };
  };
   
  this.addSpecs = function (specs, specFilter) {
  this.totalSpecCount = specs.length;
   
  this.views = {
  specs: {},
  suites: {}
  };
   
  for (var i = 0; i < specs.length; i++) {
  var spec = specs[i];
  this.views.specs[spec.id] = new jasmine.HtmlReporter.SpecView(spec, dom, this.views);
  if (specFilter(spec)) {
  this.runningSpecCount++;
  }
  }
  };
   
  this.specComplete = function (spec) {
  this.completeSpecCount++;
   
  if (isUndefined(this.views.specs[spec.id])) {
  this.views.specs[spec.id] = new jasmine.HtmlReporter.SpecView(spec, dom);
  }
   
  var specView = this.views.specs[spec.id];
   
  switch (specView.status()) {
  case 'passed':
  this.passedCount++;
  break;
   
  case 'failed':
  this.failedCount++;
  break;
   
  case 'skipped':
  this.skippedCount++;
  break;
  }
   
  specView.refresh();
  this.refresh();
  };
   
  this.suiteComplete = function (suite) {
  var suiteView = this.views.suites[suite.id];
  if (isUndefined(suiteView)) {
  return;
  }
  suiteView.refresh();
  };
   
  this.refresh = function () {
   
  if (isUndefined(this.resultsMenu)) {
  this.createResultsMenu();
  }
   
  // currently running UI
  if (isUndefined(this.runningAlert)) {
  this.runningAlert = this.createDom('a', {href: "?", className: "runningAlert bar"});
  dom.alert.appendChild(this.runningAlert);
  }
  this.runningAlert.innerHTML = "Running " + this.completeSpecCount + " of " + specPluralizedFor(this.totalSpecCount);
   
  // skipped specs UI
  if (isUndefined(this.skippedAlert)) {
  this.skippedAlert = this.createDom('a', {href: "?", className: "skippedAlert bar"});
  }
   
  this.skippedAlert.innerHTML = "Skipping " + this.skippedCount + " of " + specPluralizedFor(this.totalSpecCount) + " - run all";
   
  if (this.skippedCount === 1 && isDefined(dom.alert)) {
  dom.alert.appendChild(this.skippedAlert);
  }
   
  // passing specs UI
  if (isUndefined(this.passedAlert)) {
  this.passedAlert = this.createDom('span', {href: "?", className: "passingAlert bar"});
  }
  this.passedAlert.innerHTML = "Passing " + specPluralizedFor(this.passedCount);
   
  // failing specs UI
  if (isUndefined(this.failedAlert)) {
  this.failedAlert = this.createDom('span', {href: "?", className: "failingAlert bar"});
  }
  this.failedAlert.innerHTML = "Failing " + specPluralizedFor(this.failedCount);
   
  if (this.failedCount === 1 && isDefined(dom.alert)) {
  dom.alert.appendChild(this.failedAlert);
  dom.alert.appendChild(this.resultsMenu);
  }
   
  // summary info
  this.summaryMenuItem.innerHTML = "" + specPluralizedFor(this.runningSpecCount);
  this.detailsMenuItem.innerHTML = "" + this.failedCount + " failing";
  };
   
  this.complete = function () {
  dom.alert.removeChild(this.runningAlert);
   
  this.skippedAlert.innerHTML = "Ran " + this.runningSpecCount + " of " + specPluralizedFor(this.totalSpecCount) + " - run all";
   
  if (this.failedCount === 0) {
  dom.alert.appendChild(this.createDom('span', {className: 'passingAlert bar'}, "Passing " + specPluralizedFor(this.passedCount)));
  } else {
  showDetails();
  }
   
  dom.banner.appendChild(this.createDom('span', {className: 'duration'}, "finished in " + ((new Date().getTime() - this.startedAt.getTime()) / 1000) + "s"));
  };
   
  return this;
   
  function showDetails() {
  if (dom.reporter.className.search(/showDetails/) === -1) {
  dom.reporter.className += " showDetails";
  }
  }
   
  function isUndefined(obj) {
  return typeof obj === 'undefined';
  }
   
  function isDefined(obj) {
  return !isUndefined(obj);
  }
   
  function specPluralizedFor(count) {
  var str = count + " spec";
  if (count > 1) {
  str += "s"
  }
  return str;
  }
   
  };
   
  jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.ReporterView);
   
   
  jasmine.HtmlReporter.SpecView = function (spec, dom, views) {
  this.spec = spec;
  this.dom = dom;
  this.views = views;
   
  this.symbol = this.createDom('li', { className: 'pending' });
  this.dom.symbolSummary.appendChild(this.symbol);
   
  this.summary = this.createDom('div', { className: 'specSummary' },
  this.createDom('a', {
  className: 'description',
  href: '?spec=' + encodeURIComponent(this.spec.getFullName()),
  title: this.spec.getFullName()
  }, this.spec.description)
  );
   
  this.detail = this.createDom('div', { className: 'specDetail' },
  this.createDom('a', {
  className: 'description',
  href: '?spec=' + encodeURIComponent(this.spec.getFullName()),
  title: this.spec.getFullName()
  }, this.spec.getFullName())
  );
  };
   
  jasmine.HtmlReporter.SpecView.prototype.status = function () {
  return this.getSpecStatus(this.spec);
  };
   
  jasmine.HtmlReporter.SpecView.prototype.refresh = function () {
  this.symbol.className = this.status();
   
  switch (this.status()) {
  case 'skipped':
  break;
   
  case 'passed':
  this.appendSummaryToSuiteDiv();
  break;
   
  case 'failed':
  this.appendSummaryToSuiteDiv();
  this.appendFailureDetail();
  break;
  }
  };
   
  jasmine.HtmlReporter.SpecView.prototype.appendSummaryToSuiteDiv = function () {
  this.summary.className += ' ' + this.status();
  this.appendToSummary(this.spec, this.summary);
  };
   
  jasmine.HtmlReporter.SpecView.prototype.appendFailureDetail = function () {
  this.detail.className += ' ' + this.status();
   
  var resultItems = this.spec.results().getItems();
  var messagesDiv = this.createDom('div', { className: 'messages' });
   
  for (var i = 0; i < resultItems.length; i++) {
  var result = resultItems[i];
   
  if (result.type == 'log') {
  messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage log'}, result.toString()));
  } else if (result.type == 'expect' && result.passed && !result.passed()) {
  messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message));
   
  if (result.trace.stack) {
  messagesDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack));
  }
  }
  }
   
  if (messagesDiv.childNodes.length > 0) {
  this.detail.appendChild(messagesDiv);
  this.dom.details.appendChild(this.detail);
  }
  };
   
  jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.SpecView);
  jasmine.HtmlReporter.SuiteView = function (suite, dom, views) {
  this.suite = suite;
  this.dom = dom;
  this.views = views;
   
  this.element = this.createDom('div', { className: 'suite' },
  this.createDom('a', { className: 'description', href: '?spec=' + encodeURIComponent(this.suite.getFullName()) }, this.suite.description)
  );
   
  this.appendToSummary(this.suite, this.element);
  };
   
  jasmine.HtmlReporter.SuiteView.prototype.status = function () {
  return this.getSpecStatus(this.suite);
  };
   
  jasmine.HtmlReporter.SuiteView.prototype.refresh = function () {
  this.element.className += " " + this.status();
  };
   
  jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.SuiteView);
   
  /* @deprecated Use jasmine.HtmlReporter instead
  */
  jasmine.TrivialReporter = function (doc) {
  this.document = doc || document;
  this.suiteDivs = {};
  this.logRunningSpecs = false;
  };
   
  jasmine.TrivialReporter.prototype.createDom = function (type, attrs, childrenVarArgs) {
  var el = document.createElement(type);
   
  for (var i = 2; i < arguments.length; i++) {
  var child = arguments[i];
   
  if (typeof child === 'string') {
  el.appendChild(document.createTextNode(child));
  } else {
  if (child) {
  el.appendChild(child);
  }
  }
  }
   
  for (var attr in attrs) {
  if (attr == "className") {
  el[attr] = attrs[attr];
  } else {
  el.setAttribute(attr, attrs[attr]);
  }
  }
   
  return el;
  };
   
  jasmine.TrivialReporter.prototype.reportRunnerStarting = function (runner) {
  var showPassed, showSkipped;
   
  this.outerDiv = this.createDom('div', { id: 'TrivialReporter', className: 'jasmine_reporter' },
  this.createDom('div', { className: 'banner' },
  this.createDom('div', { className: 'logo' },
  this.createDom('span', { className: 'title' }, "Jasmine"),
  this.createDom('span', { className: 'version' }, runner.env.versionString())),
  this.createDom('div', { className: 'options' },
  "Show ",
  showPassed = this.createDom('input', { id: "__jasmine_TrivialReporter_showPassed__", type: 'checkbox' }),
  this.createDom('label', { "for": "__jasmine_TrivialReporter_showPassed__" }, " passed "),
  showSkipped = this.createDom('input', { id: "__jasmine_TrivialReporter_showSkipped__", type: 'checkbox' }),
  this.createDom('label', { "for": "__jasmine_TrivialReporter_showSkipped__" }, " skipped")
  )
  ),
   
  this.runnerDiv = this.createDom('div', { className: 'runner running' },
  this.createDom('a', { className: 'run_spec', href: '?' }, "run all"),
  this.runnerMessageSpan = this.createDom('span', {}, "Running..."),
  this.finishedAtSpan = this.createDom('span', { className: 'finished-at' }, ""))
  );
   
  this.document.body.appendChild(this.outerDiv);
   
  var suites = runner.suites();
  for (var i = 0; i < suites.length; i++) {
  var suite = suites[i];
  var suiteDiv = this.createDom('div', { className: 'suite' },
  this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, "run"),
  this.createDom('a', { className: 'description', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, suite.description));
  this.suiteDivs[suite.id] = suiteDiv;
  var parentDiv = this.outerDiv;
  if (suite.parentSuite) {
  parentDiv = this.suiteDivs[suite.parentSuite.id];
  }
  parentDiv.appendChild(suiteDiv);
  }
   
  this.startedAt = new Date();
   
  var self = this;
  showPassed.onclick = function (evt) {
  if (showPassed.checked) {
  self.outerDiv.className += ' show-passed';
  } else {
  self.outerDiv.className = self.outerDiv.className.replace(/ show-passed/, '');
  }
  };
   
  showSkipped.onclick = function (evt) {
  if (showSkipped.checked) {
  self.outerDiv.className += ' show-skipped';
  } else {
  self.outerDiv.className = self.outerDiv.className.replace(/ show-skipped/, '');
  }
  };
  };
   
  jasmine.TrivialReporter.prototype.reportRunnerResults = function (runner) {
  var results = runner.results();
  var className = (results.failedCount > 0) ? "runner failed" : "runner passed";
  this.runnerDiv.setAttribute("class", className);
  //do it twice for IE
  this.runnerDiv.setAttribute("className", className);
  var specs = runner.specs();
  var specCount = 0;
  for (var i = 0; i < specs.length; i++) {
  if (this.specFilter(specs[i])) {
  specCount++;
  }
  }
  var message = "" + specCount + " spec" + (specCount == 1 ? "" : "s" ) + ", " + results.failedCount + " failure" + ((results.failedCount == 1) ? "" : "s");
  message += " in " + ((new Date().getTime() - this.startedAt.getTime()) / 1000) + "s";
  this.runnerMessageSpan.replaceChild(this.createDom('a', { className: 'description', href: '?'}, message), this.runnerMessageSpan.firstChild);
   
  this.finishedAtSpan.appendChild(document.createTextNode("Finished at " + new Date().toString()));
  };
   
  jasmine.TrivialReporter.prototype.reportSuiteResults = function (suite) {
  var results = suite.results();
  var status = results.passed() ? 'passed' : 'failed';
  if (results.totalCount === 0) { // todo: change this to check results.skipped
  status = 'skipped';
  }
  this.suiteDivs[suite.id].className += " " + status;
  };
   
  jasmine.TrivialReporter.prototype.reportSpecStarting = function (spec) {
  if (this.logRunningSpecs) {
  this.log('>> Jasmine Running ' + spec.suite.description + ' ' + spec.description + '...');
  }
  };
   
  jasmine.TrivialReporter.prototype.reportSpecResults = function (spec) {
  var results = spec.results();
  var status = results.passed() ? 'passed' : 'failed';
  if (results.skipped) {
  status = 'skipped';
  }
  var specDiv = this.createDom('div', { className: 'spec ' + status },
  this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(spec.getFullName()) }, "run"),
  this.createDom('a', {
  className: 'description',
  href: '?spec=' + encodeURIComponent(spec.getFullName()),
  title: spec.getFullName()
  }, spec.description));
   
   
  var resultItems = results.getItems();
  var messagesDiv = this.createDom('div', { className: 'messages' });
  for (var i = 0; i < resultItems.length; i++) {
  var result = resultItems[i];
   
  if (result.type == 'log') {
  messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage log'}, result.toString()));
  } else if (result.type == 'expect' && result.passed && !result.passed()) {
  messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message));
   
  if (result.trace.stack) {
  messagesDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack));
  }
  }
  }
   
  if (messagesDiv.childNodes.length > 0) {
  specDiv.appendChild(messagesDiv);
  }
   
  this.suiteDivs[spec.suite.id].appendChild(specDiv);
  };
   
  jasmine.TrivialReporter.prototype.log = function () {
var console = jasmine.getGlobal().console; var console = jasmine.getGlobal().console;
if (console && console.log) { if (console && console.log) {
if (console.log.apply) { if (console.log.apply) {
console.log.apply(console, arguments); console.log.apply(console, arguments);
} else { } else {
console.log(arguments); // ie fix: console.log.apply doesn't exist on ie console.log(arguments); // ie fix: console.log.apply doesn't exist on ie
} }
} }
}; };
   
self.specFilter = function(spec) { jasmine.TrivialReporter.prototype.getLocation = function () {
if (!focusedSpecName()) { return this.document.location;
return true; };
}  
  jasmine.TrivialReporter.prototype.specFilter = function (spec) {
return spec.getFullName().indexOf(focusedSpecName()) === 0; var paramMap = {};
}; var params = this.getLocation().search.substring(1).split('&');
  for (var i = 0; i < params.length; i++) {
return self;  
   
function focusedSpecName() {  
var specName;  
   
(function memoizeFocusedSpec() {  
if (specName) {  
return;  
}  
   
var paramMap = [];  
var params = doc.location.search.substring(1).split('&');  
   
for (var i = 0; i < params.length; i++) {  
var p = params[i].split('='); var p = params[i].split('=');
paramMap[decodeURIComponent(p[0])] = decodeURIComponent(p[1]); paramMap[decodeURIComponent(p[0])] = decodeURIComponent(p[1]);
} }
   
specName = paramMap.spec; if (!paramMap.spec) {
})(); return true;
  }
return specName; return spec.getFullName().indexOf(paramMap.spec) === 0;
} };
   
function createReporterDom(version) {  
dom.reporter = self.createDom('div', { id: 'HTMLReporter', className: 'jasmine_reporter' },  
dom.banner = self.createDom('div', { className: 'banner' },  
self.createDom('span', { className: 'title' }, "Jasmine "),  
self.createDom('span', { className: 'version' }, version)),  
   
dom.symbolSummary = self.createDom('ul', {className: 'symbolSummary'}),  
dom.alert = self.createDom('div', {className: 'alert'}),  
dom.results = self.createDom('div', {className: 'results'},  
dom.summary = self.createDom('div', { className: 'summary' }),  
dom.details = self.createDom('div', { id: 'details' }))  
);  
}  
};  
jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter);jasmine.HtmlReporter.ReporterView = function(dom) {  
this.startedAt = new Date();  
this.runningSpecCount = 0;  
this.completeSpecCount = 0;  
this.passedCount = 0;  
this.failedCount = 0;  
this.skippedCount = 0;  
   
this.createResultsMenu = function() {  
this.resultsMenu = this.createDom('span', {className: 'resultsMenu bar'},  
this.summaryMenuItem = this.createDom('a', {className: 'summaryMenuItem', href: "#"}, '0 specs'),  
' | ',  
this.detailsMenuItem = this.createDom('a', {className: 'detailsMenuItem', href: "#"}, '0 failing'));  
   
this.summaryMenuItem.onclick = function() {  
dom.reporter.className = dom.reporter.className.replace(/ showDetails/g, '');  
};  
   
this.detailsMenuItem.onclick = function() {  
showDetails();  
};  
};  
   
this.addSpecs = function(specs, specFilter) {  
this.totalSpecCount = specs.length;  
   
this.views = {  
specs: {},  
suites: {}  
};  
   
for (var i = 0; i < specs.length; i++) {  
var spec = specs[i];  
this.views.specs[spec.id] = new jasmine.HtmlReporter.SpecView(spec, dom, this.views);  
if (specFilter(spec)) {  
this.runningSpecCount++;  
}  
}  
};  
   
this.specComplete = function(spec) {  
this.completeSpecCount++;  
   
if (isUndefined(this.views.specs[spec.id])) {  
this.views.specs[spec.id] = new jasmine.HtmlReporter.SpecView(spec, dom);  
}  
   
var specView = this.views.specs[spec.id];  
   
switch (specView.status()) {  
case 'passed':  
this.passedCount++;  
break;  
   
case 'failed':  
this.failedCount++;  
break;  
   
case 'skipped':  
this.skippedCount++;  
break;  
}  
   
specView.refresh();  
this.refresh();  
};  
   
this.suiteComplete = function(suite) {  
var suiteView = this.views.suites[suite.id];  
if (isUndefined(suiteView)) {  
return;  
}  
suiteView.refresh();  
};  
   
this.refresh = function() {  
   
if (isUndefined(this.resultsMenu)) {  
this.createResultsMenu();  
}  
   
// currently running UI  
if (isUndefined(this.runningAlert)) {  
this.runningAlert = this.createDom('a', {href: "?", className: "runningAlert bar"});  
dom.alert.appendChild(this.runningAlert);  
}  
this.runningAlert.innerHTML = "Running " + this.completeSpecCount + " of " + specPluralizedFor(this.totalSpecCount);  
   
// skipped specs UI  
if (isUndefined(this.skippedAlert)) {  
this.skippedAlert = this.createDom('a', {href: "?", className: "skippedAlert bar"});  
}  
   
this.skippedAlert.innerHTML = "Skipping " + this.skippedCount + " of " + specPluralizedFor(this.totalSpecCount) + " - run all";  
   
if (this.skippedCount === 1 && isDefined(dom.alert)) {  
dom.alert.appendChild(this.skippedAlert);  
}  
   
// passing specs UI  
if (isUndefined(this.passedAlert)) {  
this.passedAlert = this.createDom('span', {href: "?", className: "passingAlert bar"});  
}  
this.passedAlert.innerHTML = "Passing " + specPluralizedFor(this.passedCount);  
   
// failing specs UI  
if (isUndefined(this.failedAlert)) {  
this.failedAlert = this.createDom('span', {href: "?", className: "failingAlert bar"});  
}  
this.failedAlert.innerHTML = "Failing " + specPluralizedFor(this.failedCount);  
   
if (this.failedCount === 1 && isDefined(dom.alert)) {  
dom.alert.appendChild(this.failedAlert);  
dom.alert.appendChild(this.resultsMenu);  
}  
   
// summary info  
this.summaryMenuItem.innerHTML = "" + specPluralizedFor(this.runningSpecCount);  
this.detailsMenuItem.innerHTML = "" + this.failedCount + " failing";  
};  
   
this.complete = function() {  
dom.alert.removeChild(this.runningAlert);  
   
this.skippedAlert.innerHTML = "Ran " + this.runningSpecCount + " of " + specPluralizedFor(this.totalSpecCount) + " - run all";  
   
if (this.failedCount === 0) {  
dom.alert.appendChild(this.createDom('span', {className: 'passingAlert bar'}, "Passing " + specPluralizedFor(this.passedCount)));  
} else {  
showDetails();  
}  
   
dom.banner.appendChild(this.createDom('span', {className: 'duration'}, "finished in " + ((new Date().getTime() - this.startedAt.getTime()) / 1000) + "s"));  
};  
   
return this;  
   
function showDetails() {  
if (dom.reporter.className.search(/showDetails/) === -1) {  
dom.reporter.className += " showDetails";  
}  
}  
   
function isUndefined(obj) {  
return typeof obj === 'undefined';  
}  
   
function isDefined(obj) {  
return !isUndefined(obj);  
}  
   
function specPluralizedFor(count) {  
var str = count + " spec";  
if (count > 1) {  
str += "s"  
}  
return str;  
}  
   
};  
   
jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.ReporterView);  
   
   
jasmine.HtmlReporter.SpecView = function(spec, dom, views) {  
this.spec = spec;  
this.dom = dom;  
this.views = views;  
   
this.symbol = this.createDom('li', { className: 'pending' });  
this.dom.symbolSummary.appendChild(this.symbol);  
   
this.summary = this.createDom('div', { className: 'specSummary' },  
this.createDom('a', {  
className: 'description',  
href: '?spec=' + encodeURIComponent(this.spec.getFullName()),  
title: this.spec.getFullName()  
}, this.spec.description)  
);  
   
this.detail = this.createDom('div', { className: 'specDetail' },  
this.createDom('a', {  
className: 'description',  
href: '?spec=' + encodeURIComponent(this.spec.getFullName()),  
title: this.spec.getFullName()  
}, this.spec.getFullName())  
);  
};  
   
jasmine.HtmlReporter.SpecView.prototype.status = function() {  
return this.getSpecStatus(this.spec);  
};  
   
jasmine.HtmlReporter.SpecView.prototype.refresh = function() {  
this.symbol.className = this.status();  
   
switch (this.status()) {  
case 'skipped':  
break;  
   
case 'passed':  
this.appendSummaryToSuiteDiv();  
break;  
   
case 'failed':  
this.appendSummaryToSuiteDiv();  
this.appendFailureDetail();  
break;  
}  
};  
   
jasmine.HtmlReporter.SpecView.prototype.appendSummaryToSuiteDiv = function() {  
this.summary.className += ' ' + this.status();  
this.appendToSummary(this.spec, this.summary);  
};  
   
jasmine.HtmlReporter.SpecView.prototype.appendFailureDetail = function() {  
this.detail.className += ' ' + this.status();  
   
var resultItems = this.spec.results().getItems();  
var messagesDiv = this.createDom('div', { className: 'messages' });  
   
for (var i = 0; i < resultItems.length; i++) {  
var result = resultItems[i];  
   
if (result.type == 'log') {  
messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage log'}, result.toString()));  
} else if (result.type == 'expect' && result.passed && !result.passed()) {  
messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message));  
   
if (result.trace.stack) {  
messagesDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack));  
}  
}  
}  
   
if (messagesDiv.childNodes.length > 0) {  
this.detail.appendChild(messagesDiv);  
this.dom.details.appendChild(this.detail);  
}  
};  
   
jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.SpecView);jasmine.HtmlReporter.SuiteView = function(suite, dom, views) {  
this.suite = suite;  
this.dom = dom;  
this.views = views;  
   
this.element = this.createDom('div', { className: 'suite' },  
this.createDom('a', { className: 'description', href: '?spec=' + encodeURIComponent(this.suite.getFullName()) }, this.suite.description)  
);  
   
this.appendToSummary(this.suite, this.element);  
};  
   
jasmine.HtmlReporter.SuiteView.prototype.status = function() {  
return this.getSpecStatus(this.suite);  
};  
   
jasmine.HtmlReporter.SuiteView.prototype.refresh = function() {  
this.element.className += " " + this.status();  
};  
   
jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.SuiteView);  
   
/* @deprecated Use jasmine.HtmlReporter instead  
*/  
jasmine.TrivialReporter = function(doc) {  
this.document = doc || document;  
this.suiteDivs = {};  
this.logRunningSpecs = false;  
};  
   
jasmine.TrivialReporter.prototype.createDom = function(type, attrs, childrenVarArgs) {  
var el = document.createElement(type);  
   
for (var i = 2; i < arguments.length; i++) {  
var child = arguments[i];  
   
if (typeof child === 'string') {  
el.appendChild(document.createTextNode(child));  
} else {  
if (child) { el.appendChild(child); }  
}  
}  
   
for (var attr in attrs) {  
if (attr == "className") {  
el[attr] = attrs[attr];  
} else {  
el.setAttribute(attr, attrs[attr]);  
}  
}  
   
return el;  
};  
   
jasmine.TrivialReporter.prototype.reportRunnerStarting = function(runner) {  
var showPassed, showSkipped;  
   
this.outerDiv = this.createDom('div', { id: 'TrivialReporter', className: 'jasmine_reporter' },  
this.createDom('div', { className: 'banner' },  
this.createDom('div', { className: 'logo' },  
this.createDom('span', { className: 'title' }, "Jasmine"),  
this.createDom('span', { className: 'version' }, runner.env.versionString())),  
this.createDom('div', { className: 'options' },  
"Show ",  
showPassed = this.createDom('input', { id: "__jasmine_TrivialReporter_showPassed__", type: 'checkbox' }),  
this.createDom('label', { "for": "__jasmine_TrivialReporter_showPassed__" }, " passed "),  
showSkipped = this.createDom('input', { id: "__jasmine_TrivialReporter_showSkipped__", type: 'checkbox' }),  
this.createDom('label', { "for": "__jasmine_TrivialReporter_showSkipped__" }, " skipped")  
)  
),  
   
this.runnerDiv = this.createDom('div', { className: 'runner running' },  
this.createDom('a', { className: 'run_spec', href: '?' }, "run all"),  
this.runnerMessageSpan = this.createDom('span', {}, "Running..."),  
this.finishedAtSpan = this.createDom('span', { className: 'finished-at' }, ""))  
);  
   
this.document.body.appendChild(this.outerDiv);  
   
var suites = runner.suites();  
for (var i = 0; i < suites.length; i++) {  
var suite = suites[i];  
var suiteDiv = this.createDom('div', { className: 'suite' },  
this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, "run"),  
this.createDom('a', { className: 'description', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, suite.description));  
this.suiteDivs[suite.id] = suiteDiv;  
var parentDiv = this.outerDiv;  
if (suite.parentSuite) {  
parentDiv = this.suiteDivs[suite.parentSuite.id];  
}  
parentDiv.appendChild(suiteDiv);  
}  
   
this.startedAt = new Date();  
   
var self = this;  
showPassed.onclick = function(evt) {  
if (showPassed.checked) {  
self.outerDiv.className += ' show-passed';  
} else {  
self.outerDiv.className = self.outerDiv.className.replace(/ show-passed/, '');  
}  
};  
   
showSkipped.onclick = function(evt) {  
if (showSkipped.checked) {  
self.outerDiv.className += ' show-skipped';  
} else {  
self.outerDiv.className = self.outerDiv.className.replace(/ show-skipped/, '');  
}  
};  
};  
   
jasmine.TrivialReporter.prototype.reportRunnerResults = function(runner) {  
var results = runner.results();  
var className = (results.failedCount > 0) ? "runner failed" : "runner passed";  
this.runnerDiv.setAttribute("class", className);  
//do it twice for IE  
this.runnerDiv.setAttribute("className", className);  
var specs = runner.specs();  
var specCount = 0;  
for (var i = 0; i < specs.length; i++) {  
if (this.specFilter(specs[i])) {  
specCount++;  
}  
}  
var message = "" + specCount + " spec" + (specCount == 1 ? "" : "s" ) + ", " + results.failedCount + " failure" + ((results.failedCount == 1) ? "" : "s");  
message += " in " + ((new Date().getTime() - this.startedAt.getTime()) / 1000) + "s";  
this.runnerMessageSpan.replaceChild(this.createDom('a', { className: 'description', href: '?'}, message), this.runnerMessageSpan.firstChild);  
   
this.finishedAtSpan.appendChild(document.createTextNode("Finished at " + new Date().toString()));  
};  
   
jasmine.TrivialReporter.prototype.reportSuiteResults = function(suite) {  
var results = suite.results();  
var status = results.passed() ? 'passed' : 'failed';  
if (results.totalCount === 0) { // todo: change this to check results.skipped  
status = 'skipped';  
}  
this.suiteDivs[suite.id].className += " " + status;  
};  
   
jasmine.TrivialReporter.prototype.reportSpecStarting = function(spec) {  
if (this.logRunningSpecs) {  
this.log('>> Jasmine Running ' + spec.suite.description + ' ' + spec.description + '...');  
}  
};  
   
jasmine.TrivialReporter.prototype.reportSpecResults = function(spec) {  
var results = spec.results();  
var status = results.passed() ? 'passed' : 'failed';  
if (results.skipped) {  
status = 'skipped';  
}  
var specDiv = this.createDom('div', { className: 'spec ' + status },  
this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(spec.getFullName()) }, "run"),  
this.createDom('a', {  
className: 'description',  
href: '?spec=' + encodeURIComponent(spec.getFullName()),  
title: spec.getFullName()  
}, spec.description));  
   
   
var resultItems = results.getItems();  
var messagesDiv = this.createDom('div', { className: 'messages' });  
for (var i = 0; i < resultItems.length; i++) {  
var result = resultItems[i];  
   
if (result.type == 'log') {  
messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage log'}, result.toString()));  
} else if (result.type == 'expect' && result.passed && !result.passed()) {  
messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message));  
   
if (result.trace.stack) {  
messagesDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack));  
}  
}  
}  
   
if (messagesDiv.childNodes.length > 0) {  
specDiv.appendChild(messagesDiv);  
}  
   
this.suiteDivs[spec.suite.id].appendChild(specDiv);  
};  
   
jasmine.TrivialReporter.prototype.log = function() {  
var console = jasmine.getGlobal().console;  
if (console && console.log) {  
if (console.log.apply) {  
console.log.apply(console, arguments);  
} else {  
console.log(arguments); // ie fix: console.log.apply doesn't exist on ie  
}  
}  
};  
   
jasmine.TrivialReporter.prototype.getLocation = function() {  
return this.document.location;  
};  
   
jasmine.TrivialReporter.prototype.specFilter = function(spec) {  
var paramMap = {};  
var params = this.getLocation().search.substring(1).split('&');  
for (var i = 0; i < params.length; i++) {  
var p = params[i].split('=');  
paramMap[decodeURIComponent(p[0])] = decodeURIComponent(p[1]);  
}  
   
if (!paramMap.spec) {  
return true;  
}  
return spec.getFullName().indexOf(paramMap.spec) === 0;  
};  
   
body { background-color: #eeeeee; padding: 0; margin: 5px; overflow-y: scroll; } body {
  background-color: #eeeeee;
#HTMLReporter { font-size: 11px; font-family: Monaco, "Lucida Console", monospace; line-height: 14px; color: #333333; } padding: 0;
#HTMLReporter a { text-decoration: none; } margin: 5px;
#HTMLReporter a:hover { text-decoration: underline; } overflow-y: scroll;
#HTMLReporter p, #HTMLReporter h1, #HTMLReporter h2, #HTMLReporter h3, #HTMLReporter h4, #HTMLReporter h5, #HTMLReporter h6 { margin: 0; line-height: 14px; } }
#HTMLReporter .banner, #HTMLReporter .symbolSummary, #HTMLReporter .summary, #HTMLReporter .resultMessage, #HTMLReporter .specDetail .description, #HTMLReporter .alert .bar, #HTMLReporter .stackTrace { padding-left: 9px; padding-right: 9px; }  
#HTMLReporter #jasmine_content { position: fixed; right: 100%; } #HTMLReporter {
#HTMLReporter .version { color: #aaaaaa; } font-size: 11px;
#HTMLReporter .banner { margin-top: 14px; } font-family: Monaco, "Lucida Console", monospace;
#HTMLReporter .duration { color: #aaaaaa; float: right; } line-height: 14px;
#HTMLReporter .symbolSummary { overflow: hidden; *zoom: 1; margin: 14px 0; } color: #333333;
#HTMLReporter .symbolSummary li { display: block; float: left; height: 7px; width: 14px; margin-bottom: 7px; font-size: 16px; } }
#HTMLReporter .symbolSummary li.passed { font-size: 14px; }  
#HTMLReporter .symbolSummary li.passed:before { color: #5e7d00; content: "\02022"; } #HTMLReporter a {
#HTMLReporter .symbolSummary li.failed { line-height: 9px; } text-decoration: none;
#HTMLReporter .symbolSummary li.failed:before { color: #b03911; content: "x"; font-weight: bold; margin-left: -1px; } }
#HTMLReporter .symbolSummary li.skipped { font-size: 14px; }  
#HTMLReporter .symbolSummary li.skipped:before { color: #bababa; content: "\02022"; } #HTMLReporter a:hover {
#HTMLReporter .symbolSummary li.pending { line-height: 11px; } text-decoration: underline;
#HTMLReporter .symbolSummary li.pending:before { color: #aaaaaa; content: "-"; } }
#HTMLReporter .bar { line-height: 28px; font-size: 14px; display: block; color: #eee; }  
#HTMLReporter .runningAlert { background-color: #666666; } #HTMLReporter p, #HTMLReporter h1, #HTMLReporter h2, #HTMLReporter h3, #HTMLReporter h4, #HTMLReporter h5, #HTMLReporter h6 {
#HTMLReporter .skippedAlert { background-color: #aaaaaa; } margin: 0;
#HTMLReporter .skippedAlert:first-child { background-color: #333333; } line-height: 14px;
#HTMLReporter .skippedAlert:hover { text-decoration: none; color: white; text-decoration: underline; } }
#HTMLReporter .passingAlert { background-color: #a6b779; }  
#HTMLReporter .passingAlert:first-child { background-color: #5e7d00; } #HTMLReporter .banner, #HTMLReporter .symbolSummary, #HTMLReporter .summary, #HTMLReporter .resultMessage, #HTMLReporter .specDetail .description, #HTMLReporter .alert .bar, #HTMLReporter .stackTrace {
#HTMLReporter .failingAlert { background-color: #cf867e; } padding-left: 9px;
#HTMLReporter .failingAlert:first-child { background-color: #b03911; } padding-right: 9px;
#HTMLReporter .results { margin-top: 14px; } }
#HTMLReporter #details { display: none; }  
#HTMLReporter .resultsMenu, #HTMLReporter .resultsMenu a { background-color: #fff; color: #333333; } #HTMLReporter #jasmine_content {
#HTMLReporter.showDetails .summaryMenuItem { font-weight: normal; text-decoration: inherit; } position: fixed;
#HTMLReporter.showDetails .summaryMenuItem:hover { text-decoration: underline; } right: 100%;
#HTMLReporter.showDetails .detailsMenuItem { font-weight: bold; text-decoration: underline; } }
#HTMLReporter.showDetails .summary { display: none; }  
#HTMLReporter.showDetails #details { display: block; } #HTMLReporter .version {
#HTMLReporter .summaryMenuItem { font-weight: bold; text-decoration: underline; } color: #aaaaaa;
#HTMLReporter .summary { margin-top: 14px; } }
#HTMLReporter .summary .suite .suite, #HTMLReporter .summary .specSummary { margin-left: 14px; }  
#HTMLReporter .summary .specSummary.passed a { color: #5e7d00; } #HTMLReporter .banner {
#HTMLReporter .summary .specSummary.failed a { color: #b03911; } margin-top: 14px;
#HTMLReporter .description + .suite { margin-top: 0; } }
#HTMLReporter .suite { margin-top: 14px; }  
#HTMLReporter .suite a { color: #333333; } #HTMLReporter .duration {
#HTMLReporter #details .specDetail { margin-bottom: 28px; } color: #aaaaaa;
#HTMLReporter #details .specDetail .description { display: block; color: white; background-color: #b03911; } float: right;
#HTMLReporter .resultMessage { padding-top: 14px; color: #333333; } }
#HTMLReporter .resultMessage span.result { display: block; }  
#HTMLReporter .stackTrace { margin: 5px 0 0 0; max-height: 224px; overflow: auto; line-height: 18px; color: #666666; border: 1px solid #ddd; background: white; white-space: pre; } #HTMLReporter .symbolSummary {
  overflow: hidden;
#TrivialReporter { padding: 8px 13px; position: absolute; top: 0; bottom: 0; left: 0; right: 0; overflow-y: scroll; background-color: white; font-family: "Helvetica Neue Light", "Lucida Grande", "Calibri", "Arial", sans-serif; /*.resultMessage {*/ /*white-space: pre;*/ /*}*/ } *zoom: 1;
#TrivialReporter a:visited, #TrivialReporter a { color: #303; } margin: 14px 0;
#TrivialReporter a:hover, #TrivialReporter a:active { color: blue; } }
#TrivialReporter .run_spec { float: right; padding-right: 5px; font-size: .8em; text-decoration: none; }  
#TrivialReporter .banner { color: #303; background-color: #fef; padding: 5px; } #HTMLReporter .symbolSummary li {
#TrivialReporter .logo { float: left; font-size: 1.1em; padding-left: 5px; } display: block;
#TrivialReporter .logo .version { font-size: .6em; padding-left: 1em; } float: left;
#TrivialReporter .runner.running { background-color: yellow; } height: 7px;
#TrivialReporter .options { text-align: right; font-size: .8em; } width: 14px;
#TrivialReporter .suite { border: 1px outset gray; margin: 5px 0; padding-left: 1em; } margin-bottom: 7px;
#TrivialReporter .suite .suite { margin: 5px; } font-size: 16px;
#TrivialReporter .suite.passed { background-color: #dfd; } }
#TrivialReporter .suite.failed { background-color: #fdd; }  
#TrivialReporter .spec { margin: 5px; padding-left: 1em; clear: both; } #HTMLReporter .symbolSummary li.passed {
#TrivialReporter .spec.failed, #TrivialReporter .spec.passed, #TrivialReporter .spec.skipped { padding-bottom: 5px; border: 1px solid gray; } font-size: 14px;
#TrivialReporter .spec.failed { background-color: #fbb; border-color: red; } }
#TrivialReporter .spec.passed { background-color: #bfb; border-color: green; }  
#TrivialReporter .spec.skipped { background-color: #bbb; } #HTMLReporter .symbolSummary li.passed:before {
#TrivialReporter .messages { border-left: 1px dashed gray; padding-left: 1em; padding-right: 1em; } color: #5e7d00;
#TrivialReporter .passed { background-color: #cfc; display: none; } content: "\02022";
#TrivialReporter .failed { background-color: #fbb; } }
#TrivialReporter .skipped { color: #777; background-color: #eee; display: none; }  
#TrivialReporter .resultMessage span.result { display: block; line-height: 2em; color: black; } #HTMLReporter .symbolSummary li.failed {
#TrivialReporter .resultMessage .mismatch { color: black; } line-height: 9px;
#TrivialReporter .stackTrace { white-space: pre; font-size: .8em; margin-left: 10px; max-height: 5em; overflow: auto; border: 1px inset red; padding: 1em; background: #eef; } }
#TrivialReporter .finished-at { padding-left: 1em; font-size: .6em; }  
#TrivialReporter.show-passed .passed, #TrivialReporter.show-skipped .skipped { display: block; } #HTMLReporter .symbolSummary li.failed:before {
#TrivialReporter #jasmine_content { position: fixed; right: 100%; } color: #b03911;
#TrivialReporter .runner { border: 1px solid gray; display: block; margin: 5px 0; padding: 2px 0 2px 10px; } content: "x";
  font-weight: bold;
  margin-left: -1px;
  }
   
  #HTMLReporter .symbolSummary li.skipped {
  font-size: 14px;
  }
   
  #HTMLReporter .symbolSummary li.skipped:before {
  color: #bababa;
  content: "\02022";
  }
   
  #HTMLReporter .symbolSummary li.pending {
  line-height: 11px;
  }
   
  #HTMLReporter .symbolSummary li.pending:before {
  color: #aaaaaa;
  content: "-";
  }
   
  #HTMLReporter .bar {
  line-height: 28px;
  font-size: 14px;
  display: block;
  color: #eee;
  }
   
  #HTMLReporter .runningAlert {
  background-color: #666666;
  }
   
  #HTMLReporter .skippedAlert {
  background-color: #aaaaaa;
  }
   
  #HTMLReporter .skippedAlert:first-child {
  background-color: #333333;
  }
   
  #HTMLReporter .skippedAlert:hover {
  text-decoration: none;
  color: white;
  text-decoration: underline;
  }
   
  #HTMLReporter .passingAlert {
  background-color: #a6b779;
  }
   
  #HTMLReporter .passingAlert:first-child {
  background-color: #5e7d00;
  }
   
  #HTMLReporter .failingAlert {
  background-color: #cf867e;
  }
   
  #HTMLReporter .failingAlert:first-child {
  background-color: #b03911;
  }
   
  #HTMLReporter .results {
  margin-top: 14px;
  }
   
  #HTMLReporter #details {
  display: none;
  }
   
  #HTMLReporter .resultsMenu, #HTMLReporter .resultsMenu a {
  background-color: #fff;
  color: #333333;
  }
   
  #HTMLReporter.showDetails .summaryMenuItem {
  font-weight: normal;
  text-decoration: inherit;
  }
   
  #HTMLReporter.showDetails .summaryMenuItem:hover {
  text-decoration: underline;
  }
   
  #HTMLReporter.showDetails .detailsMenuItem {
  font-weight: bold;
  text-decoration: underline;
  }
   
  #HTMLReporter.showDetails .summary {
  display: none;
  }
   
  #HTMLReporter.showDetails #details {
  display: block;
  }
   
  #HTMLReporter .summaryMenuItem {
  font-weight: bold;
  text-decoration: underline;
  }
   
  #HTMLReporter .summary {
  margin-top: 14px;
  }
   
  #HTMLReporter .summary .suite .suite, #HTMLReporter .summary .specSummary {
  margin-left: 14px;
  }
   
  #HTMLReporter .summary .specSummary.passed a {
  color: #5e7d00;
  }
   
  #HTMLReporter .summary .specSummary.failed a {
  color: #b03911;
  }
   
  #HTMLReporter .description + .suite {
  margin-top: 0;
  }
   
  #HTMLReporter .suite {
  margin-top: 14px;
  }
   
  #HTMLReporter .suite a {
  color: #333333;
  }
   
  #HTMLReporter #details .specDetail {
  margin-bottom: 28px;
  }
   
  #HTMLReporter #details .specDetail .description {
  display: block;
  color: white;
  background-color: #b03911;
  }
   
  #HTMLReporter .resultMessage {
  padding-top: 14px;
  color: #333333;
  }
   
  #HTMLReporter .resultMessage span.result {
  display: block;
  }
   
  #HTMLReporter .stackTrace {
  margin: 5px 0 0 0;
  max-height: 224px;
  overflow: auto;
  line-height: 18px;
  color: #666666;
  border: 1px solid #ddd;
  background: white;
  white-space: pre;
  }
   
  #TrivialReporter {
  padding: 8px 13px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow-y: scroll;
  background-color: white;
  font-family: "Helvetica Neue Light", "Lucida Grande", "Calibri", "Arial", sans-serif; /*.resultMessage {*/
  /*white-space: pre;*/
  /*}*/
  }
   
  #TrivialReporter a:visited, #TrivialReporter a {
  color: #303;
  }
   
  #TrivialReporter a:hover, #TrivialReporter a:active {
  color: blue;
  }
   
  #TrivialReporter .run_spec {
  float: right;
  padding-right: 5px;
  font-size: .8em;
  text-decoration: none;
  }
   
  #TrivialReporter .banner {
  color: #303;
  background-color: #fef;
  padding: 5px;
  }
   
  #TrivialReporter .logo {
  float: left;
  font-size: 1.1em;
  padding-left: 5px;
  }
   
  #TrivialReporter .logo .version {
  font-size: .6em;
  padding-left: 1em;
  }
   
  #TrivialReporter .runner.running {
  background-color: yellow;
  }
   
  #TrivialReporter .options {
  text-align: right;
  font-size: .8em;
  }
   
  #TrivialReporter .suite {
  border: 1px outset gray;
  margin: 5px 0;
  padding-left: 1em;
  }
   
  #TrivialReporter .suite .suite {
  margin: 5px;
  }
   
  #TrivialReporter .suite.passed {
  background-color: #dfd;
  }
   
  #TrivialReporter .suite.failed {
  background-color: #fdd;
  }
   
  #TrivialReporter .spec {
  margin: 5px;
  padding-left: 1em;
  clear: both;
  }
   
  #TrivialReporter .spec.failed, #TrivialReporter .spec.passed, #TrivialReporter .spec.skipped {
  padding-bottom: 5px;
  border: 1px solid gray;
  }
   
  #TrivialReporter .spec.failed {
  background-color: #fbb;
  border-color: red;
  }
   
  #TrivialReporter .spec.passed {
  background-color: #bfb;
  border-color: green;
  }
   
  #TrivialReporter .spec.skipped {
  background-color: #bbb;
  }
   
  #TrivialReporter .messages {
  border-left: 1px dashed gray;
  padding-left: 1em;
  padding-right: 1em;
  }
   
  #TrivialReporter .passed {
  background-color: #cfc;
  display: none;
  }
   
  #TrivialReporter .failed {
  background-color: #fbb;
  }
   
  #TrivialReporter .skipped {
  color: #777;
  background-color: #eee;
  display: none;
  }
   
  #TrivialReporter .resultMessage span.result {
  display: block;
  line-height: 2em;
  color: black;
  }
   
  #TrivialReporter .resultMessage .mismatch {
  color: black;
  }
   
  #TrivialReporter .stackTrace {
  white-space: pre;
  font-size: .8em;
  margin-left: 10px;
  max-height: 5em;
  overflow: auto;
  border: 1px inset red;
  padding: 1em;
  background: #eef;
  }
   
  #TrivialReporter .finished-at {
  padding-left: 1em;
  font-size: .6em;
  }
   
  #TrivialReporter.show-passed .passed, #TrivialReporter.show-skipped .skipped {
  display: block;
  }
   
  #TrivialReporter #jasmine_content {
  position: fixed;
  right: 100%;
  }
   
  #TrivialReporter .runner {
  border: 1px solid gray;
  display: block;
  margin: 5px 0;
  padding: 2px 0 2px 10px;
  }
   
var isCommonJS = typeof window == "undefined"; var isCommonJS = typeof window == "undefined";
   
/** /**
* Top level namespace for Jasmine, a lightweight JavaScript BDD/spec/testing framework. * Top level namespace for Jasmine, a lightweight JavaScript BDD/spec/testing framework.
* *
* @namespace * @namespace
*/ */
var jasmine = {}; var jasmine = {};
if (isCommonJS) exports.jasmine = jasmine; if (isCommonJS) exports.jasmine = jasmine;
/** /**
* @private * @private
*/ */
jasmine.unimplementedMethod_ = function() { jasmine.unimplementedMethod_ = function () {
throw new Error("unimplemented method"); throw new Error("unimplemented method");
}; };
   
/** /**
* Use <code>jasmine.undefined</code> instead of <code>undefined</code>, since <code>undefined</code> is just * Use <code>jasmine.undefined</code> instead of <code>undefined</code>, since <code>undefined</code> is just
* a plain old variable and may be redefined by somebody else. * a plain old variable and may be redefined by somebody else.
* *
* @private * @private
*/ */
jasmine.undefined = jasmine.___undefined___; jasmine.undefined = jasmine.___undefined___;
   
/** /**
* Show diagnostic messages in the console if set to true * Show diagnostic messages in the console if set to true
* *
*/ */
jasmine.VERBOSE = false; jasmine.VERBOSE = false;
   
/** /**
* Default interval in milliseconds for event loop yields (e.g. to allow network activity or to refresh the screen with the HTML-based runner). Small values here may result in slow test running. Zero means no updates until all tests have completed. * Default interval in milliseconds for event loop yields (e.g. to allow network activity or to refresh the screen with the HTML-based runner). Small values here may result in slow test running. Zero means no updates until all tests have completed.
* *
*/ */
jasmine.DEFAULT_UPDATE_INTERVAL = 250; jasmine.DEFAULT_UPDATE_INTERVAL = 250;
   
/** /**
* Default timeout interval in milliseconds for waitsFor() blocks. * Default timeout interval in milliseconds for waitsFor() blocks.
*/ */
jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000; jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000;
   
jasmine.getGlobal = function() { jasmine.getGlobal = function () {
function getGlobal() { function getGlobal() {
return this; return this;
} }
   
return getGlobal(); return getGlobal();
}; };
   
/** /**
* Allows for bound functions to be compared. Internal use only. * Allows for bound functions to be compared. Internal use only.
* *
* @ignore * @ignore
* @private * @private
* @param base {Object} bound 'this' for the function * @param base {Object} bound 'this' for the function
* @param name {Function} function to find * @param name {Function} function to find
*/ */
jasmine.bindOriginal_ = function(base, name) { jasmine.bindOriginal_ = function (base, name) {
var original = base[name]; var original = base[name];
if (original.apply) { if (original.apply) {
return function() { return function () {
return original.apply(base, arguments); return original.apply(base, arguments);
}; };
} else { } else {
// IE support // IE support
return jasmine.getGlobal()[name]; return jasmine.getGlobal()[name];
} }
}; };
   
jasmine.setTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'setTimeout'); jasmine.setTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'setTimeout');
jasmine.clearTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearTimeout'); jasmine.clearTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearTimeout');
jasmine.setInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'setInterval'); jasmine.setInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'setInterval');
jasmine.clearInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearInterval'); jasmine.clearInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearInterval');
   
jasmine.MessageResult = function(values) { jasmine.MessageResult = function (values) {
this.type = 'log'; this.type = 'log';
this.values = values; this.values = values;
this.trace = new Error(); // todo: test better this.trace = new Error(); // todo: test better
}; };
   
jasmine.MessageResult.prototype.toString = function() { jasmine.MessageResult.prototype.toString = function () {
var text = ""; var text = "";
for (var i = 0; i < this.values.length; i++) { for (var i = 0; i < this.values.length; i++) {
if (i > 0) text += " "; if (i > 0) text += " ";
if (jasmine.isString_(this.values[i])) { if (jasmine.isString_(this.values[i])) {
text += this.values[i]; text += this.values[i];
} else { } else {
text += jasmine.pp(this.values[i]); text += jasmine.pp(this.values[i]);
} }
} }
return text; return text;
}; };
   
jasmine.ExpectationResult = function(params) { jasmine.ExpectationResult = function (params) {
this.type = 'expect'; this.type = 'expect';
this.matcherName = params.matcherName; this.matcherName = params.matcherName;
this.passed_ = params.passed; this.passed_ = params.passed;
this.expected = params.expected; this.expected = params.expected;
this.actual = params.actual; this.actual = params.actual;
this.message = this.passed_ ? 'Passed.' : params.message; this.message = this.passed_ ? 'Passed.' : params.message;
   
var trace = (params.trace || new Error(this.message)); var trace = (params.trace || new Error(this.message));
this.trace = this.passed_ ? '' : trace; this.trace = this.passed_ ? '' : trace;
}; };
   
jasmine.ExpectationResult.prototype.toString = function () { jasmine.ExpectationResult.prototype.toString = function () {
return this.message; return this.message;
}; };
   
jasmine.ExpectationResult.prototype.passed = function () { jasmine.ExpectationResult.prototype.passed = function () {
return this.passed_; return this.passed_;
}; };
   
/** /**
* Getter for the Jasmine environment. Ensures one gets created * Getter for the Jasmine environment. Ensures one gets created
*/ */
jasmine.getEnv = function() { jasmine.getEnv = function () {
var env = jasmine.currentEnv_ = jasmine.currentEnv_ || new jasmine.Env(); var env = jasmine.currentEnv_ = jasmine.currentEnv_ || new jasmine.Env();
return env; return env;
}; };
   
/** /**
* @ignore * @ignore
* @private * @private
* @param value * @param value
* @returns {Boolean} * @returns {Boolean}
*/ */
jasmine.isArray_ = function(value) { jasmine.isArray_ = function (value) {
return jasmine.isA_("Array", value); return jasmine.isA_("Array", value);
}; };
   
/** /**
* @ignore * @ignore
* @private * @private
* @param value * @param value
* @returns {Boolean} * @returns {Boolean}
*/ */
jasmine.isString_ = function(value) { jasmine.isString_ = function (value) {
return jasmine.isA_("String", value); return jasmine.isA_("String", value);
}; };
   
/** /**
* @ignore * @ignore
* @private * @private
* @param value * @param value
* @returns {Boolean} * @returns {Boolean}
*/ */
jasmine.isNumber_ = function(value) { jasmine.isNumber_ = function (value) {
return jasmine.isA_("Number", value); return jasmine.isA_("Number", value);
}; };
   
/** /**
* @ignore * @ignore
* @private * @private
* @param {String} typeName * @param {String} typeName
* @param value * @param value
* @returns {Boolean} * @returns {Boolean}
*/ */
jasmine.isA_ = function(typeName, value) { jasmine.isA_ = function (typeName, value) {
return Object.prototype.toString.apply(value) === '[object ' + typeName + ']'; return Object.prototype.toString.apply(value) === '[object ' + typeName + ']';
}; };
   
/** /**
* Pretty printer for expecations. Takes any object and turns it into a human-readable string. * Pretty printer for expecations. Takes any object and turns it into a human-readable string.
* *
* @param value {Object} an object to be outputted * @param value {Object} an object to be outputted
* @returns {String} * @returns {String}
*/ */
jasmine.pp = function(value) { jasmine.pp = function (value) {
var stringPrettyPrinter = new jasmine.StringPrettyPrinter(); var stringPrettyPrinter = new jasmine.StringPrettyPrinter();
stringPrettyPrinter.format(value); stringPrettyPrinter.format(value);
return stringPrettyPrinter.string; return stringPrettyPrinter.string;
}; };
   
/** /**
* Returns true if the object is a DOM Node. * Returns true if the object is a DOM Node.
* *
* @param {Object} obj object to check * @param {Object} obj object to check
* @returns {Boolean} * @returns {Boolean}
*/ */
jasmine.isDomNode = function(obj) { jasmine.isDomNode = function (obj) {
return obj.nodeType > 0; return obj.nodeType > 0;
}; };
   
/** /**
* Returns a matchable 'generic' object of the class type. For use in expecations of type when values don't matter. * Returns a matchable 'generic' object of the class type. For use in expecations of type when values don't matter.
* *
* @example * @example
* // don't care about which function is passed in, as long as it's a function * // don't care about which function is passed in, as long as it's a function
* expect(mySpy).toHaveBeenCalledWith(jasmine.any(Function)); * expect(mySpy).toHaveBeenCalledWith(jasmine.any(Function));
* *
* @param {Class} clazz * @param {Class} clazz
* @returns matchable object of the type clazz * @returns matchable object of the type clazz
*/ */
jasmine.any = function(clazz) { jasmine.any = function (clazz) {
return new jasmine.Matchers.Any(clazz); return new jasmine.Matchers.Any(clazz);
}; };
   
/** /**
* Returns a matchable subset of a JSON object. For use in expectations when you don't care about all of the * Returns a matchable subset of a JSON object. For use in expectations when you don't care about all of the
* attributes on the object. * attributes on the object.
* *
* @example * @example
* // don't care about any other attributes than foo. * // don't care about any other attributes than foo.
* expect(mySpy).toHaveBeenCalledWith(jasmine.objectContaining({foo: "bar"}); * expect(mySpy).toHaveBeenCalledWith(jasmine.objectContaining({foo: "bar"});
* *
* @param sample {Object} sample * @param sample {Object} sample
* @returns matchable object for the sample * @returns matchable object for the sample
*/ */
jasmine.objectContaining = function (sample) { jasmine.objectContaining = function (sample) {
return new jasmine.Matchers.ObjectContaining(sample); return new jasmine.Matchers.ObjectContaining(sample);
}; };
   
/** /**
* Jasmine Spies are test doubles that can act as stubs, spies, fakes or when used in an expecation, mocks. * Jasmine Spies are test doubles that can act as stubs, spies, fakes or when used in an expecation, mocks.
* *
* Spies should be created in test setup, before expectations. They can then be checked, using the standard Jasmine * Spies should be created in test setup, before expectations. They can then be checked, using the standard Jasmine
* expectation syntax. Spies can be checked if they were called or not and what the calling params were. * expectation syntax. Spies can be checked if they were called or not and what the calling params were.
* *
* A Spy has the following fields: wasCalled, callCount, mostRecentCall, and argsForCall (see docs). * A Spy has the following fields: wasCalled, callCount, mostRecentCall, and argsForCall (see docs).
* *
* Spies are torn down at the end of every spec. * Spies are torn down at the end of every spec.
* *
* Note: Do <b>not</b> call new jasmine.Spy() directly - a spy must be created using spyOn, jasmine.createSpy or jasmine.createSpyObj. * Note: Do <b>not</b> call new jasmine.Spy() directly - a spy must be created using spyOn, jasmine.createSpy or jasmine.createSpyObj.
* *
* @example * @example
* // a stub * // a stub
* var myStub = jasmine.createSpy('myStub'); // can be used anywhere * var myStub = jasmine.createSpy('myStub'); // can be used anywhere
* *
* // spy example * // spy example
* var foo = { * var foo = {
* not: function(bool) { return !bool; } * not: function(bool) { return !bool; }
* } * }
* *
* // actual foo.not will not be called, execution stops * // actual foo.not will not be called, execution stops
* spyOn(foo, 'not'); * spyOn(foo, 'not');
   
// foo.not spied upon, execution will continue to implementation // foo.not spied upon, execution will continue to implementation
* spyOn(foo, 'not').andCallThrough(); * spyOn(foo, 'not').andCallThrough();
* *
* // fake example * // fake example
* var foo = { * var foo = {
* not: function(bool) { return !bool; } * not: function(bool) { return !bool; }
* } * }
* *
* // foo.not(val) will return val * // foo.not(val) will return val
* spyOn(foo, 'not').andCallFake(function(value) {return value;}); * spyOn(foo, 'not').andCallFake(function(value) {return value;});
* *
* // mock example * // mock example
* foo.not(7 == 7); * foo.not(7 == 7);
* expect(foo.not).toHaveBeenCalled(); * expect(foo.not).toHaveBeenCalled();
* expect(foo.not).toHaveBeenCalledWith(true); * expect(foo.not).toHaveBeenCalledWith(true);
* *
* @constructor * @constructor
* @see spyOn, jasmine.createSpy, jasmine.createSpyObj * @see spyOn, jasmine.createSpy, jasmine.createSpyObj
* @param {String} name * @param {String} name
*/ */
jasmine.Spy = function(name) { jasmine.Spy = function (name) {
/** /**
* The name of the spy, if provided. * The name of the spy, if provided.
*/ */
this.identity = name || 'unknown'; this.identity = name || 'unknown';
/** /**
* Is this Object a spy? * Is this Object a spy?
*/ */
this.isSpy = true; this.isSpy = true;
/** /**
* The actual function this spy stubs. * The actual function this spy stubs.
*/ */
this.plan = function() { this.plan = function () {
}; };
/** /**
* Tracking of the most recent call to the spy. * Tracking of the most recent call to the spy.
* @example * @example
* var mySpy = jasmine.createSpy('foo'); * var mySpy = jasmine.createSpy('foo');
* mySpy(1, 2); * mySpy(1, 2);
* mySpy.mostRecentCall.args = [1, 2]; * mySpy.mostRecentCall.args = [1, 2];
*/ */
this.mostRecentCall = {}; this.mostRecentCall = {};
   
/** /**
* Holds arguments for each call to the spy, indexed by call count * Holds arguments for each call to the spy, indexed by call count
* @example * @example
* var mySpy = jasmine.createSpy('foo'); * var mySpy = jasmine.createSpy('foo');
* mySpy(1, 2); * mySpy(1, 2);
* mySpy(7, 8); * mySpy(7, 8);
* mySpy.mostRecentCall.args = [7, 8]; * mySpy.mostRecentCall.args = [7, 8];
* mySpy.argsForCall[0] = [1, 2]; * mySpy.argsForCall[0] = [1, 2];
* mySpy.argsForCall[1] = [7, 8]; * mySpy.argsForCall[1] = [7, 8];
*/ */
this.argsForCall = []; this.argsForCall = [];
this.calls = []; this.calls = [];
}; };
   
/** /**
* Tells a spy to call through to the actual implemenatation. * Tells a spy to call through to the actual implemenatation.
* *
* @example * @example
* var foo = { * var foo = {
* bar: function() { // do some stuff } * bar: function() { // do some stuff }
* } * }
* *
* // defining a spy on an existing property: foo.bar * // defining a spy on an existing property: foo.bar
* spyOn(foo, 'bar').andCallThrough(); * spyOn(foo, 'bar').andCallThrough();
*/ */
jasmine.Spy.prototype.andCallThrough = function() { jasmine.Spy.prototype.andCallThrough = function () {
this.plan = this.originalValue; this.plan = this.originalValue;
return this; return this;
}; };
   
/** /**
* For setting the return value of a spy. * For setting the return value of a spy.
* *
* @example * @example
* // defining a spy from scratch: foo() returns 'baz' * // defining a spy from scratch: foo() returns 'baz'
* var foo = jasmine.createSpy('spy on foo').andReturn('baz'); * var foo = jasmine.createSpy('spy on foo').andReturn('baz');
* *
* // defining a spy on an existing property: foo.bar() returns 'baz' * // defining a spy on an existing property: foo.bar() returns 'baz'
* spyOn(foo, 'bar').andReturn('baz'); * spyOn(foo, 'bar').andReturn('baz');
* *
* @param {Object} value * @param {Object} value
*/ */
jasmine.Spy.prototype.andReturn = function(value) { jasmine.Spy.prototype.andReturn = function (value) {
this.plan = function() { this.plan = function () {
return value; return value;
}; };
return this; return this;
}; };
   
/** /**
* For throwing an exception when a spy is called. * For throwing an exception when a spy is called.
* *
* @example * @example
* // defining a spy from scratch: foo() throws an exception w/ message 'ouch' * // defining a spy from scratch: foo() throws an exception w/ message 'ouch'
* var foo = jasmine.createSpy('spy on foo').andThrow('baz'); * var foo = jasmine.createSpy('spy on foo').andThrow('baz');
* *
* // defining a spy on an existing property: foo.bar() throws an exception w/ message 'ouch' * // defining a spy on an existing property: foo.bar() throws an exception w/ message 'ouch'
* spyOn(foo, 'bar').andThrow('baz'); * spyOn(foo, 'bar').andThrow('baz');
* *
* @param {String} exceptionMsg * @param {String} exceptionMsg
*/ */
jasmine.Spy.prototype.andThrow = function(exceptionMsg) { jasmine.Spy.prototype.andThrow = function (exceptionMsg) {
this.plan = function() { this.plan = function () {
throw exceptionMsg; throw exceptionMsg;
}; };
return this; return this;
}; };
   
/** /**
* Calls an alternate implementation when a spy is called. * Calls an alternate implementation when a spy is called.
* *
* @example * @example
* var baz = function() { * var baz = function() {
* // do some stuff, return something * // do some stuff, return something
* } * }
* // defining a spy from scratch: foo() calls the function baz * // defining a spy from scratch: foo() calls the function baz
* var foo = jasmine.createSpy('spy on foo').andCall(baz); * var foo = jasmine.createSpy('spy on foo').andCall(baz);
* *
* // defining a spy on an existing property: foo.bar() calls an anonymnous function * // defining a spy on an existing property: foo.bar() calls an anonymnous function
* spyOn(foo, 'bar').andCall(function() { return 'baz';} ); * spyOn(foo, 'bar').andCall(function() { return 'baz';} );
* *
* @param {Function} fakeFunc * @param {Function} fakeFunc
*/ */
jasmine.Spy.prototype.andCallFake = function(fakeFunc) { jasmine.Spy.prototype.andCallFake = function (fakeFunc) {
this.plan = fakeFunc; this.plan = fakeFunc;
return this; return this;
}; };
   
/** /**
* Resets all of a spy's the tracking variables so that it can be used again. * Resets all of a spy's the tracking variables so that it can be used again.
* *
* @example * @example
* spyOn(foo, 'bar'); * spyOn(foo, 'bar');
* *
* foo.bar(); * foo.bar();
* *
* expect(foo.bar.callCount).toEqual(1); * expect(foo.bar.callCount).toEqual(1);
* *
* foo.bar.reset(); * foo.bar.reset();
* *
* expect(foo.bar.callCount).toEqual(0); * expect(foo.bar.callCount).toEqual(0);
*/ */
jasmine.Spy.prototype.reset = function() { jasmine.Spy.prototype.reset = function () {
this.wasCalled = false; this.wasCalled = false;
this.callCount = 0; this.callCount = 0;
this.argsForCall = []; this.argsForCall = [];
this.calls = []; this.calls = [];
this.mostRecentCall = {}; this.mostRecentCall = {};
}; };
   
jasmine.createSpy = function(name) { jasmine.createSpy = function (name) {
   
var spyObj = function() { var spyObj = function () {
spyObj.wasCalled = true; spyObj.wasCalled = true;
spyObj.callCount++; spyObj.callCount++;
var args = jasmine.util.argsToArray(arguments); var args = jasmine.util.argsToArray(arguments);
spyObj.mostRecentCall.object = this; spyObj.mostRecentCall.object = this;
spyObj.mostRecentCall.args = args; spyObj.mostRecentCall.args = args;
spyObj.argsForCall.push(args); spyObj.argsForCall.push(args);
spyObj.calls.push({object: this, args: args}); spyObj.calls.push({object: this, args: args});
return spyObj.plan.apply(this, arguments); return spyObj.plan.apply(this, arguments);
}; };
   
var spy = new jasmine.Spy(name); var spy = new jasmine.Spy(name);
   
for (var prop in spy) { for (var prop in spy) {
spyObj[prop] = spy[prop]; spyObj[prop] = spy[prop];
} }
   
spyObj.reset(); spyObj.reset();
   
return spyObj; return spyObj;
}; };
   
/** /**
* Determines whether an object is a spy. * Determines whether an object is a spy.
* *
* @param {jasmine.Spy|Object} putativeSpy * @param {jasmine.Spy|Object} putativeSpy
* @returns {Boolean} * @returns {Boolean}
*/ */
jasmine.isSpy = function(putativeSpy) { jasmine.isSpy = function (putativeSpy) {
return putativeSpy && putativeSpy.isSpy; return putativeSpy && putativeSpy.isSpy;
}; };
   
/** /**
* Creates a more complicated spy: an Object that has every property a function that is a spy. Used for stubbing something * Creates a more complicated spy: an Object that has every property a function that is a spy. Used for stubbing something
* large in one call. * large in one call.
* *
* @param {String} baseName name of spy class * @param {String} baseName name of spy class
* @param {Array} methodNames array of names of methods to make spies * @param {Array} methodNames array of names of methods to make spies
*/ */
jasmine.createSpyObj = function(baseName, methodNames) { jasmine.createSpyObj = function (baseName, methodNames) {
if (!jasmine.isArray_(methodNames) || methodNames.length === 0) { if (!jasmine.isArray_(methodNames) || methodNames.length === 0) {
throw new Error('createSpyObj requires a non-empty array of method names to create spies for'); throw new Error('createSpyObj requires a non-empty array of method names to create spies for');
} }
var obj = {}; var obj = {};
for (var i = 0; i < methodNames.length; i++) { for (var i = 0; i < methodNames.length; i++) {
obj[methodNames[i]] = jasmine.createSpy(baseName + '.' + methodNames[i]); obj[methodNames[i]] = jasmine.createSpy(baseName + '.' + methodNames[i]);
} }
return obj; return obj;
}; };
   
/** /**
* All parameters are pretty-printed and concatenated together, then written to the current spec's output. * All parameters are pretty-printed and concatenated together, then written to the current spec's output.
* *
* Be careful not to leave calls to <code>jasmine.log</code> in production code. * Be careful not to leave calls to <code>jasmine.log</code> in production code.
*/ */
jasmine.log = function() { jasmine.log = function () {
var spec = jasmine.getEnv().currentSpec; var spec = jasmine.getEnv().currentSpec;
spec.log.apply(spec, arguments); spec.log.apply(spec, arguments);
}; };
   
/** /**
* Function that installs a spy on an existing object's method name. Used within a Spec to create a spy. * Function that installs a spy on an existing object's method name. Used within a Spec to create a spy.
* *
* @example * @example
* // spy example * // spy example
* var foo = { * var foo = {
* not: function(bool) { return !bool; } * not: function(bool) { return !bool; }
* } * }
* spyOn(foo, 'not'); // actual foo.not will not be called, execution stops * spyOn(foo, 'not'); // actual foo.not will not be called, execution stops
* *
* @see jasmine.createSpy * @see jasmine.createSpy
* @param obj * @param obj
* @param methodName * @param methodName
* @returns a Jasmine spy that can be chained with all spy methods * @returns a Jasmine spy that can be chained with all spy methods
*/ */
var spyOn = function(obj, methodName) { var spyOn = function (obj, methodName) {
return jasmine.getEnv().currentSpec.spyOn(obj, methodName); return jasmine.getEnv().currentSpec.spyOn(obj, methodName);
}; };
if (isCommonJS) exports.spyOn = spyOn; if (isCommonJS) exports.spyOn = spyOn;
   
/** /**
* Creates a Jasmine spec that will be added to the current suite. * Creates a Jasmine spec that will be added to the current suite.
* *
* // TODO: pending tests * // TODO: pending tests
* *
* @example * @example
* it('should be true', function() { * it('should be true', function() {
* expect(true).toEqual(true); * expect(true).toEqual(true);
* }); * });
* *
* @param {String} desc description of this specification * @param {String} desc description of this specification
* @param {Function} func defines the preconditions and expectations of the spec * @param {Function} func defines the preconditions and expectations of the spec
*/ */
var it = function(desc, func) { var it = function (desc, func) {
return jasmine.getEnv().it(desc, func); return jasmine.getEnv().it(desc, func);
}; };
if (isCommonJS) exports.it = it; if (isCommonJS) exports.it = it;
   
/** /**
* Creates a <em>disabled</em> Jasmine spec. * Creates a <em>disabled</em> Jasmine spec.
* *
* A convenience method that allows existing specs to be disabled temporarily during development. * A convenience method that allows existing specs to be disabled temporarily during development.
* *
* @param {String} desc description of this specification * @param {String} desc description of this specification
* @param {Function} func defines the preconditions and expectations of the spec * @param {Function} func defines the preconditions and expectations of the spec
*/ */
var xit = function(desc, func) { var xit = function (desc, func) {
return jasmine.getEnv().xit(desc, func); return jasmine.getEnv().xit(desc, func);
}; };
if (isCommonJS) exports.xit = xit; if (isCommonJS) exports.xit = xit;
   
/** /**
* Starts a chain for a Jasmine expectation. * Starts a chain for a Jasmine expectation.
* *
* It is passed an Object that is the actual value and should chain to one of the many * It is passed an Object that is the actual value and should chain to one of the many
* jasmine.Matchers functions. * jasmine.Matchers functions.
* *
* @param {Object} actual Actual value to test against and expected value * @param {Object} actual Actual value to test against and expected value
*/ */
var expect = function(actual) { var expect = function (actual) {
return jasmine.getEnv().currentSpec.expect(actual); return jasmine.getEnv().currentSpec.expect(actual);
}; };
if (isCommonJS) exports.expect = expect; if (isCommonJS) exports.expect = expect;
   
/** /**
* Defines part of a jasmine spec. Used in cominbination with waits or waitsFor in asynchrnous specs. * Defines part of a jasmine spec. Used in cominbination with waits or waitsFor in asynchrnous specs.
* *
* @param {Function} func Function that defines part of a jasmine spec. * @param {Function} func Function that defines part of a jasmine spec.
*/ */
var runs = function(func) { var runs = function (func) {
jasmine.getEnv().currentSpec.runs(func); jasmine.getEnv().currentSpec.runs(func);
}; };
if (isCommonJS) exports.runs = runs; if (isCommonJS) exports.runs = runs;
   
/** /**
* Waits a fixed time period before moving to the next block. * Waits a fixed time period before moving to the next block.
* *
* @deprecated Use waitsFor() instead * @deprecated Use waitsFor() instead
* @param {Number} timeout milliseconds to wait * @param {Number} timeout milliseconds to wait
*/ */
var waits = function(timeout) { var waits = function (timeout) {
jasmine.getEnv().currentSpec.waits(timeout); jasmine.getEnv().currentSpec.waits(timeout);
}; };
if (isCommonJS) exports.waits = waits; if (isCommonJS) exports.waits = waits;
   
/** /**
* Waits for the latchFunction to return true before proceeding to the next block. * Waits for the latchFunction to return true before proceeding to the next block.
* *
* @param {Function} latchFunction * @param {Function} latchFunction
* @param {String} optional_timeoutMessage * @param {String} optional_timeoutMessage
* @param {Number} optional_timeout * @param {Number} optional_timeout
*/ */
var waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) { var waitsFor = function (latchFunction, optional_timeoutMessage, optional_timeout) {
jasmine.getEnv().currentSpec.waitsFor.apply(jasmine.getEnv().currentSpec, arguments); jasmine.getEnv().currentSpec.waitsFor.apply(jasmine.getEnv().currentSpec, arguments);
}; };
if (isCommonJS) exports.waitsFor = waitsFor; if (isCommonJS) exports.waitsFor = waitsFor;
   
/** /**
* A function that is called before each spec in a suite. * A function that is called before each spec in a suite.
* *
* Used for spec setup, including validating assumptions. * Used for spec setup, including validating assumptions.
* *
* @param {Function} beforeEachFunction * @param {Function} beforeEachFunction
*/ */
var beforeEach = function(beforeEachFunction) { var beforeEach = function (beforeEachFunction) {
jasmine.getEnv().beforeEach(beforeEachFunction); jasmine.getEnv().beforeEach(beforeEachFunction);
}; };
if (isCommonJS) exports.beforeEach = beforeEach; if (isCommonJS) exports.beforeEach = beforeEach;
   
/** /**
* A function that is called after each spec in a suite. * A function that is called after each spec in a suite.
* *
* Used for restoring any state that is hijacked during spec execution. * Used for restoring any state that is hijacked during spec execution.
* *
* @param {Function} afterEachFunction * @param {Function} afterEachFunction
*/ */
var afterEach = function(afterEachFunction) { var afterEach = function (afterEachFunction) {
jasmine.getEnv().afterEach(afterEachFunction); jasmine.getEnv().afterEach(afterEachFunction);
}; };
if (isCommonJS) exports.afterEach = afterEach; if (isCommonJS) exports.afterEach = afterEach;
   
/** /**
* Defines a suite of specifications. * Defines a suite of specifications.
* *
* Stores the description and all defined specs in the Jasmine environment as one suite of specs. Variables declared * Stores the description and all defined specs in the Jasmine environment as one suite of specs. Variables declared
* are accessible by calls to beforeEach, it, and afterEach. Describe blocks can be nested, allowing for specialization * are accessible by calls to beforeEach, it, and afterEach. Describe blocks can be nested, allowing for specialization
* of setup in some tests. * of setup in some tests.
* *
* @example * @example
* // TODO: a simple suite * // TODO: a simple suite
* *
* // TODO: a simple suite with a nested describe block * // TODO: a simple suite with a nested describe block
* *
* @param {String} description A string, usually the class under test. * @param {String} description A string, usually the class under test.
* @param {Function} specDefinitions function that defines several specs. * @param {Function} specDefinitions function that defines several specs.
*/ */
var describe = function(description, specDefinitions) { var describe = function (description, specDefinitions) {
return jasmine.getEnv().describe(description, specDefinitions); return jasmine.getEnv().describe(description, specDefinitions);
}; };
if (isCommonJS) exports.describe = describe; if (isCommonJS) exports.describe = describe;
   
/** /**
* Disables a suite of specifications. Used to disable some suites in a file, or files, temporarily during development. * Disables a suite of specifications. Used to disable some suites in a file, or files, temporarily during development.
* *
* @param {String} description A string, usually the class under test. * @param {String} description A string, usually the class under test.
* @param {Function} specDefinitions function that defines several specs. * @param {Function} specDefinitions function that defines several specs.
*/ */
var xdescribe = function(description, specDefinitions) { var xdescribe = function (description, specDefinitions) {
return jasmine.getEnv().xdescribe(description, specDefinitions); return jasmine.getEnv().xdescribe(description, specDefinitions);
}; };
if (isCommonJS) exports.xdescribe = xdescribe; if (isCommonJS) exports.xdescribe = xdescribe;
   
   
// Provide the XMLHttpRequest class for IE 5.x-6.x: // Provide the XMLHttpRequest class for IE 5.x-6.x:
jasmine.XmlHttpRequest = (typeof XMLHttpRequest == "undefined") ? function() { jasmine.XmlHttpRequest = (typeof XMLHttpRequest == "undefined") ? function () {
function tryIt(f) { function tryIt(f) {
try { try {
return f(); return f();
} catch(e) { } catch (e) {
} }
return null; return null;
} }
   
var xhr = tryIt(function() { var xhr = tryIt(function () {
return new ActiveXObject("Msxml2.XMLHTTP.6.0"); return new ActiveXObject("Msxml2.XMLHTTP.6.0");
}) ||  
tryIt(function() {  
return new ActiveXObject("Msxml2.XMLHTTP.3.0");  
}) || }) ||
tryIt(function() { tryIt(function () {
return new ActiveXObject("Msxml2.XMLHTTP"); return new ActiveXObject("Msxml2.XMLHTTP.3.0");
}) || }) ||
tryIt(function() { tryIt(function () {
return new ActiveXObject("Microsoft.XMLHTTP"); return new ActiveXObject("Msxml2.XMLHTTP");
}); }) ||
  tryIt(function () {
if (!xhr) throw new Error("This browser does not support XMLHttpRequest."); return new ActiveXObject("Microsoft.XMLHTTP");
  });
return xhr;  
  if (!xhr) throw new Error("This browser does not support XMLHttpRequest.");
   
  return xhr;
} : XMLHttpRequest; } : XMLHttpRequest;
/** /**
* @namespace * @namespace
*/ */
jasmine.util = {}; jasmine.util = {};
   
/** /**
* Declare that a child class inherit it's prototype from the parent class. * Declare that a child class inherit it's prototype from the parent class.
* *
* @private * @private
* @param {Function} childClass * @param {Function} childClass
* @param {Function} parentClass * @param {Function} parentClass
*/ */
jasmine.util.inherit = function(childClass, parentClass) { jasmine.util.inherit = function (childClass, parentClass) {
/** /**
* @private * @private
*/ */
var subclass = function() { var subclass = function () {
}; };
subclass.prototype = parentClass.prototype; subclass.prototype = parentClass.prototype;
childClass.prototype = new subclass(); childClass.prototype = new subclass();
}; };
   
jasmine.util.formatException = function(e) { jasmine.util.formatException = function (e) {
var lineNumber; var lineNumber;
if (e.line) { if (e.line) {
lineNumber = e.line; lineNumber = e.line;
} }
else if (e.lineNumber) { else if (e.lineNumber) {
lineNumber = e.lineNumber; lineNumber = e.lineNumber;
} }
   
var file; var file;
   
if (e.sourceURL) { if (e.sourceURL) {
file = e.sourceURL; file = e.sourceURL;
} }
else if (e.fileName) { else if (e.fileName) {
file = e.fileName; file = e.fileName;
} }
   
var message = (e.name && e.message) ? (e.name + ': ' + e.message) : e.toString(); var message = (e.name && e.message) ? (e.name + ': ' + e.message) : e.toString();
   
if (file && lineNumber) { if (file && lineNumber) {
message += ' in ' + file + ' (line ' + lineNumber + ')'; message += ' in ' + file + ' (line ' + lineNumber + ')';
} }
   
return message; return message;
}; };
   
jasmine.util.htmlEscape = function(str) { jasmine.util.htmlEscape = function (str) {
if (!str) return str; if (!str) return str;
return str.replace(/&/g, '&amp;') return str.replace(/&/g, '&amp;')
.replace(/</g, '&lt;') .replace(/</g, '&lt;')
.replace(/>/g, '&gt;'); .replace(/>/g, '&gt;');
}; };
   
jasmine.util.argsToArray = function(args) { jasmine.util.argsToArray = function (args) {
var arrayOfArgs = []; var arrayOfArgs = [];
for (var i = 0; i < args.length; i++) arrayOfArgs.push(args[i]); for (var i = 0; i < args.length; i++) arrayOfArgs.push(args[i]);
return arrayOfArgs; return arrayOfArgs;
}; };
   
jasmine.util.extend = function(destination, source) { jasmine.util.extend = function (destination, source) {
for (var property in source) destination[property] = source[property]; for (var property in source) destination[property] = source[property];
return destination; return destination;
}; };
   
/** /**
* Environment for Jasmine * Environment for Jasmine
* *
* @constructor * @constructor
*/ */
jasmine.Env = function() { jasmine.Env = function () {
this.currentSpec = null; this.currentSpec = null;
this.currentSuite = null; this.currentSuite = null;
this.currentRunner_ = new jasmine.Runner(this); this.currentRunner_ = new jasmine.Runner(this);
   
this.reporter = new jasmine.MultiReporter(); this.reporter = new jasmine.MultiReporter();
   
this.updateInterval = jasmine.DEFAULT_UPDATE_INTERVAL; this.updateInterval = jasmine.DEFAULT_UPDATE_INTERVAL;
this.defaultTimeoutInterval = jasmine.DEFAULT_TIMEOUT_INTERVAL; this.defaultTimeoutInterval = jasmine.DEFAULT_TIMEOUT_INTERVAL;
this.lastUpdate = 0; this.lastUpdate = 0;
this.specFilter = function() { this.specFilter = function () {
return true; return true;
}; };
   
this.nextSpecId_ = 0; this.nextSpecId_ = 0;
this.nextSuiteId_ = 0; this.nextSuiteId_ = 0;
this.equalityTesters_ = []; this.equalityTesters_ = [];
   
// wrap matchers // wrap matchers
this.matchersClass = function() { this.matchersClass = function () {
jasmine.Matchers.apply(this, arguments); jasmine.Matchers.apply(this, arguments);
}; };
jasmine.util.inherit(this.matchersClass, jasmine.Matchers); jasmine.util.inherit(this.matchersClass, jasmine.Matchers);
   
jasmine.Matchers.wrapInto_(jasmine.Matchers.prototype, this.matchersClass); jasmine.Matchers.wrapInto_(jasmine.Matchers.prototype, this.matchersClass);
}; };
   
   
jasmine.Env.prototype.setTimeout = jasmine.setTimeout; jasmine.Env.prototype.setTimeout = jasmine.setTimeout;
jasmine.Env.prototype.clearTimeout = jasmine.clearTimeout; jasmine.Env.prototype.clearTimeout = jasmine.clearTimeout;
jasmine.Env.prototype.setInterval = jasmine.setInterval; jasmine.Env.prototype.setInterval = jasmine.setInterval;
jasmine.Env.prototype.clearInterval = jasmine.clearInterval; jasmine.Env.prototype.clearInterval = jasmine.clearInterval;
   
/** /**
* @returns an object containing jasmine version build info, if set. * @returns an object containing jasmine version build info, if set.
*/ */
jasmine.Env.prototype.version = function () { jasmine.Env.prototype.version = function () {
if (jasmine.version_) { if (jasmine.version_) {
return jasmine.version_; return jasmine.version_;
} else { } else {
throw new Error('Version not set'); throw new Error('Version not set');
} }
}; };
   
/** /**
* @returns string containing jasmine version build info, if set. * @returns string containing jasmine version build info, if set.
*/ */
jasmine.Env.prototype.versionString = function() { jasmine.Env.prototype.versionString = function () {
if (!jasmine.version_) { if (!jasmine.version_) {
return "version unknown"; return "version unknown";
} }
   
var version = this.version(); var version = this.version();
var versionString = version.major + "." + version.minor + "." + version.build; var versionString = version.major + "." + version.minor + "." + version.build;
if (version.release_candidate) { if (version.release_candidate) {
versionString += ".rc" + version.release_candidate; versionString += ".rc" + version.release_candidate;
} }
versionString += " revision " + version.revision; versionString += " revision " + version.revision;
return versionString; return versionString;
}; };
   
/** /**
* @returns a sequential integer starting at 0 * @returns a sequential integer starting at 0
*/ */
jasmine.Env.prototype.nextSpecId = function () { jasmine.Env.prototype.nextSpecId = function () {
return this.nextSpecId_++; return this.nextSpecId_++;
}; };
   
/** /**
* @returns a sequential integer starting at 0 * @returns a sequential integer starting at 0
*/ */
jasmine.Env.prototype.nextSuiteId = function () { jasmine.Env.prototype.nextSuiteId = function () {
return this.nextSuiteId_++; return this.nextSuiteId_++;
}; };
   
/** /**
* Register a reporter to receive status updates from Jasmine. * Register a reporter to receive status updates from Jasmine.
* @param {jasmine.Reporter} reporter An object which will receive status updates. * @param {jasmine.Reporter} reporter An object which will receive status updates.
*/ */
jasmine.Env.prototype.addReporter = function(reporter) { jasmine.Env.prototype.addReporter = function (reporter) {
this.reporter.addReporter(reporter); this.reporter.addReporter(reporter);
}; };
   
jasmine.Env.prototype.execute = function() { jasmine.Env.prototype.execute = function () {
this.currentRunner_.execute(); this.currentRunner_.execute();
}; };
   
jasmine.Env.prototype.describe = function(description, specDefinitions) { jasmine.Env.prototype.describe = function (description, specDefinitions) {
var suite = new jasmine.Suite(this, description, specDefinitions, this.currentSuite); var suite = new jasmine.Suite(this, description, specDefinitions, this.currentSuite);
   
var parentSuite = this.currentSuite; var parentSuite = this.currentSuite;
if (parentSuite) { if (parentSuite) {
parentSuite.add(suite); parentSuite.add(suite);
} else { } else {
this.currentRunner_.add(suite); this.currentRunner_.add(suite);
} }
   
this.currentSuite = suite; this.currentSuite = suite;
   
var declarationError = null; var declarationError = null;
try { try {
specDefinitions.call(suite); specDefinitions.call(suite);
} catch(e) { } catch (e) {
declarationError = e; declarationError = e;
} }
   
if (declarationError) { if (declarationError) {
this.it("encountered a declaration exception", function() { this.it("encountered a declaration exception", function () {
throw declarationError; throw declarationError;
}); });
} }
   
this.currentSuite = parentSuite; this.currentSuite = parentSuite;
   
return suite; return suite;
}; };
   
jasmine.Env.prototype.beforeEach = function(beforeEachFunction) { jasmine.Env.prototype.beforeEach = function (beforeEachFunction) {
if (this.currentSuite) { if (this.currentSuite) {
this.currentSuite.beforeEach(beforeEachFunction); this.currentSuite.beforeEach(beforeEachFunction);
} else { } else {
this.currentRunner_.beforeEach(beforeEachFunction); this.currentRunner_.beforeEach(beforeEachFunction);
} }
}; };
   
jasmine.Env.prototype.currentRunner = function () { jasmine.Env.prototype.currentRunner = function () {
return this.currentRunner_; return this.currentRunner_;
}; };
   
jasmine.Env.prototype.afterEach = function(afterEachFunction) { jasmine.Env.prototype.afterEach = function (afterEachFunction) {
if (this.currentSuite) { if (this.currentSuite) {
this.currentSuite.afterEach(afterEachFunction); this.currentSuite.afterEach(afterEachFunction);
} else { } else {
this.currentRunner_.afterEach(afterEachFunction); this.currentRunner_.afterEach(afterEachFunction);
} }
   
}; };
   
jasmine.Env.prototype.xdescribe = function(desc, specDefinitions) { jasmine.Env.prototype.xdescribe = function (desc, specDefinitions) {
return { return {
execute: function() { execute: function () {
} }
}; };
}; };
   
jasmine.Env.prototype.it = function(description, func) { jasmine.Env.prototype.it = function (description, func) {
var spec = new jasmine.Spec(this, this.currentSuite, description); var spec = new jasmine.Spec(this, this.currentSuite, description);
this.currentSuite.add(spec); this.currentSuite.add(spec);
this.currentSpec = spec; this.currentSpec = spec;
   
if (func) { if (func) {
spec.runs(func); spec.runs(func);
} }
   
return spec; return spec;
}; };
   
jasmine.Env.prototype.xit = function(desc, func) { jasmine.Env.prototype.xit = function (desc, func) {
return { return {
id: this.nextSpecId(), id: this.nextSpecId(),
runs: function() { runs: function () {
} }
}; };
}; };
   
jasmine.Env.prototype.compareObjects_ = function(a, b, mismatchKeys, mismatchValues) { jasmine.Env.prototype.compareObjects_ = function (a, b, mismatchKeys, mismatchValues) {
if (a.__Jasmine_been_here_before__ === b && b.__Jasmine_been_here_before__ === a) { if (a.__Jasmine_been_here_before__ === b && b.__Jasmine_been_here_before__ === a) {
return true; return true;
} }
   
a.__Jasmine_been_here_before__ = b; a.__Jasmine_been_here_before__ = b;
b.__Jasmine_been_here_before__ = a; b.__Jasmine_been_here_before__ = a;
   
var hasKey = function(obj, keyName) { var hasKey = function (obj, keyName) {
return obj !== null && obj[keyName] !== jasmine.undefined; return obj !== null && obj[keyName] !== jasmine.undefined;
}; };
   
for (var property in b) { for (var property in b) {
if (!hasKey(a, property) && hasKey(b, property)) { if (!hasKey(a, property) && hasKey(b, property)) {
mismatchKeys.push("expected has key '" + property + "', but missing from actual."); mismatchKeys.push("expected has key '" + property + "', but missing from actual.");
} }
} }
for (property in a) { for (property in a) {
if (!hasKey(b, property) && hasKey(a, property)) { if (!hasKey(b, property) && hasKey(a, property)) {
mismatchKeys.push("expected missing key '" + property + "', but present in actual."); mismatchKeys.push("expected missing key '" + property + "', but present in actual.");
} }
} }
for (property in b) { for (property in b) {
if (property == '__Jasmine_been_here_before__') continue; if (property == '__Jasmine_been_here_before__') continue;
if (!this.equals_(a[property], b[property], mismatchKeys, mismatchValues)) { if (!this.equals_(a[property], b[property], mismatchKeys, mismatchValues)) {
mismatchValues.push("'" + property + "' was '" + (b[property] ? jasmine.util.htmlEscape(b[property].toString()) : b[property]) + "' in expected, but was '" + (a[property] ? jasmine.util.htmlEscape(a[property].toString()) : a[property]) + "' in actual."); mismatchValues.push("'" + property + "' was '" + (b[property] ? jasmine.util.htmlEscape(b[property].toString()) : b[property]) + "' in expected, but was '" + (a[property] ? jasmine.util.htmlEscape(a[property].toString()) : a[property]) + "' in actual.");
} }
} }
   
if (jasmine.isArray_(a) && jasmine.isArray_(b) && a.length != b.length) { if (jasmine.isArray_(a) && jasmine.isArray_(b) && a.length != b.length) {
mismatchValues.push("arrays were not the same length"); mismatchValues.push("arrays were not the same length");
} }
   
delete a.__Jasmine_been_here_before__; delete a.__Jasmine_been_here_before__;
delete b.__Jasmine_been_here_before__; delete b.__Jasmine_been_here_before__;
return (mismatchKeys.length === 0 && mismatchValues.length === 0); return (mismatchKeys.length === 0 && mismatchValues.length === 0);
}; };
   
jasmine.Env.prototype.equals_ = function(a, b, mismatchKeys, mismatchValues) { jasmine.Env.prototype.equals_ = function (a, b, mismatchKeys, mismatchValues) {
mismatchKeys = mismatchKeys || []; mismatchKeys = mismatchKeys || [];
mismatchValues = mismatchValues || []; mismatchValues = mismatchValues || [];
   
for (var i = 0; i < this.equalityTesters_.length; i++) { for (var i = 0; i < this.equalityTesters_.length; i++) {
var equalityTester = this.equalityTesters_[i]; var equalityTester = this.equalityTesters_[i];
var result = equalityTester(a, b, this, mismatchKeys, mismatchValues); var result = equalityTester(a, b, this, mismatchKeys, mismatchValues);
if (result !== jasmine.undefined) return result; if (result !== jasmine.undefined) return result;
} }
   
if (a === b) return true; if (a === b) return true;
   
if (a === jasmine.undefined || a === null || b === jasmine.undefined || b === null) { if (a === jasmine.undefined || a === null || b === jasmine.undefined || b === null) {
return (a == jasmine.undefined && b == jasmine.undefined); return (a == jasmine.undefined && b == jasmine.undefined);
} }
   
if (jasmine.isDomNode(a) && jasmine.isDomNode(b)) { if (jasmine.isDomNode(a) && jasmine.isDomNode(b)) {
return a === b; return a === b;
} }
   
if (a instanceof Date && b instanceof Date) { if (a instanceof Date && b instanceof Date) {
return a.getTime() == b.getTime(); return a.getTime() == b.getTime();
} }
   
if (a.jasmineMatches) { if (a.jasmineMatches) {
return a.jasmineMatches(b); return a.jasmineMatches(b);
} }
   
if (b.jasmineMatches) { if (b.jasmineMatches) {
return b.jasmineMatches(a); return b.jasmineMatches(a);
} }
   
if (a instanceof jasmine.Matchers.ObjectContaining) { if (a instanceof jasmine.Matchers.ObjectContaining) {
return a.matches(b); return a.matches(b);
} }
   
if (b instanceof jasmine.Matchers.ObjectContaining) { if (b instanceof jasmine.Matchers.ObjectContaining) {
return b.matches(a); return b.matches(a);
} }
   
if (jasmine.isString_(a) && jasmine.isString_(b)) { if (jasmine.isString_(a) && jasmine.isString_(b)) {
return (a == b); return (a == b);
} }
   
if (jasmine.isNumber_(a) && jasmine.isNumber_(b)) { if (jasmine.isNumber_(a) && jasmine.isNumber_(b)) {
return (a == b); return (a == b);
} }
   
if (typeof a === "object" && typeof b === "object") { if (typeof a === "object" && typeof b === "object") {
return this.compareObjects_(a, b, mismatchKeys, mismatchValues); return this.compareObjects_(a, b, mismatchKeys, mismatchValues);
} }
   
//Straight check //Straight check
return (a === b); return (a === b);
}; };
   
jasmine.Env.prototype.contains_ = function(haystack, needle) { jasmine.Env.prototype.contains_ = function (haystack, needle) {
if (jasmine.isArray_(haystack)) { if (jasmine.isArray_(haystack)) {
for (var i = 0; i < haystack.length; i++) { for (var i = 0; i < haystack.length; i++) {
if (this.equals_(haystack[i], needle)) return true; if (this.equals_(haystack[i], needle)) return true;
} }
return false; return false;
} }
return haystack.indexOf(needle) >= 0; return haystack.indexOf(needle) >= 0;
}; };
   
jasmine.Env.prototype.addEqualityTester = function(equalityTester) { jasmine.Env.prototype.addEqualityTester = function (equalityTester) {
this.equalityTesters_.push(equalityTester); this.equalityTesters_.push(equalityTester);
}; };
/** No-op base class for Jasmine reporters. /** No-op base class for Jasmine reporters.
* *
* @constructor * @constructor
*/ */
jasmine.Reporter = function() { jasmine.Reporter = function () {
}; };
   
//noinspection JSUnusedLocalSymbols //noinspection JSUnusedLocalSymbols
jasmine.Reporter.prototype.reportRunnerStarting = function(runner) { jasmine.Reporter.prototype.reportRunnerStarting = function (runner) {
}; };
   
//noinspection JSUnusedLocalSymbols //noinspection JSUnusedLocalSymbols
jasmine.Reporter.prototype.reportRunnerResults = function(runner) { jasmine.Reporter.prototype.reportRunnerResults = function (runner) {
}; };
   
//noinspection JSUnusedLocalSymbols //noinspection JSUnusedLocalSymbols
jasmine.Reporter.prototype.reportSuiteResults = function(suite) { jasmine.Reporter.prototype.reportSuiteResults = function (suite) {
}; };
   
//noinspection JSUnusedLocalSymbols //noinspection JSUnusedLocalSymbols
jasmine.Reporter.prototype.reportSpecStarting = function(spec) { jasmine.Reporter.prototype.reportSpecStarting = function (spec) {
}; };
   
//noinspection JSUnusedLocalSymbols //noinspection JSUnusedLocalSymbols
jasmine.Reporter.prototype.reportSpecResults = function(spec) { jasmine.Reporter.prototype.reportSpecResults = function (spec) {
}; };
   
//noinspection JSUnusedLocalSymbols //noinspection JSUnusedLocalSymbols
jasmine.Reporter.prototype.log = function(str) { jasmine.Reporter.prototype.log = function (str) {
}; };
   
/** /**
* Blocks are functions with executable code that make up a spec. * Blocks are functions with executable code that make up a spec.
* *
* @constructor * @constructor
* @param {jasmine.Env} env * @param {jasmine.Env} env
* @param {Function} func * @param {Function} func
* @param {jasmine.Spec} spec * @param {jasmine.Spec} spec
*/ */
jasmine.Block = function(env, func, spec) { jasmine.Block = function (env, func, spec) {
this.env = env; this.env = env;
this.func = func; this.func = func;
this.spec = spec; this.spec = spec;
}; };
   
jasmine.Block.prototype.execute = function(onComplete) { jasmine.Block.prototype.execute = function (onComplete) {
try { try {
this.func.apply(this.spec); this.func.apply(this.spec);
} catch (e) { } catch (e) {
this.spec.fail(e); this.spec.fail(e);
} }
onComplete(); onComplete();
}; };
/** JavaScript API reporter. /** JavaScript API reporter.
* *
* @constructor * @constructor
*/ */
jasmine.JsApiReporter = function() { jasmine.JsApiReporter = function () {
this.started = false; this.started = false;
this.finished = false; this.finished = false;
this.suites_ = []; this.suites_ = [];
this.results_ = {}; this.results_ = {};
}; };
   
jasmine.JsApiReporter.prototype.reportRunnerStarting = function(runner) { jasmine.JsApiReporter.prototype.reportRunnerStarting = function (runner) {
this.started = true; this.started = true;
var suites = runner.topLevelSuites(); var suites = runner.topLevelSuites();
for (var i = 0; i < suites.length; i++) { for (var i = 0; i < suites.length; i++) {
var suite = suites[i]; var suite = suites[i];
this.suites_.push(this.summarize_(suite)); this.suites_.push(this.summarize_(suite));
} }
}; };
   
jasmine.JsApiReporter.prototype.suites = function() { jasmine.JsApiReporter.prototype.suites = function () {
return this.suites_; return this.suites_;
}; };
   
jasmine.JsApiReporter.prototype.summarize_ = function(suiteOrSpec) { jasmine.JsApiReporter.prototype.summarize_ = function (suiteOrSpec) {
var isSuite = suiteOrSpec instanceof jasmine.Suite; var isSuite = suiteOrSpec instanceof jasmine.Suite;
var summary = { var summary = {
id: suiteOrSpec.id, id: suiteOrSpec.id,
name: suiteOrSpec.description, name: suiteOrSpec.description,
type: isSuite ? 'suite' : 'spec', type: isSuite ? 'suite' : 'spec',
children: [] children: []
}; };
   
if (isSuite) { if (isSuite) {
var children = suiteOrSpec.children(); var children = suiteOrSpec.children();
for (var i = 0; i < children.length; i++) { for (var i = 0; i < children.length; i++) {
summary.children.push(this.summarize_(children[i])); summary.children.push(this.summarize_(children[i]));
} }
} }
return summary; return summary;
}; };
   
jasmine.JsApiReporter.prototype.results = function() { jasmine.JsApiReporter.prototype.results = function () {
return this.results_; return this.results_;
}; };
   
jasmine.JsApiReporter.prototype.resultsForSpec = function(specId) { jasmine.JsApiReporter.prototype.resultsForSpec = function (specId) {
return this.results_[specId]; return this.results_[specId];
}; };
   
//noinspection JSUnusedLocalSymbols //noinspection JSUnusedLocalSymbols
jasmine.JsApiReporter.prototype.reportRunnerResults = function(runner) { jasmine.JsApiReporter.prototype.reportRunnerResults = function (runner) {
this.finished = true; this.finished = true;
}; };
   
//noinspection JSUnusedLocalSymbols //noinspection JSUnusedLocalSymbols
jasmine.JsApiReporter.prototype.reportSuiteResults = function(suite) { jasmine.JsApiReporter.prototype.reportSuiteResults = function (suite) {
}; };
   
//noinspection JSUnusedLocalSymbols //noinspection JSUnusedLocalSymbols
jasmine.JsApiReporter.prototype.reportSpecResults = function(spec) { jasmine.JsApiReporter.prototype.reportSpecResults = function (spec) {
this.results_[spec.id] = { this.results_[spec.id] = {
messages: spec.results().getItems(), messages: spec.results().getItems(),
result: spec.results().failedCount > 0 ? "failed" : "passed" result: spec.results().failedCount > 0 ? "failed" : "passed"
}; };
}; };
   
//noinspection JSUnusedLocalSymbols //noinspection JSUnusedLocalSymbols
jasmine.JsApiReporter.prototype.log = function(str) { jasmine.JsApiReporter.prototype.log = function (str) {
}; };
   
jasmine.JsApiReporter.prototype.resultsForSpecs = function(specIds){ jasmine.JsApiReporter.prototype.resultsForSpecs = function (specIds) {
var results = {}; var results = {};
for (var i = 0; i < specIds.length; i++) { for (var i = 0; i < specIds.length; i++) {
var specId = specIds[i]; var specId = specIds[i];
results[specId] = this.summarizeResult_(this.results_[specId]); results[specId] = this.summarizeResult_(this.results_[specId]);
} }
return results; return results;
}; };
   
jasmine.JsApiReporter.prototype.summarizeResult_ = function(result){ jasmine.JsApiReporter.prototype.summarizeResult_ = function (result) {
var summaryMessages = []; var summaryMessages = [];
var messagesLength = result.messages.length; var messagesLength = result.messages.length;
for (var messageIndex = 0; messageIndex < messagesLength; messageIndex++) { for (var messageIndex = 0; messageIndex < messagesLength; messageIndex++) {
var resultMessage = result.messages[messageIndex]; var resultMessage = result.messages[messageIndex];
summaryMessages.push({ summaryMessages.push({
text: resultMessage.type == 'log' ? resultMessage.toString() : jasmine.undefined, text: resultMessage.type == 'log' ? resultMessage.toString() : jasmine.undefined,
passed: resultMessage.passed ? resultMessage.passed() : true, passed: resultMessage.passed ? resultMessage.passed() : true,
type: resultMessage.type, type: resultMessage.type,
message: resultMessage.message, message: resultMessage.message,
trace: { trace: {
stack: resultMessage.passed && !resultMessage.passed() ? resultMessage.trace.stack : jasmine.undefined stack: resultMessage.passed && !resultMessage.passed() ? resultMessage.trace.stack : jasmine.undefined
} }
}); });
} }
   
return { return {
result : result.result, result: result.result,
messages : summaryMessages messages: summaryMessages
}; };
}; };
   
/** /**
* @constructor * @constructor
* @param {jasmine.Env} env * @param {jasmine.Env} env
* @param actual * @param actual
* @param {jasmine.Spec} spec * @param {jasmine.Spec} spec
*/ */
jasmine.Matchers = function(env, actual, spec, opt_isNot) { jasmine.Matchers = function (env, actual, spec, opt_isNot) {
this.env = env; this.env = env;
this.actual = actual; this.actual = actual;
this.spec = spec; this.spec = spec;
this.isNot = opt_isNot || false; this.isNot = opt_isNot || false;
this.reportWasCalled_ = false; this.reportWasCalled_ = false;
}; };
   
// todo: @deprecated as of Jasmine 0.11, remove soon [xw] // todo: @deprecated as of Jasmine 0.11, remove soon [xw]
jasmine.Matchers.pp = function(str) { jasmine.Matchers.pp = function (str) {
throw new Error("jasmine.Matchers.pp() is no longer supported, please use jasmine.pp() instead!"); throw new Error("jasmine.Matchers.pp() is no longer supported, please use jasmine.pp() instead!");
}; };
   
// todo: @deprecated Deprecated as of Jasmine 0.10. Rewrite your custom matchers to return true or false. [xw] // todo: @deprecated Deprecated as of Jasmine 0.10. Rewrite your custom matchers to return true or false. [xw]
jasmine.Matchers.prototype.report = function(result, failing_message, details) { jasmine.Matchers.prototype.report = function (result, failing_message, details) {
throw new Error("As of jasmine 0.11, custom matchers must be implemented differently -- please see jasmine docs"); throw new Error("As of jasmine 0.11, custom matchers must be implemented differently -- please see jasmine docs");
}; };
   
jasmine.Matchers.wrapInto_ = function(prototype, matchersClass) { jasmine.Matchers.wrapInto_ = function (prototype, matchersClass) {
for (var methodName in prototype) { for (var methodName in prototype) {
if (methodName == 'report') continue; if (methodName == 'report') continue;
var orig = prototype[methodName]; var orig = prototype[methodName];
matchersClass.prototype[methodName] = jasmine.Matchers.matcherFn_(methodName, orig); matchersClass.prototype[methodName] = jasmine.Matchers.matcherFn_(methodName, orig);
} }
}; };
   
jasmine.Matchers.matcherFn_ = function(matcherName, matcherFunction) { jasmine.Matchers.matcherFn_ = function (matcherName, matcherFunction) {
return function() { return function () {
var matcherArgs = jasmine.util.argsToArray(arguments); var matcherArgs = jasmine.util.argsToArray(arguments);
var result = matcherFunction.apply(this, arguments); var result = matcherFunction.apply(this, arguments);
   
if (this.isNot) { if (this.isNot) {
result = !result; result = !result;
} }
   
if (this.reportWasCalled_) return result; if (this.reportWasCalled_) return result;
   
var message; var message;
if (!result) { if (!result) {
if (this.message) { if (this.message) {
message = this.message.apply(this, arguments); message = this.message.apply(this, arguments);
if (jasmine.isArray_(message)) { if (jasmine.isArray_(message)) {
message = message[this.isNot ? 1 : 0]; message = message[this.isNot ? 1 : 0];
} }
} else { } else {
var englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); }); var englishyPredicate = matcherName.replace(/[A-Z]/g, function (s) {
message = "Expected " + jasmine.pp(this.actual) + (this.isNot ? " not " : " ") + englishyPredicate; return ' ' + s.toLowerCase();
if (matcherArgs.length > 0) { });
for (var i = 0; i < matcherArgs.length; i++) { message = "Expected " + jasmine.pp(this.actual) + (this.isNot ? " not " : " ") + englishyPredicate;
if (i > 0) message += ","; if (matcherArgs.length > 0) {
message += " " + jasmine.pp(matcherArgs[i]); for (var i = 0; i < matcherArgs.length; i++) {
} if (i > 0) message += ",";
} message += " " + jasmine.pp(matcherArgs[i]);
message += "."; }
} }
} message += ".";
var expectationResult = new jasmine.ExpectationResult({ }
matcherName: matcherName, }
passed: result, var expectationResult = new jasmine.ExpectationResult({
expected: matcherArgs.length > 1 ? matcherArgs : matcherArgs[0], matcherName: matcherName,
actual: this.actual, passed: result,
message: message expected: matcherArgs.length > 1 ? matcherArgs : matcherArgs[0],
}); actual: this.actual,
this.spec.addMatcherResult(expectationResult); message: message
return jasmine.undefined; });
}; this.spec.addMatcherResult(expectationResult);
}; return jasmine.undefined;
  };
  };
   
   
/** /**
* toBe: compares the actual to the expected using === * toBe: compares the actual to the expected using ===
* @param expected * @param expected
*/ */
jasmine.Matchers.prototype.toBe = function(expected) { jasmine.Matchers.prototype.toBe = function (expected) {
return this.actual === expected; return this.actual === expected;
}; };
   
/** /**
* toNotBe: compares the actual to the expected using !== * toNotBe: compares the actual to the expected using !==
* @param expected * @param expected
* @deprecated as of 1.0. Use not.toBe() instead. * @deprecated as of 1.0. Use not.toBe() instead.
*/ */
jasmine.Matchers.prototype.toNotBe = function(expected) { jasmine.Matchers.prototype.toNotBe = function (expected) {
return this.actual !== expected; return this.actual !== expected;
}; };
   
/** /**
* toEqual: compares the actual to the expected using common sense equality. Handles Objects, Arrays, etc. * toEqual: compares the actual to the expected using common sense equality. Handles Objects, Arrays, etc.
* *
* @param expected * @param expected
*/ */
jasmine.Matchers.prototype.toEqual = function(expected) { jasmine.Matchers.prototype.toEqual = function (expected) {
return this.env.equals_(this.actual, expected); return this.env.equals_(this.actual, expected);
}; };
   
/** /**
* toNotEqual: compares the actual to the expected using the ! of jasmine.Matchers.toEqual * toNotEqual: compares the actual to the expected using the ! of jasmine.Matchers.toEqual
* @param expected * @param expected
* @deprecated as of 1.0. Use not.toEqual() instead. * @deprecated as of 1.0. Use not.toEqual() instead.
*/ */
jasmine.Matchers.prototype.toNotEqual = function(expected) { jasmine.Matchers.prototype.toNotEqual = function (expected) {
return !this.env.equals_(this.actual, expected); return !this.env.equals_(this.actual, expected);
}; };
   
/** /**
* Matcher that compares the actual to the expected using a regular expression. Constructs a RegExp, so takes * Matcher that compares the actual to the expected using a regular expression. Constructs a RegExp, so takes
* a pattern or a String. * a pattern or a String.
* *
* @param expected * @param expected
*/ */
jasmine.Matchers.prototype.toMatch = function(expected) { jasmine.Matchers.prototype.toMatch = function (expected) {
return new RegExp(expected).test(this.actual); return new RegExp(expected).test(this.actual);
}; };
   
/** /**
* Matcher that compares the actual to the expected using the boolean inverse of jasmine.Matchers.toMatch * Matcher that compares the actual to the expected using the boolean inverse of jasmine.Matchers.toMatch
* @param expected * @param expected
* @deprecated as of 1.0. Use not.toMatch() instead. * @deprecated as of 1.0. Use not.toMatch() instead.
*/ */
jasmine.Matchers.prototype.toNotMatch = function(expected) { jasmine.Matchers.prototype.toNotMatch = function (expected) {
return !(new RegExp(expected).test(this.actual)); return !(new RegExp(expected).test(this.actual));
}; };
   
/** /**
* Matcher that compares the actual to jasmine.undefined. * Matcher that compares the actual to jasmine.undefined.
*/ */
jasmine.Matchers.prototype.toBeDefined = function() { jasmine.Matchers.prototype.toBeDefined = function () {
return (this.actual !== jasmine.undefined); return (this.actual !== jasmine.undefined);
}; };
   
/** /**
* Matcher that compares the actual to jasmine.undefined. * Matcher that compares the actual to jasmine.undefined.
*/ */
jasmine.Matchers.prototype.toBeUndefined = function() { jasmine.Matchers.prototype.toBeUndefined = function () {
return (this.actual === jasmine.undefined); return (this.actual === jasmine.undefined);
}; };
   
/** /**
* Matcher that compares the actual to null. * Matcher that compares the actual to null.
*/ */
jasmine.Matchers.prototype.toBeNull = function() { jasmine.Matchers.prototype.toBeNull = function () {
return (this.actual === null); return (this.actual === null);
}; };
   
/** /**
* Matcher that boolean not-nots the actual. * Matcher that boolean not-nots the actual.
*/ */
jasmine.Matchers.prototype.toBeTruthy = function() { jasmine.Matchers.prototype.toBeTruthy = function () {
return !!this.actual; return !!this.actual;
}; };
   
   
/** /**
* Matcher that boolean nots the actual. * Matcher that boolean nots the actual.
*/ */
jasmine.Matchers.prototype.toBeFalsy = function() { jasmine.Matchers.prototype.toBeFalsy = function () {
return !this.actual; return !this.actual;
}; };
   
   
/** /**
* Matcher that checks to see if the actual, a Jasmine spy, was called. * Matcher that checks to see if the actual, a Jasmine spy, was called.
*/ */
jasmine.Matchers.prototype.toHaveBeenCalled = function() { jasmine.Matchers.prototype.toHaveBeenCalled = function () {
if (arguments.length > 0) { if (arguments.length > 0) {
throw new Error('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith'); throw new Error('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith');
} }
   
if (!jasmine.isSpy(this.actual)) { if (!jasmine.isSpy(this.actual)) {
throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
} }
   
this.message = function() { this.message = function () {
return [ return [
"Expected spy " + this.actual.identity + " to have been called.", "Expected spy " + this.actual.identity + " to have been called.",
"Expected spy " + this.actual.identity + " not to have been called." "Expected spy " + this.actual.identity + " not to have been called."
]; ];
}; };
   
return this.actual.wasCalled; return this.actual.wasCalled;
}; };
   
/** @deprecated Use expect(xxx).toHaveBeenCalled() instead */ /** @deprecated Use expect(xxx).toHaveBeenCalled() instead */
jasmine.Matchers.prototype.wasCalled = jasmine.Matchers.prototype.toHaveBeenCalled; jasmine.Matchers.prototype.wasCalled = jasmine.Matchers.prototype.toHaveBeenCalled;
   
/** /**
* Matcher that checks to see if the actual, a Jasmine spy, was not called. * Matcher that checks to see if the actual, a Jasmine spy, was not called.
* *
* @deprecated Use expect(xxx).not.toHaveBeenCalled() instead * @deprecated Use expect(xxx).not.toHaveBeenCalled() instead
*/ */
jasmine.Matchers.prototype.wasNotCalled = function() { jasmine.Matchers.prototype.wasNotCalled = function () {
if (arguments.length > 0) { if (arguments.length > 0) {
throw new Error('wasNotCalled does not take arguments'); throw new Error('wasNotCalled does not take arguments');
} }
   
if (!jasmine.isSpy(this.actual)) { if (!jasmine.isSpy(this.actual)) {
throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
} }
   
this.message = function() { this.message = function () {
return [ return [
"Expected spy " + this.actual.identity + " to not have been called.", "Expected spy " + this.actual.identity + " to not have been called.",
"Expected spy " + this.actual.identity + " to have been called." "Expected spy " + this.actual.identity + " to have been called."
]; ];
}; };
   
return !this.actual.wasCalled; return !this.actual.wasCalled;
}; };
   
/** /**
* Matcher that checks to see if the actual, a Jasmine spy, was called with a set of parameters. * Matcher that checks to see if the actual, a Jasmine spy, was called with a set of parameters.
* *
* @example * @example
* *
*/ */
jasmine.Matchers.prototype.toHaveBeenCalledWith = function() { jasmine.Matchers.prototype.toHaveBeenCalledWith = function () {
var expectedArgs = jasmine.util.argsToArray(arguments); var expectedArgs = jasmine.util.argsToArray(arguments);
if (!jasmine.isSpy(this.actual)) { if (!jasmine.isSpy(this.actual)) {
throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
} }
this.message = function() { this.message = function () {
if (this.actual.callCount === 0) { if (this.actual.callCount === 0) {
// todo: what should the failure message for .not.toHaveBeenCalledWith() be? is this right? test better. [xw] // todo: what should the failure message for .not.toHaveBeenCalledWith() be? is this right? test better. [xw]
return [ return [
"Expected spy " + this.actual.identity + " to have been called with " + jasmine.pp(expectedArgs) + " but it was never called.", "Expected spy " + this.actual.identity + " to have been called with " + jasmine.pp(expectedArgs) + " but it was never called.",
"Expected spy " + this.actual.identity + " not to have been called with " + jasmine.pp(expectedArgs) + " but it was." "Expected spy " + this.actual.identity + " not to have been called with " + jasmine.pp(expectedArgs) + " but it was."
]; ];
} else { } else {
return [ return [
"Expected spy " + this.actual.identity + " to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall), "Expected spy " + this.actual.identity + " to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall),
"Expected spy " + this.actual.identity + " not to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall) "Expected spy " + this.actual.identity + " not to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall)
]; ];
} }
}; };
   
return this.env.contains_(this.actual.argsForCall, expectedArgs); return this.env.contains_(this.actual.argsForCall, expectedArgs);
}; };
   
/** @deprecated Use expect(xxx).toHaveBeenCalledWith() instead */ /** @deprecated Use expect(xxx).toHaveBeenCalledWith() instead */
jasmine.Matchers.prototype.wasCalledWith = jasmine.Matchers.prototype.toHaveBeenCalledWith; jasmine.Matchers.prototype.wasCalledWith = jasmine.Matchers.prototype.toHaveBeenCalledWith;
   
/** @deprecated Use expect(xxx).not.toHaveBeenCalledWith() instead */ /** @deprecated Use expect(xxx).not.toHaveBeenCalledWith() instead */
jasmine.Matchers.prototype.wasNotCalledWith = function() { jasmine.Matchers.prototype.wasNotCalledWith = function () {
var expectedArgs = jasmine.util.argsToArray(arguments); var expectedArgs = jasmine.util.argsToArray(arguments);
if (!jasmine.isSpy(this.actual)) { if (!jasmine.isSpy(this.actual)) {
throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
} }
   
this.message = function() { this.message = function () {
return [ return [
"Expected spy not to have been called with " + jasmine.pp(expectedArgs) + " but it was", "Expected spy not to have been called with " + jasmine.pp(expectedArgs) + " but it was",
"Expected spy to have been called with " + jasmine.pp(expectedArgs) + " but it was" "Expected spy to have been called with " + jasmine.pp(expectedArgs) + " but it was"
]; ];
}; };
   
return !this.env.contains_(this.actual.argsForCall, expectedArgs); return !this.env.contains_(this.actual.argsForCall, expectedArgs);
}; };
   
/** /**
* Matcher that checks that the expected item is an element in the actual Array. * Matcher that checks that the expected item is an element in the actual Array.
* *
* @param {Object} expected * @param {Object} expected
*/ */
jasmine.Matchers.prototype.toContain = function(expected) { jasmine.Matchers.prototype.toContain = function (expected) {
return this.env.contains_(this.actual, expected); return this.env.contains_(this.actual, expected);
}; };
   
/** /**
* Matcher that checks that the expected item is NOT an element in the actual Array. * Matcher that checks that the expected item is NOT an element in the actual Array.
* *
* @param {Object} expected * @param {Object} expected
* @deprecated as of 1.0. Use not.toContain() instead. * @deprecated as of 1.0. Use not.toContain() instead.
*/ */
jasmine.Matchers.prototype.toNotContain = function(expected) { jasmine.Matchers.prototype.toNotContain = function (expected) {
return !this.env.contains_(this.actual, expected); return !this.env.contains_(this.actual, expected);
}; };
   
jasmine.Matchers.prototype.toBeLessThan = function(expected) { jasmine.Matchers.prototype.toBeLessThan = function (expected) {
return this.actual < expected; return this.actual < expected;
}; };
   
jasmine.Matchers.prototype.toBeGreaterThan = function(expected) { jasmine.Matchers.prototype.toBeGreaterThan = function (expected) {
return this.actual > expected; return this.actual > expected;
}; };
   
/** /**
* Matcher that checks that the expected item is equal to the actual item * Matcher that checks that the expected item is equal to the actual item
* up to a given level of decimal precision (default 2). * up to a given level of decimal precision (default 2).
* *
* @param {Number} expected * @param {Number} expected
* @param {Number} precision * @param {Number} precision
*/ */
jasmine.Matchers.prototype.toBeCloseTo = function(expected, precision) { jasmine.Matchers.prototype.toBeCloseTo = function (expected, precision) {
if (!(precision === 0)) { if (!(precision === 0)) {
precision = precision || 2; precision = precision || 2;
} }
var multiplier = Math.pow(10, precision); var multiplier = Math.pow(10, precision);
var actual = Math.round(this.actual * multiplier); var actual = Math.round(this.actual * multiplier);
expected = Math.round(expected * multiplier); expected = Math.round(expected * multiplier);
return expected == actual; return expected == actual;
}; };
   
/** /**
* Matcher that checks that the expected exception was thrown by the actual. * Matcher that checks that the expected exception was thrown by the actual.
* *
* @param {String} expected * @param {String} expected
*/ */
jasmine.Matchers.prototype.toThrow = function(expected) { jasmine.Matchers.prototype.toThrow = function (expected) {
var result = false; var result = false;
var exception; var exception;
if (typeof this.actual != 'function') { if (typeof this.actual != 'function') {
throw new Error('Actual is not a function'); throw new Error('Actual is not a function');
} }
try { try {
this.actual(); this.actual();
} catch (e) { } catch (e) {
exception = e; exception = e;
} }
if (exception) { if (exception) {
result = (expected === jasmine.undefined || this.env.equals_(exception.message || exception, expected.message || expected)); result = (expected === jasmine.undefined || this.env.equals_(exception.message || exception, expected.message || expected));
} }
   
var not = this.isNot ? "not " : ""; var not = this.isNot ? "not " : "";
   
this.message = function() { this.message = function () {
if (exception && (expected === jasmine.undefined || !this.env.equals_(exception.message || exception, expected.message || expected))) { if (exception && (expected === jasmine.undefined || !this.env.equals_(exception.message || exception, expected.message || expected))) {
return ["Expected function " + not + "to throw", expected ? expected.message || expected : "an exception", ", but it threw", exception.message || exception].join(' '); return ["Expected function " + not + "to throw", expected ? expected.message || expected : "an exception", ", but it threw", exception.message || exception].join(' ');
} else { } else {
return "Expected function to throw an exception."; return "Expected function to throw an exception.";
} }
}; };
   
return result; return result;
}; };
   
jasmine.Matchers.Any = function(expectedClass) { jasmine.Matchers.Any = function (expectedClass) {
this.expectedClass = expectedClass; this.expectedClass = expectedClass;
}; };
   
jasmine.Matchers.Any.prototype.jasmineMatches = function(other) { jasmine.Matchers.Any.prototype.jasmineMatches = function (other) {
if (this.expectedClass == String) { if (this.expectedClass == String) {
return typeof other == 'string' || other instanceof String; return typeof other == 'string' || other instanceof String;
} }
   
if (this.expectedClass == Number) { if (this.expectedClass == Number) {
return typeof other == 'number' || other instanceof Number; return typeof other == 'number' || other instanceof Number;
} }
   
if (this.expectedClass == Function) { if (this.expectedClass == Function) {
return typeof other == 'function' || other instanceof Function; return typeof other == 'function' || other instanceof Function;
} }
   
if (this.expectedClass == Object) { if (this.expectedClass == Object) {
return typeof other == 'object'; return typeof other == 'object';
} }
   
return other instanceof this.expectedClass; return other instanceof this.expectedClass;
}; };
   
jasmine.Matchers.Any.prototype.jasmineToString = function() { jasmine.Matchers.Any.prototype.jasmineToString = function () {
return '<jasmine.any(' + this.expectedClass + ')>'; return '<jasmine.any(' + this.expectedClass + ')>';
}; };
   
jasmine.Matchers.ObjectContaining = function (sample) { jasmine.Matchers.ObjectContaining = function (sample) {
this.sample = sample; this.sample = sample;
}; };
   
jasmine.Matchers.ObjectContaining.prototype.jasmineMatches = function(other, mismatchKeys, mismatchValues) { jasmine.Matchers.ObjectContaining.prototype.jasmineMatches = function (other, mismatchKeys, mismatchValues) {
mismatchKeys = mismatchKeys || []; mismatchKeys = mismatchKeys || [];
mismatchValues = mismatchValues || []; mismatchValues = mismatchValues || [];
   
var env = jasmine.getEnv(); var env = jasmine.getEnv();
   
var hasKey = function(obj, keyName) { var hasKey = function (obj, keyName) {
return obj != null && obj[keyName] !== jasmine.undefined; return obj != null && obj[keyName] !== jasmine.undefined;
}; };
   
for (var property in this.sample) { for (var property in this.sample) {
if (!hasKey(other, property) && hasKey(this.sample, property)) { if (!hasKey(other, property) && hasKey(this.sample, property)) {
mismatchKeys.push("expected has key '" + property + "', but missing from actual."); mismatchKeys.push("expected has key '" + property + "', but missing from actual.");
} }
else if (!env.equals_(this.sample[property], other[property], mismatchKeys, mismatchValues)) { else if (!env.equals_(this.sample[property], other[property], mismatchKeys, mismatchValues)) {
mismatchValues.push("'" + property + "' was '" + (other[property] ? jasmine.util.htmlEscape(other[property].toString()) : other[property]) + "' in expected, but was '" + (this.sample[property] ? jasmine.util.htmlEscape(this.sample[property].toString()) : this.sample[property]) + "' in actual."); mismatchValues.push("'" + property + "' was '" + (other[property] ? jasmine.util.htmlEscape(other[property].toString()) : other[property]) + "' in expected, but was '" + (this.sample[property] ? jasmine.util.htmlEscape(this.sample[property].toString()) : this.sample[property]) + "' in actual.");
} }
} }
   
return (mismatchKeys.length === 0 && mismatchValues.length === 0); return (mismatchKeys.length === 0 && mismatchValues.length === 0);
}; };
   
jasmine.Matchers.ObjectContaining.prototype.jasmineToString = function () { jasmine.Matchers.ObjectContaining.prototype.jasmineToString = function () {
return "<jasmine.objectContaining(" + jasmine.pp(this.sample) + ")>"; return "<jasmine.objectContaining(" + jasmine.pp(this.sample) + ")>";
}; };
// Mock setTimeout, clearTimeout // Mock setTimeout, clearTimeout
// Contributed by Pivotal Computer Systems, www.pivotalsf.com // Contributed by Pivotal Computer Systems, www.pivotalsf.com
   
jasmine.FakeTimer = function() { jasmine.FakeTimer = function () {
this.reset(); this.reset();
   
var self = this; var self = this;
self.setTimeout = function(funcToCall, millis) { self.setTimeout = function (funcToCall, millis) {
self.timeoutsMade++; self.timeoutsMade++;
self.scheduleFunction(self.timeoutsMade, funcToCall, millis, false); self.scheduleFunction(self.timeoutsMade, funcToCall, millis, false);
return self.timeoutsMade; return self.timeoutsMade;
}; };
   
self.setInterval = function(funcToCall, millis) { self.setInterval = function (funcToCall, millis) {
self.timeoutsMade++; self.timeoutsMade++;
self.scheduleFunction(self.timeoutsMade, funcToCall, millis, true); self.scheduleFunction(self.timeoutsMade, funcToCall, millis, true);
return self.timeoutsMade; return self.timeoutsMade;
}; };
   
self.clearTimeout = function(timeoutKey) { self.clearTimeout = function (timeoutKey) {
self.scheduledFunctions[timeoutKey] = jasmine.undefined; self.scheduledFunctions[timeoutKey] = jasmine.undefined;
}; };
   
self.clearInterval = function(timeoutKey) { self.clearInterval = function (timeoutKey) {
self.scheduledFunctions[timeoutKey] = jasmine.undefined; self.scheduledFunctions[timeoutKey] = jasmine.undefined;
}; };
   
}; };
   
jasmine.FakeTimer.prototype.reset = function() { jasmine.FakeTimer.prototype.reset = function () {
this.timeoutsMade = 0; this.timeoutsMade = 0;
this.scheduledFunctions = {}; this.scheduledFunctions = {};
this.nowMillis = 0; this.nowMillis = 0;
}; };
   
jasmine.FakeTimer.prototype.tick = function(millis) { jasmine.FakeTimer.prototype.tick = function (millis) {
var oldMillis = this.nowMillis; var oldMillis = this.nowMillis;
var newMillis = oldMillis + millis; var newMillis = oldMillis + millis;
this.runFunctionsWithinRange(oldMillis, newMillis); this.runFunctionsWithinRange(oldMillis, newMillis);
this.nowMillis = newMillis; this.nowMillis = newMillis;
}; };
   
jasmine.FakeTimer.prototype.runFunctionsWithinRange = function(oldMillis, nowMillis) { jasmine.FakeTimer.prototype.runFunctionsWithinRange = function (oldMillis, nowMillis) {
var scheduledFunc; var scheduledFunc;
var funcsToRun = []; var funcsToRun = [];
for (var timeoutKey in this.scheduledFunctions) { for (var timeoutKey in this.scheduledFunctions) {
scheduledFunc = this.scheduledFunctions[timeoutKey]; scheduledFunc = this.scheduledFunctions[timeoutKey];
if (scheduledFunc != jasmine.undefined && if (scheduledFunc != jasmine.undefined &&
scheduledFunc.runAtMillis >= oldMillis && scheduledFunc.runAtMillis >= oldMillis &&
scheduledFunc.runAtMillis <= nowMillis) { scheduledFunc.runAtMillis <= nowMillis) {
funcsToRun.push(scheduledFunc); funcsToRun.push(scheduledFunc);
this.scheduledFunctions[timeoutKey] = jasmine.undefined; this.scheduledFunctions[timeoutKey] = jasmine.undefined;
} }
} }
   
if (funcsToRun.length > 0) { if (funcsToRun.length > 0) {
funcsToRun.sort(function(a, b) { funcsToRun.sort(function (a, b) {
return a.runAtMillis - b.runAtMillis; return a.runAtMillis - b.runAtMillis;
}); });
for (var i = 0; i < funcsToRun.length; ++i) { for (var i = 0; i < funcsToRun.length; ++i) {
try { try {
var funcToRun = funcsToRun[i]; var funcToRun = funcsToRun[i];
this.nowMillis = funcToRun.runAtMillis; this.nowMillis = funcToRun.runAtMillis;
funcToRun.funcToCall(); funcToRun.funcToCall();
if (funcToRun.recurring) { if (funcToRun.recurring) {
this.scheduleFunction(funcToRun.timeoutKey, this.scheduleFunction(funcToRun.timeoutKey,
funcToRun.funcToCall, funcToRun.funcToCall,
funcToRun.millis, funcToRun.millis,
true); true);
} }
} catch(e) { } catch (e) {
} }
} }
this.runFunctionsWithinRange(oldMillis, nowMillis); this.runFunctionsWithinRange(oldMillis, nowMillis);
} }
}; };
   
jasmine.FakeTimer.prototype.scheduleFunction = function(timeoutKey, funcToCall, millis, recurring) { jasmine.FakeTimer.prototype.scheduleFunction = function (timeoutKey, funcToCall, millis, recurring) {
this.scheduledFunctions[timeoutKey] = { this.scheduledFunctions[timeoutKey] = {
runAtMillis: this.nowMillis + millis, runAtMillis: this.nowMillis + millis,
funcToCall: funcToCall, funcToCall: funcToCall,
recurring: recurring, recurring: recurring,
timeoutKey: timeoutKey, timeoutKey: timeoutKey,
millis: millis millis: millis
}; };
}; };
   
/** /**
* @namespace * @namespace
*/ */
jasmine.Clock = { jasmine.Clock = {
defaultFakeTimer: new jasmine.FakeTimer(), defaultFakeTimer: new jasmine.FakeTimer(),
   
reset: function() { reset: function () {
jasmine.Clock.assertInstalled(); jasmine.Clock.assertInstalled();
jasmine.Clock.defaultFakeTimer.reset(); jasmine.Clock.defaultFakeTimer.reset();
}, },
   
tick: function(millis) { tick: function (millis) {
jasmine.Clock.assertInstalled(); jasmine.Clock.assertInstalled();
jasmine.Clock.defaultFakeTimer.tick(millis); jasmine.Clock.defaultFakeTimer.tick(millis);
}, },
   
runFunctionsWithinRange: function(oldMillis, nowMillis) { runFunctionsWithinRange: function (oldMillis, nowMillis) {
jasmine.Clock.defaultFakeTimer.runFunctionsWithinRange(oldMillis, nowMillis); jasmine.Clock.defaultFakeTimer.runFunctionsWithinRange(oldMillis, nowMillis);
}, },
   
scheduleFunction: function(timeoutKey, funcToCall, millis, recurring) { scheduleFunction: function (timeoutKey, funcToCall, millis, recurring) {
jasmine.Clock.defaultFakeTimer.scheduleFunction(timeoutKey, funcToCall, millis, recurring); jasmine.Clock.defaultFakeTimer.scheduleFunction(timeoutKey, funcToCall, millis, recurring);
}, },
   
useMock: function() { useMock: function () {
if (!jasmine.Clock.isInstalled()) { if (!jasmine.Clock.isInstalled()) {
var spec = jasmine.getEnv().currentSpec; var spec = jasmine.getEnv().currentSpec;
spec.after(jasmine.Clock.uninstallMock); spec.after(jasmine.Clock.uninstallMock);
   
jasmine.Clock.installMock(); jasmine.Clock.installMock();
} }
}, },
   
installMock: function() { installMock: function () {
jasmine.Clock.installed = jasmine.Clock.defaultFakeTimer; jasmine.Clock.installed = jasmine.Clock.defaultFakeTimer;
}, },
   
uninstallMock: function() { uninstallMock: function () {
jasmine.Clock.assertInstalled(); jasmine.Clock.assertInstalled();
jasmine.Clock.installed = jasmine.Clock.real; jasmine.Clock.installed = jasmine.Clock.real;
}, },
   
real: { real: {
setTimeout: jasmine.getGlobal().setTimeout, setTimeout: jasmine.getGlobal().setTimeout,
clearTimeout: jasmine.getGlobal().clearTimeout, clearTimeout: jasmine.getGlobal().clearTimeout,
setInterval: jasmine.getGlobal().setInterval, setInterval: jasmine.getGlobal().setInterval,
clearInterval: jasmine.getGlobal().clearInterval clearInterval: jasmine.getGlobal().clearInterval
}, },
   
assertInstalled: function() { assertInstalled: function () {
if (!jasmine.Clock.isInstalled()) { if (!jasmine.Clock.isInstalled()) {
throw new Error("Mock clock is not installed, use jasmine.Clock.useMock()"); throw new Error("Mock clock is not installed, use jasmine.Clock.useMock()");
} }
}, },
   
isInstalled: function() { isInstalled: function () {
return jasmine.Clock.installed == jasmine.Clock.defaultFakeTimer; return jasmine.Clock.installed == jasmine.Clock.defaultFakeTimer;
}, },
   
installed: null installed: null
}; };
jasmine.Clock.installed = jasmine.Clock.real; jasmine.Clock.installed = jasmine.Clock.real;
   
//else for IE support //else for IE support
jasmine.getGlobal().setTimeout = function(funcToCall, millis) { jasmine.getGlobal().setTimeout = function (funcToCall, millis) {
if (jasmine.Clock.installed.setTimeout.apply) { if (jasmine.Clock.installed.setTimeout.apply) {
return jasmine.Clock.installed.setTimeout.apply(this, arguments); return jasmine.Clock.installed.setTimeout.apply(this, arguments);
} else { } else {
return jasmine.Clock.installed.setTimeout(funcToCall, millis); return jasmine.Clock.installed.setTimeout(funcToCall, millis);
} }
}; };
   
jasmine.getGlobal().setInterval = function(funcToCall, millis) { jasmine.getGlobal().setInterval = function (funcToCall, millis) {
if (jasmine.Clock.installed.setInterval.apply) { if (jasmine.Clock.installed.setInterval.apply) {
return jasmine.Clock.installed.setInterval.apply(this, arguments); return jasmine.Clock.installed.setInterval.apply(this, arguments);
} else { } else {
return jasmine.Clock.installed.setInterval(funcToCall, millis); return jasmine.Clock.installed.setInterval(funcToCall, millis);
} }
}; };
   
jasmine.getGlobal().clearTimeout = function(timeoutKey) { jasmine.getGlobal().clearTimeout = function (timeoutKey) {
if (jasmine.Clock.installed.clearTimeout.apply) { if (jasmine.Clock.installed.clearTimeout.apply) {
return jasmine.Clock.installed.clearTimeout.apply(this, arguments); return jasmine.Clock.installed.clearTimeout.apply(this, arguments);
} else { } else {
return jasmine.Clock.installed.clearTimeout(timeoutKey); return jasmine.Clock.installed.clearTimeout(timeoutKey);
} }
}; };
   
jasmine.getGlobal().clearInterval = function(timeoutKey) { jasmine.getGlobal().clearInterval = function (timeoutKey) {
if (jasmine.Clock.installed.clearTimeout.apply) { if (jasmine.Clock.installed.clearTimeout.apply) {
return jasmine.Clock.installed.clearInterval.apply(this, arguments); return jasmine.Clock.installed.clearInterval.apply(this, arguments);
} else { } else {
return jasmine.Clock.installed.clearInterval(timeoutKey); return jasmine.Clock.installed.clearInterval(timeoutKey);
} }
}; };
   
/** /**
* @constructor * @constructor
*/ */
jasmine.MultiReporter = function() { jasmine.MultiReporter = function () {
this.subReporters_ = []; this.subReporters_ = [];
}; };
jasmine.util.inherit(jasmine.MultiReporter, jasmine.Reporter); jasmine.util.inherit(jasmine.MultiReporter, jasmine.Reporter);
   
jasmine.MultiReporter.prototype.addReporter = function(reporter) { jasmine.MultiReporter.prototype.addReporter = function (reporter) {
this.subReporters_.push(reporter); this.subReporters_.push(reporter);
}; };
   
(function() { (function () {
var functionNames = [ var functionNames = [
"reportRunnerStarting", "reportRunnerStarting",
"reportRunnerResults", "reportRunnerResults",
"reportSuiteResults", "reportSuiteResults",
"reportSpecStarting", "reportSpecStarting",
"reportSpecResults", "reportSpecResults",
"log" "log"
]; ];
for (var i = 0; i < functionNames.length; i++) { for (var i = 0; i < functionNames.length; i++) {
var functionName = functionNames[i]; var functionName = functionNames[i];
jasmine.MultiReporter.prototype[functionName] = (function(functionName) { jasmine.MultiReporter.prototype[functionName] = (function (functionName) {
return function() { return function () {
for (var j = 0; j < this.subReporters_.length; j++) { for (var j = 0; j < this.subReporters_.length; j++) {
var subReporter = this.subReporters_[j]; var subReporter = this.subReporters_[j];
if (subReporter[functionName]) { if (subReporter[functionName]) {
subReporter[functionName].apply(subReporter, arguments); subReporter[functionName].apply(subReporter, arguments);
} }
} }
}; };
})(functionName); })(functionName);
} }
})(); })();
/** /**
* Holds results for a set of Jasmine spec. Allows for the results array to hold another jasmine.NestedResults * Holds results for a set of Jasmine spec. Allows for the results array to hold another jasmine.NestedResults
* *
* @constructor * @constructor
*/ */
jasmine.NestedResults = function() { jasmine.NestedResults = function () {
/** /**
* The total count of results * The total count of results
*/ */
this.totalCount = 0; this.totalCount = 0;
/** /**
* Number of passed results * Number of passed results
*/ */
this.passedCount = 0; this.passedCount = 0;
/** /**
* Number of failed results * Number of failed results
*/ */
this.failedCount = 0; this.failedCount = 0;
/** /**
* Was this suite/spec skipped? * Was this suite/spec skipped?
*/ */
this.skipped = false; this.skipped = false;
/** /**
* @ignore * @ignore
*/ */
this.items_ = []; this.items_ = [];
}; };
   
/** /**
* Roll up the result counts. * Roll up the result counts.
* *
* @param result * @param result
*/ */
jasmine.NestedResults.prototype.rollupCounts = function(result) { jasmine.NestedResults.prototype.rollupCounts = function (result) {
this.totalCount += result.totalCount; this.totalCount += result.totalCount;
this.passedCount += result.passedCount; this.passedCount += result.passedCount;
this.failedCount += result.failedCount; this.failedCount += result.failedCount;
}; };
   
/** /**
* Adds a log message. * Adds a log message.
* @param values Array of message parts which will be concatenated later. * @param values Array of message parts which will be concatenated later.
*/ */
jasmine.NestedResults.prototype.log = function(values) { jasmine.NestedResults.prototype.log = function (values) {
this.items_.push(new jasmine.MessageResult(values)); this.items_.push(new jasmine.MessageResult(values));
}; };
   
/** /**
* Getter for the results: message & results. * Getter for the results: message & results.
*/ */
jasmine.NestedResults.prototype.getItems = function() { jasmine.NestedResults.prototype.getItems = function () {
return this.items_; return this.items_;
}; };
   
/** /**
* Adds a result, tracking counts (total, passed, & failed) * Adds a result, tracking counts (total, passed, & failed)
* @param {jasmine.ExpectationResult|jasmine.NestedResults} result * @param {jasmine.ExpectationResult|jasmine.NestedResults} result
*/ */
jasmine.NestedResults.prototype.addResult = function(result) { jasmine.NestedResults.prototype.addResult = function (result) {
if (result.type != 'log') { if (result.type != 'log') {
if (result.items_) { if (result.items_) {
this.rollupCounts(result); this.rollupCounts(result);
} else { } else {
this.totalCount++; this.totalCount++;
if (result.passed()) { if (result.passed()) {
this.passedCount++; this.passedCount++;
} else { } else {
this.failedCount++; this.failedCount++;
} }
} }
} }
this.items_.push(result); this.items_.push(result);
}; };
   
/** /**
* @returns {Boolean} True if <b>everything</b> below passed * @returns {Boolean} True if <b>everything</b> below passed
*/ */
jasmine.NestedResults.prototype.passed = function() { jasmine.NestedResults.prototype.passed = function () {
return this.passedCount === this.totalCount; return this.passedCount === this.totalCount;
}; };
/** /**
* Base class for pretty printing for expectation results. * Base class for pretty printing for expectation results.
*/ */
jasmine.PrettyPrinter = function() { jasmine.PrettyPrinter = function () {
this.ppNestLevel_ = 0; this.ppNestLevel_ = 0;
}; };
   
/** /**
* Formats a value in a nice, human-readable string. * Formats a value in a nice, human-readable string.
* *
* @param value * @param value
*/ */
jasmine.PrettyPrinter.prototype.format = function(value) { jasmine.PrettyPrinter.prototype.format = function (value) {
if (this.ppNestLevel_ > 40) { if (this.ppNestLevel_ > 40) {
throw new Error('jasmine.PrettyPrinter: format() nested too deeply!'); throw new Error('jasmine.PrettyPrinter: format() nested too deeply!');
} }
   
this.ppNestLevel_++; this.ppNestLevel_++;
try { try {
if (value === jasmine.undefined) { if (value === jasmine.undefined) {
this.emitScalar('undefined'); this.emitScalar('undefined');
} else if (value === null) { } else if (value === null) {
this.emitScalar('null'); this.emitScalar('null');
} else if (value === jasmine.getGlobal()) { } else if (value === jasmine.getGlobal()) {
this.emitScalar('<global>'); this.emitScalar('<global>');
} else if (value.jasmineToString) { } else if (value.jasmineToString) {
this.emitScalar(value.jasmineToString()); this.emitScalar(value.jasmineToString());
} else if (typeof value === 'string') { } else if (typeof value === 'string') {
this.emitString(value); this.emitString(value);
} else if (jasmine.isSpy(value)) { } else if (jasmine.isSpy(value)) {
this.emitScalar("spy on " + value.identity); this.emitScalar("spy on " + value.identity);
} else if (value instanceof RegExp) { } else if (value instanceof RegExp) {
this.emitScalar(value.toString()); this.emitScalar(value.toString());
} else if (typeof value === 'function') { } else if (typeof value === 'function') {
this.emitScalar('Function'); this.emitScalar('Function');
} else if (typeof value.nodeType === 'number') { } else if (typeof value.nodeType === 'number') {
this.emitScalar('HTMLNode'); this.emitScalar('HTMLNode');
} else if (value instanceof Date) { } else if (value instanceof Date) {
this.emitScalar('Date(' + value + ')'); this.emitScalar('Date(' + value + ')');
} else if (value.__Jasmine_been_here_before__) { } else if (value.__Jasmine_been_here_before__) {
this.emitScalar('<circular reference: ' + (jasmine.isArray_(value) ? 'Array' : 'Object') + '>'); this.emitScalar('<circular reference: ' + (jasmine.isArray_(value) ? 'Array' : 'Object') + '>');
} else if (jasmine.isArray_(value) || typeof value == 'object') { } else if (jasmine.isArray_(value) || typeof value == 'object') {
value.__Jasmine_been_here_before__ = true; value.__Jasmine_been_here_before__ = true;
if (jasmine.isArray_(value)) { if (jasmine.isArray_(value)) {
this.emitArray(value); this.emitArray(value);
} else { } else {
this.emitObject(value); this.emitObject(value);
} }
delete value.__Jasmine_been_here_before__; delete value.__Jasmine_been_here_before__;
} else { } else {
this.emitScalar(value.toString()); this.emitScalar(value.toString());
} }
} finally { } finally {
this.ppNestLevel_--; this.ppNestLevel_--;
} }
}; };
   
jasmine.PrettyPrinter.prototype.iterateObject = function(obj, fn) { jasmine.PrettyPrinter.prototype.iterateObject = function (obj, fn) {
for (var property in obj) { for (var property in obj) {
if (property == '__Jasmine_been_here_before__') continue; if (property == '__Jasmine_been_here_before__') continue;
fn(property, obj.__lookupGetter__ ? (obj.__lookupGetter__(property) !== jasmine.undefined && fn(property, obj.__lookupGetter__ ? (obj.__lookupGetter__(property) !== jasmine.undefined &&
obj.__lookupGetter__(property) !== null) : false); obj.__lookupGetter__(property) !== null) : false);
} }
}; };
   
jasmine.PrettyPrinter.prototype.emitArray = jasmine.unimplementedMethod_; jasmine.PrettyPrinter.prototype.emitArray = jasmine.unimplementedMethod_;
jasmine.PrettyPrinter.prototype.emitObject = jasmine.unimplementedMethod_; jasmine.PrettyPrinter.prototype.emitObject = jasmine.unimplementedMethod_;
jasmine.PrettyPrinter.prototype.emitScalar = jasmine.unimplementedMethod_; jasmine.PrettyPrinter.prototype.emitScalar = jasmine.unimplementedMethod_;
jasmine.PrettyPrinter.prototype.emitString = jasmine.unimplementedMethod_; jasmine.PrettyPrinter.prototype.emitString = jasmine.unimplementedMethod_;
   
jasmine.StringPrettyPrinter = function() { jasmine.StringPrettyPrinter = function () {
jasmine.PrettyPrinter.call(this); jasmine.PrettyPrinter.call(this);
   
this.string = ''; this.string = '';
}; };
jasmine.util.inherit(jasmine.StringPrettyPrinter, jasmine.PrettyPrinter); jasmine.util.inherit(jasmine.StringPrettyPrinter, jasmine.PrettyPrinter);
   
jasmine.StringPrettyPrinter.prototype.emitScalar = function(value) { jasmine.StringPrettyPrinter.prototype.emitScalar = function (value) {
this.append(value); this.append(value);
}; };
   
jasmine.StringPrettyPrinter.prototype.emitString = function(value) { jasmine.StringPrettyPrinter.prototype.emitString = function (value) {
this.append("'" + value + "'"); this.append("'" + value + "'");
}; };
   
jasmine.StringPrettyPrinter.prototype.emitArray = function(array) { jasmine.StringPrettyPrinter.prototype.emitArray = function (array) {
this.append('[ '); this.append('[ ');
for (var i = 0; i < array.length; i++) { for (var i = 0; i < array.length; i++) {
if (i > 0) { if (i > 0) {
this.append(', '); this.append(', ');
} }
this.format(array[i]); this.format(array[i]);
} }
this.append(' ]'); this.append(' ]');
}; };
   
jasmine.StringPrettyPrinter.prototype.emitObject = function(obj) { jasmine.StringPrettyPrinter.prototype.emitObject = function (obj) {
var self = this; var self = this;
this.append('{ '); this.append('{ ');
var first = true; var first = true;
   
this.iterateObject(obj, function(property, isGetter) { this.iterateObject(obj, function (property, isGetter) {
if (first) { if (first) {
first = false; first = false;
} else { } else {
self.append(', '); self.append(', ');
} }
   
self.append(property); self.append(property);
self.append(' : '); self.append(' : ');
if (isGetter) { if (isGetter) {
self.append('<getter>'); self.append('<getter>');
} else { } else {
self.format(obj[property]); self.format(obj[property]);
} }
}); });
   
this.append(' }'); this.append(' }');
}; };
   
jasmine.StringPrettyPrinter.prototype.append = function(value) { jasmine.StringPrettyPrinter.prototype.append = function (value) {
this.string += value; this.string += value;
}; };
jasmine.Queue = function(env) { jasmine.Queue = function (env) {
this.env = env; this.env = env;
this.blocks = []; this.blocks = [];
this.running = false; this.running = false;
this.index = 0; this.index = 0;
this.offset = 0; this.offset = 0;
this.abort = false; this.abort = false;
}; };
   
jasmine.Queue.prototype.addBefore = function(block) { jasmine.Queue.prototype.addBefore = function (block) {
this.blocks.unshift(block); this.blocks.unshift(block);
}; };
   
jasmine.Queue.prototype.add = function(block) { jasmine.Queue.prototype.add = function (block) {
this.blocks.push(block); this.blocks.push(block);
}; };
   
jasmine.Queue.prototype.insertNext = function(block) { jasmine.Queue.prototype.insertNext = function (block) {
this.blocks.splice((this.index + this.offset + 1), 0, block); this.blocks.splice((this.index + this.offset + 1), 0, block);
this.offset++; this.offset++;
}; };
   
jasmine.Queue.prototype.start = function(onComplete) { jasmine.Queue.prototype.start = function (onComplete) {
this.running = true; this.running = true;
this.onComplete = onComplete; this.onComplete = onComplete;
this.next_(); this.next_();
}; };
   
jasmine.Queue.prototype.isRunning = function() { jasmine.Queue.prototype.isRunning = function () {
return this.running; return this.running;
}; };
   
jasmine.Queue.LOOP_DONT_RECURSE = true; jasmine.Queue.LOOP_DONT_RECURSE = true;
   
jasmine.Queue.prototype.next_ = function() { jasmine.Queue.prototype.next_ = function () {
var self = this; var self = this;
var goAgain = true; var goAgain = true;
   
while (goAgain) { while (goAgain) {
goAgain = false; goAgain = false;
   
if (self.index < self.blocks.length && !this.abort) { if (self.index < self.blocks.length && !this.abort) {
var calledSynchronously = true; var calledSynchronously = true;
var completedSynchronously = false; var completedSynchronously = false;
   
var onComplete = function () { var onComplete = function () {
if (jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously) { if (jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously) {
completedSynchronously = true; completedSynchronously = true;
return; return;
} }
   
if (self.blocks[self.index].abort) { if (self.blocks[self.index].abort) {
self.abort = true; self.abort = true;
} }
   
self.offset = 0; self.offset = 0;
self.index++; self.index++;
   
var now = new Date().getTime(); var now = new Date().getTime();
if (self.env.updateInterval && now - self.env.lastUpdate > self.env.updateInterval) { if (self.env.updateInterval && now - self.env.lastUpdate > self.env.updateInterval) {
self.env.lastUpdate = now; self.env.lastUpdate = now;
self.env.setTimeout(function() { self.env.setTimeout(function () {
self.next_(); self.next_();
}, 0); }, 0);
  } else {
  if (jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {
  goAgain = true;
  } else {
  self.next_();
  }
  }
  };
  self.blocks[self.index].execute(onComplete);
   
  calledSynchronously = false;
  if (completedSynchronously) {
  onComplete();
  }
   
} else { } else {
if (jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) { self.running = false;
goAgain = true; if (self.onComplete) {
} else { self.onComplete();
self.next_(); }
} }
} }
}; };
self.blocks[self.index].execute(onComplete);  
  jasmine.Queue.prototype.results = function () {
calledSynchronously = false; var results = new jasmine.NestedResults();
if (completedSynchronously) { for (var i = 0; i < this.blocks.length; i++) {
onComplete(); if (this.blocks[i].results) {
} results.addResult(this.blocks[i].results());
  }
} else { }
self.running = false; return results;
if (self.onComplete) {  
self.onComplete();  
}  
}  
}  
};  
   
jasmine.Queue.prototype.results = function() {  
var results = new jasmine.NestedResults();  
for (var i = 0; i < this.blocks.length; i++) {  
if (this.blocks[i].results) {  
results.addResult(this.blocks[i].results());  
}  
}  
return results;  
}; };
   
   
/** /**
* Runner * Runner
* *
* @constructor * @constructor
* @param {jasmine.Env} env * @param {jasmine.Env} env
*/ */
jasmine.Runner = function(env) { jasmine.Runner = function (env) {
var self = this; var self = this;
self.env = env; self.env = env;
self.queue = new jasmine.Queue(env); self.queue = new jasmine.Queue(env);
self.before_ = []; self.before_ = [];
self.after_ = []; self.after_ = [];
self.suites_ = []; self.suites_ = [];
}; };
   
jasmine.Runner.prototype.execute = function() { jasmine.Runner.prototype.execute = function () {
var self = this; var self = this;
if (self.env.reporter.reportRunnerStarting) { if (self.env.reporter.reportRunnerStarting) {
self.env.reporter.reportRunnerStarting(this); self.env.reporter.reportRunnerStarting(this);
} }
self.queue.start(function () { self.queue.start(function () {
self.finishCallback(); self.finishCallback();
}); });
}; };
   
jasmine.Runner.prototype.beforeEach = function(beforeEachFunction) { jasmine.Runner.prototype.beforeEach = function (beforeEachFunction) {
beforeEachFunction.typeName = 'beforeEach'; beforeEachFunction.typeName = 'beforeEach';
this.before_.splice(0,0,beforeEachFunction); this.before_.splice(0, 0, beforeEachFunction);
}; };
   
jasmine.Runner.prototype.afterEach = function(afterEachFunction) { jasmine.Runner.prototype.afterEach = function (afterEachFunction) {
afterEachFunction.typeName = 'afterEach'; afterEachFunction.typeName = 'afterEach';
this.after_.splice(0,0,afterEachFunction); this.after_.splice(0, 0, afterEachFunction);
}; };
   
   
jasmine.Runner.prototype.finishCallback = function() { jasmine.Runner.prototype.finishCallback = function () {
this.env.reporter.reportRunnerResults(this); this.env.reporter.reportRunnerResults(this);
}; };
   
jasmine.Runner.prototype.addSuite = function(suite) { jasmine.Runner.prototype.addSuite = function (suite) {
this.suites_.push(suite); this.suites_.push(suite);
}; };
   
jasmine.Runner.prototype.add = function(block) { jasmine.Runner.prototype.add = function (block) {
if (block instanceof jasmine.Suite) { if (block instanceof jasmine.Suite) {
this.addSuite(block); this.addSuite(block);
} }
this.queue.add(block); this.queue.add(block);
}; };
   
jasmine.Runner.prototype.specs = function () { jasmine.Runner.prototype.specs = function () {
var suites = this.suites(); var suites = this.suites();
var specs = []; var specs = [];
for (var i = 0; i < suites.length; i++) { for (var i = 0; i < suites.length; i++) {
specs = specs.concat(suites[i].specs()); specs = specs.concat(suites[i].specs());
} }
return specs; return specs;
}; };
   
jasmine.Runner.prototype.suites = function() { jasmine.Runner.prototype.suites = function () {
return this.suites_; return this.suites_;
}; };
   
jasmine.Runner.prototype.topLevelSuites = function() { jasmine.Runner.prototype.topLevelSuites = function () {
var topLevelSuites = []; var topLevelSuites = [];
for (var i = 0; i < this.suites_.length; i++) { for (var i = 0; i < this.suites_.length; i++) {
if (!this.suites_[i].parentSuite) { if (!this.suites_[i].parentSuite) {
topLevelSuites.push(this.suites_[i]); topLevelSuites.push(this.suites_[i]);
} }
} }
return topLevelSuites; return topLevelSuites;
}; };
   
jasmine.Runner.prototype.results = function() { jasmine.Runner.prototype.results = function () {
return this.queue.results(); return this.queue.results();
}; };
/** /**
* Internal representation of a Jasmine specification, or test. * Internal representation of a Jasmine specification, or test.
* *
* @constructor * @constructor
* @param {jasmine.Env} env * @param {jasmine.Env} env
* @param {jasmine.Suite} suite * @param {jasmine.Suite} suite
* @param {String} description * @param {String} description
*/ */
jasmine.Spec = function(env, suite, description) { jasmine.Spec = function (env, suite, description) {
if (!env) { if (!env) {
throw new Error('jasmine.Env() required'); throw new Error('jasmine.Env() required');
} }
if (!suite) { if (!suite) {
throw new Error('jasmine.Suite() required'); throw new Error('jasmine.Suite() required');
} }
var spec = this; var spec = this;
spec.id = env.nextSpecId ? env.nextSpecId() : null; spec.id = env.nextSpecId ? env.nextSpecId() : null;
spec.env = env; spec.env = env;
spec.suite = suite; spec.suite = suite;
spec.description = description; spec.description = description;
spec.queue = new jasmine.Queue(env); spec.queue = new jasmine.Queue(env);
   
spec.afterCallbacks = []; spec.afterCallbacks = [];
spec.spies_ = []; spec.spies_ = [];
   
spec.results_ = new jasmine.NestedResults(); spec.results_ = new jasmine.NestedResults();
spec.results_.description = description; spec.results_.description = description;
spec.matchersClass = null; spec.matchersClass = null;
}; };
   
jasmine.Spec.prototype.getFullName = function() { jasmine.Spec.prototype.getFullName = function () {
return this.suite.getFullName() + ' ' + this.description + '.'; return this.suite.getFullName() + ' ' + this.description + '.';
}; };
   
   
jasmine.Spec.prototype.results = function() { jasmine.Spec.prototype.results = function () {
return this.results_; return this.results_;
}; };
   
/** /**
* All parameters are pretty-printed and concatenated together, then written to the spec's output. * All parameters are pretty-printed and concatenated together, then written to the spec's output.
* *
* Be careful not to leave calls to <code>jasmine.log</code> in production code. * Be careful not to leave calls to <code>jasmine.log</code> in production code.
*/ */
jasmine.Spec.prototype.log = function() { jasmine.Spec.prototype.log = function () {
return this.results_.log(arguments); return this.results_.log(arguments);
}; };
   
jasmine.Spec.prototype.runs = function (func) { jasmine.Spec.prototype.runs = function (func) {
var block = new jasmine.Block(this.env, func, this); var block = new jasmine.Block(this.env, func, this);
this.addToQueue(block); this.addToQueue(block);
return this; return this;
}; };
   
jasmine.Spec.prototype.addToQueue = function (block) { jasmine.Spec.prototype.addToQueue = function (block) {
if (this.queue.isRunning()) { if (this.queue.isRunning()) {
this.queue.insertNext(block); this.queue.insertNext(block);
} else { } else {
this.queue.add(block); this.queue.add(block);
} }
}; };
   
/** /**
* @param {jasmine.ExpectationResult} result * @param {jasmine.ExpectationResult} result
*/ */
jasmine.Spec.prototype.addMatcherResult = function(result) { jasmine.Spec.prototype.addMatcherResult = function (result) {
this.results_.addResult(result); this.results_.addResult(result);
}; };
   
jasmine.Spec.prototype.expect = function(actual) { jasmine.Spec.prototype.expect = function (actual) {
var positive = new (this.getMatchersClass_())(this.env, actual, this); var positive = new (this.getMatchersClass_())(this.env, actual, this);
positive.not = new (this.getMatchersClass_())(this.env, actual, this, true); positive.not = new (this.getMatchersClass_())(this.env, actual, this, true);
return positive; return positive;
}; };
   
/** /**
* Waits a fixed time period before moving to the next block. * Waits a fixed time period before moving to the next block.
* *
* @deprecated Use waitsFor() instead * @deprecated Use waitsFor() instead
* @param {Number} timeout milliseconds to wait * @param {Number} timeout milliseconds to wait
*/ */
jasmine.Spec.prototype.waits = function(timeout) { jasmine.Spec.prototype.waits = function (timeout) {
var waitsFunc = new jasmine.WaitsBlock(this.env, timeout, this); var waitsFunc = new jasmine.WaitsBlock(this.env, timeout, this);
this.addToQueue(waitsFunc); this.addToQueue(waitsFunc);
return this; return this;
}; };
   
/** /**
* Waits for the latchFunction to return true before proceeding to the next block. * Waits for the latchFunction to return true before proceeding to the next block.
* *
* @param {Function} latchFunction * @param {Function} latchFunction
* @param {String} optional_timeoutMessage * @param {String} optional_timeoutMessage
* @param {Number} optional_timeout * @param {Number} optional_timeout
*/ */
jasmine.Spec.prototype.waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) { jasmine.Spec.prototype.waitsFor = function (latchFunction, optional_timeoutMessage, optional_timeout) {
var latchFunction_ = null; var latchFunction_ = null;
var optional_timeoutMessage_ = null; var optional_timeoutMessage_ = null;
var optional_timeout_ = null; var optional_timeout_ = null;
   
for (var i = 0; i < arguments.length; i++) { for (var i = 0; i < arguments.length; i++) {
var arg = arguments[i]; var arg = arguments[i];
switch (typeof arg) { switch (typeof arg) {
case 'function': case 'function':
latchFunction_ = arg; latchFunction_ = arg;
break; break;
case 'string': case 'string':
optional_timeoutMessage_ = arg; optional_timeoutMessage_ = arg;
break; break;
case 'number': case 'number':
optional_timeout_ = arg; optional_timeout_ = arg;
break; break;
} }
} }
   
var waitsForFunc = new jasmine.WaitsForBlock(this.env, optional_timeout_, latchFunction_, optional_timeoutMessage_, this); var waitsForFunc = new jasmine.WaitsForBlock(this.env, optional_timeout_, latchFunction_, optional_timeoutMessage_, this);
this.addToQueue(waitsForFunc); this.addToQueue(waitsForFunc);
return this; return this;
}; };
   
jasmine.Spec.prototype.fail = function (e) { jasmine.Spec.prototype.fail = function (e) {
var expectationResult = new jasmine.ExpectationResult({ var expectationResult = new jasmine.ExpectationResult({
passed: false, passed: false,
message: e ? jasmine.util.formatException(e) : 'Exception', message: e ? jasmine.util.formatException(e) : 'Exception',
trace: { stack: e.stack } trace: { stack: e.stack }
}); });
this.results_.addResult(expectationResult); this.results_.addResult(expectationResult);
}; };
   
jasmine.Spec.prototype.getMatchersClass_ = function() { jasmine.Spec.prototype.getMatchersClass_ = function () {
return this.matchersClass || this.env.matchersClass; return this.matchersClass || this.env.matchersClass;
}; };
   
jasmine.Spec.prototype.addMatchers = function(matchersPrototype) { jasmine.Spec.prototype.addMatchers = function (matchersPrototype) {
var parent = this.getMatchersClass_(); var parent = this.getMatchersClass_();
var newMatchersClass = function() { var newMatchersClass = function () {
parent.apply(this, arguments); parent.apply(this, arguments);
}; };
jasmine.util.inherit(newMatchersClass, parent); jasmine.util.inherit(newMatchersClass, parent);
jasmine.Matchers.wrapInto_(matchersPrototype, newMatchersClass); jasmine.Matchers.wrapInto_(matchersPrototype, newMatchersClass);
this.matchersClass = newMatchersClass; this.matchersClass = newMatchersClass;
}; };
   
jasmine.Spec.prototype.finishCallback = function() { jasmine.Spec.prototype.finishCallback = function () {
this.env.reporter.reportSpecResults(this); this.env.reporter.reportSpecResults(this);
}; };
   
jasmine.Spec.prototype.finish = function(onComplete) { jasmine.Spec.prototype.finish = function (onComplete) {
this.removeAllSpies(); this.removeAllSpies();
this.finishCallback(); this.finishCallback();
if (onComplete) { if (onComplete) {
onComplete(); onComplete();
} }
}; };
   
jasmine.Spec.prototype.after = function(doAfter) { jasmine.Spec.prototype.after = function (doAfter) {
if (this.queue.isRunning()) { if (this.queue.isRunning()) {
this.queue.add(new jasmine.Block(this.env, doAfter, this)); this.queue.add(new jasmine.Block(this.env, doAfter, this));
} else { } else {
this.afterCallbacks.unshift(doAfter); this.afterCallbacks.unshift(doAfter);
} }
}; };
   
jasmine.Spec.prototype.execute = function(onComplete) { jasmine.Spec.prototype.execute = function (onComplete) {
var spec = this; var spec = this;
if (!spec.env.specFilter(spec)) { if (!spec.env.specFilter(spec)) {
spec.results_.skipped = true; spec.results_.skipped = true;
spec.finish(onComplete); spec.finish(onComplete);
return; return;
} }
   
this.env.reporter.reportSpecStarting(this); this.env.reporter.reportSpecStarting(this);
   
spec.env.currentSpec = spec; spec.env.currentSpec = spec;
   
spec.addBeforesAndAftersToQueue(); spec.addBeforesAndAftersToQueue();
   
spec.queue.start(function () { spec.queue.start(function () {
spec.finish(onComplete); spec.finish(onComplete);
}); });
}; };
   
jasmine.Spec.prototype.addBeforesAndAftersToQueue = function() { jasmine.Spec.prototype.addBeforesAndAftersToQueue = function () {
var runner = this.env.currentRunner(); var runner = this.env.currentRunner();
var i; var i;
   
for (var suite = this.suite; suite; suite = suite.parentSuite) { for (var suite = this.suite; suite; suite = suite.parentSuite) {
for (i = 0; i < suite.before_.length; i++) { for (i = 0; i < suite.before_.length; i++) {
this.queue.addBefore(new jasmine.Block(this.env, suite.before_[i], this)); this.queue.addBefore(new jasmine.Block(this.env, suite.before_[i], this));
} }
} }
for (i = 0; i < runner.before_.length; i++) { for (i = 0; i < runner.before_.length; i++) {
this.queue.addBefore(new jasmine.Block(this.env, runner.before_[i], this)); this.queue.addBefore(new jasmine.Block(this.env, runner.before_[i], this));
} }
for (i = 0; i < this.afterCallbacks.length; i++) { for (i = 0; i < this.afterCallbacks.length; i++) {
this.queue.add(new jasmine.Block(this.env, this.afterCallbacks[i], this)); this.queue.add(new jasmine.Block(this.env, this.afterCallbacks[i], this));
} }
for (suite = this.suite; suite; suite = suite.parentSuite) { for (suite = this.suite; suite; suite = suite.parentSuite) {
for (i = 0; i < suite.after_.length; i++) { for (i = 0; i < suite.after_.length; i++) {
this.queue.add(new jasmine.Block(this.env, suite.after_[i], this)); this.queue.add(new jasmine.Block(this.env, suite.after_[i], this));
} }
} }
for (i = 0; i < runner.after_.length; i++) { for (i = 0; i < runner.after_.length; i++) {
this.queue.add(new jasmine.Block(this.env, runner.after_[i], this)); this.queue.add(new jasmine.Block(this.env, runner.after_[i], this));
} }
}; };
   
jasmine.Spec.prototype.explodes = function() { jasmine.Spec.prototype.explodes = function () {
throw 'explodes function should not have been called'; throw 'explodes function should not have been called';
}; };
   
jasmine.Spec.prototype.spyOn = function(obj, methodName, ignoreMethodDoesntExist) { jasmine.Spec.prototype.spyOn = function (obj, methodName, ignoreMethodDoesntExist) {
if (obj == jasmine.undefined) { if (obj == jasmine.undefined) {
throw "spyOn could not find an object to spy upon for " + methodName + "()"; throw "spyOn could not find an object to spy upon for " + methodName + "()";
} }
   
if (!ignoreMethodDoesntExist && obj[methodName] === jasmine.undefined) { if (!ignoreMethodDoesntExist && obj[methodName] === jasmine.undefined) {
throw methodName + '() method does not exist'; throw methodName + '() method does not exist';
} }
   
if (!ignoreMethodDoesntExist && obj[methodName] && obj[methodName].isSpy) { if (!ignoreMethodDoesntExist && obj[methodName] && obj[methodName].isSpy) {
throw new Error(methodName + ' has already been spied upon'); throw new Error(methodName + ' has already been spied upon');
} }
   
var spyObj = jasmine.createSpy(methodName); var spyObj = jasmine.createSpy(methodName);
   
this.spies_.push(spyObj); this.spies_.push(spyObj);
spyObj.baseObj = obj; spyObj.baseObj = obj;
spyObj.methodName = methodName; spyObj.methodName = methodName;
spyObj.originalValue = obj[methodName]; spyObj.originalValue = obj[methodName];
   
obj[methodName] = spyObj; obj[methodName] = spyObj;
   
return spyObj; return spyObj;
}; };
   
jasmine.Spec.prototype.removeAllSpies = function() { jasmine.Spec.prototype.removeAllSpies = function () {
for (var i = 0; i < this.spies_.length; i++) { for (var i = 0; i < this.spies_.length; i++) {
var spy = this.spies_[i]; var spy = this.spies_[i];
spy.baseObj[spy.methodName] = spy.originalValue; spy.baseObj[spy.methodName] = spy.originalValue;
} }
this.spies_ = []; this.spies_ = [];
}; };
   
/** /**
* Internal representation of a Jasmine suite. * Internal representation of a Jasmine suite.
* *
* @constructor * @constructor
* @param {jasmine.Env} env * @param {jasmine.Env} env
* @param {String} description * @param {String} description
* @param {Function} specDefinitions * @param {Function} specDefinitions
* @param {jasmine.Suite} parentSuite * @param {jasmine.Suite} parentSuite
*/ */
jasmine.Suite = function(env, description, specDefinitions, parentSuite) { jasmine.Suite = function (env, description, specDefinitions, parentSuite) {
var self = this; var self = this;
self.id = env.nextSuiteId ? env.nextSuiteId() : null; self.id = env.nextSuiteId ? env.nextSuiteId() : null;
self.description = description; self.description = description;
self.queue = new jasmine.Queue(env); self.queue = new jasmine.Queue(env);
self.parentSuite = parentSuite; self.parentSuite = parentSuite;
self.env = env; self.env = env;
self.before_ = []; self.before_ = [];
self.after_ = []; self.after_ = [];
self.children_ = []; self.children_ = [];
self.suites_ = []; self.suites_ = [];
self.specs_ = []; self.specs_ = [];
}; };
   
jasmine.Suite.prototype.getFullName = function() { jasmine.Suite.prototype.getFullName = function () {
var fullName = this.description; var fullName = this.description;
for (var parentSuite = this.parentSuite; parentSuite; parentSuite = parentSuite.parentSuite) { for (var parentSuite = this.parentSuite; parentSuite; parentSuite = parentSuite.parentSuite) {
fullName = parentSuite.description + ' ' + fullName; fullName = parentSuite.description + ' ' + fullName;
} }
return fullName; return fullName;
}; };
   
jasmine.Suite.prototype.finish = function(onComplete) { jasmine.Suite.prototype.finish = function (onComplete) {
this.env.reporter.reportSuiteResults(this); this.env.reporter.reportSuiteResults(this);
this.finished = true; this.finished = true;
if (typeof(onComplete) == 'function') { if (typeof(onComplete) == 'function') {
onComplete(); onComplete();
} }
}; };
   
jasmine.Suite.prototype.beforeEach = function(beforeEachFunction) { jasmine.Suite.prototype.beforeEach = function (beforeEachFunction) {
beforeEachFunction.typeName = 'beforeEach'; beforeEachFunction.typeName = 'beforeEach';
this.before_.unshift(beforeEachFunction); this.before_.unshift(beforeEachFunction);
}; };
   
jasmine.Suite.prototype.afterEach = function(afterEachFunction) { jasmine.Suite.prototype.afterEach = function (afterEachFunction) {
afterEachFunction.typeName = 'afterEach'; afterEachFunction.typeName = 'afterEach';
this.after_.unshift(afterEachFunction); this.after_.unshift(afterEachFunction);
}; };
   
jasmine.Suite.prototype.results = function() { jasmine.Suite.prototype.results = function () {
return this.queue.results(); return this.queue.results();
}; };
   
jasmine.Suite.prototype.add = function(suiteOrSpec) { jasmine.Suite.prototype.add = function (suiteOrSpec) {
this.children_.push(suiteOrSpec); this.children_.push(suiteOrSpec);
if (suiteOrSpec instanceof jasmine.Suite) { if (suiteOrSpec instanceof jasmine.Suite) {
this.suites_.push(suiteOrSpec); this.suites_.push(suiteOrSpec);
this.env.currentRunner().addSuite(suiteOrSpec); this.env.currentRunner().addSuite(suiteOrSpec);
} else { } else {
this.specs_.push(suiteOrSpec); this.specs_.push(suiteOrSpec);
} }
this.queue.add(suiteOrSpec); this.queue.add(suiteOrSpec);
}; };
   
jasmine.Suite.prototype.specs = function() { jasmine.Suite.prototype.specs = function () {
return this.specs_; return this.specs_;
}; };
   
jasmine.Suite.prototype.suites = function() { jasmine.Suite.prototype.suites = function () {
return this.suites_; return this.suites_;
}; };
   
jasmine.Suite.prototype.children = function() { jasmine.Suite.prototype.children = function () {
return this.children_; return this.children_;
}; };
   
jasmine.Suite.prototype.execute = function(onComplete) { jasmine.Suite.prototype.execute = function (onComplete) {
var self = this; var self = this;
this.queue.start(function () { this.queue.start(function () {
self.finish(onComplete); self.finish(onComplete);
}); });
}; };
jasmine.WaitsBlock = function(env, timeout, spec) { jasmine.WaitsBlock = function (env, timeout, spec) {
this.timeout = timeout; this.timeout = timeout;
jasmine.Block.call(this, env, null, spec); jasmine.Block.call(this, env, null, spec);
}; };
   
jasmine.util.inherit(jasmine.WaitsBlock, jasmine.Block); jasmine.util.inherit(jasmine.WaitsBlock, jasmine.Block);
   
jasmine.WaitsBlock.prototype.execute = function (onComplete) { jasmine.WaitsBlock.prototype.execute = function (onComplete) {
if (jasmine.VERBOSE) { if (jasmine.VERBOSE) {
this.env.reporter.log('>> Jasmine waiting for ' + this.timeout + ' ms...'); this.env.reporter.log('>> Jasmine waiting for ' + this.timeout + ' ms...');
} }
this.env.setTimeout(function () { this.env.setTimeout(function () {
onComplete(); onComplete();
}, this.timeout); }, this.timeout);
}; };
/** /**
* A block which waits for some condition to become true, with timeout. * A block which waits for some condition to become true, with timeout.
* *
* @constructor * @constructor
* @extends jasmine.Block * @extends jasmine.Block
* @param {jasmine.Env} env The Jasmine environment. * @param {jasmine.Env} env The Jasmine environment.
* @param {Number} timeout The maximum time in milliseconds to wait for the condition to become true. * @param {Number} timeout The maximum time in milliseconds to wait for the condition to become true.
* @param {Function} latchFunction A function which returns true when the desired condition has been met. * @param {Function} latchFunction A function which returns true when the desired condition has been met.
* @param {String} message The message to display if the desired condition hasn't been met within the given time period. * @param {String} message The message to display if the desired condition hasn't been met within the given time period.
* @param {jasmine.Spec} spec The Jasmine spec. * @param {jasmine.Spec} spec The Jasmine spec.
*/ */
jasmine.WaitsForBlock = function(env, timeout, latchFunction, message, spec) { jasmine.WaitsForBlock = function (env, timeout, latchFunction, message, spec) {
this.timeout = timeout || env.defaultTimeoutInterval; this.timeout = timeout || env.defaultTimeoutInterval;
this.latchFunction = latchFunction; this.latchFunction = latchFunction;
this.message = message; this.message = message;
this.totalTimeSpentWaitingForLatch = 0; this.totalTimeSpentWaitingForLatch = 0;
jasmine.Block.call(this, env, null, spec); jasmine.Block.call(this, env, null, spec);
}; };
jasmine.util.inherit(jasmine.WaitsForBlock, jasmine.Block); jasmine.util.inherit(jasmine.WaitsForBlock, jasmine.Block);
   
jasmine.WaitsForBlock.TIMEOUT_INCREMENT = 10; jasmine.WaitsForBlock.TIMEOUT_INCREMENT = 10;
   
jasmine.WaitsForBlock.prototype.execute = function(onComplete) { jasmine.WaitsForBlock.prototype.execute = function (onComplete) {
if (jasmine.VERBOSE) { if (jasmine.VERBOSE) {
this.env.reporter.log('>> Jasmine waiting for ' + (this.message || 'something to happen')); this.env.reporter.log('>> Jasmine waiting for ' + (this.message || 'something to happen'));
} }
var latchFunctionResult; var latchFunctionResult;
try { try {
latchFunctionResult = this.latchFunction.apply(this.spec); latchFunctionResult = this.latchFunction.apply(this.spec);
} catch (e) { } catch (e) {
this.spec.fail(e); this.spec.fail(e);
onComplete(); onComplete();
return; return;
} }
   
if (latchFunctionResult) { if (latchFunctionResult) {
onComplete(); onComplete();
} else if (this.totalTimeSpentWaitingForLatch >= this.timeout) { } else if (this.totalTimeSpentWaitingForLatch >= this.timeout) {
var message = 'timed out after ' + this.timeout + ' msec waiting for ' + (this.message || 'something to happen'); var message = 'timed out after ' + this.timeout + ' msec waiting for ' + (this.message || 'something to happen');
this.spec.fail({ this.spec.fail({
name: 'timeout', name: 'timeout',
message: message message: message
}); });
   
this.abort = true; this.abort = true;
onComplete(); onComplete();
} else { } else {
this.totalTimeSpentWaitingForLatch += jasmine.WaitsForBlock.TIMEOUT_INCREMENT; this.totalTimeSpentWaitingForLatch += jasmine.WaitsForBlock.TIMEOUT_INCREMENT;
var self = this; var self = this;
this.env.setTimeout(function() { this.env.setTimeout(function () {
self.execute(onComplete); self.execute(onComplete);
}, jasmine.WaitsForBlock.TIMEOUT_INCREMENT); }, jasmine.WaitsForBlock.TIMEOUT_INCREMENT);
} }
}; };
   
jasmine.version_= { jasmine.version_ = {
"major": 1, "major": 1,
"minor": 2, "minor": 2,
"build": 0, "build": 0,
"revision": 1337005947 "revision": 1337005947
}; };
   
{ {
"JAVASCRIPT": { "JAVASCRIPT": {
"DIST_DIR": "./build", "DIST_DIR": "./build",
"flotr2-basic": [ "flotr2-basic": [
"./js/Flotr.js", "./js/Flotr.js",
"./js/DefaultOptions.js", "./js/DefaultOptions.js",
"./js/DOM.js", "./js/DOM.js",
"./js/EventAdapter.js", "./js/EventAdapter.js",
"./js/Color.js", "./js/Color.js",
"./js/Date.js", "./js/Date.js",
"./js/Text.js", "./js/Text.js",
"./js/Graph.js", "./js/Graph.js",
"./js/Axis.js", "./js/Axis.js",
"./js/Series.js", "./js/Series.js",
"./js/types/lines.js", "./js/types/lines.js",
"./js/types/bars.js", "./js/types/bars.js",
"./js/types/markers.js", "./js/types/markers.js",
"./js/types/points.js", "./js/types/points.js",
"./js/plugins/grid.js", "./js/plugins/grid.js",
"./js/plugins/labels.js", "./js/plugins/labels.js",
"./js/plugins/legend.js", "./js/plugins/legend.js",
"./js/plugins/titles.js" "./js/plugins/titles.js"
] ]
} }
} }
   
{ {
"JAVASCRIPT": { "JAVASCRIPT": {
"DIST_DIR": "./build", "DIST_DIR": "./build",
"ie": [ "ie": [
{ "src": "./lib/excanvas.js", "jshint": false }, {
{ "src": "./lib/base64.js", "jshint": false }, "src": "./lib/excanvas.js",
{ "src": "./lib/canvastext.js", "jshint": false } "jshint": false
], },
"lib": [ {
{ "src": "./lib/bean.js", "jshint": false }, "src": "./lib/base64.js",
{ "src": "./lib/underscore.js", "jshint": false } "jshint": false
], },
"flotr2": [ {
"./js/Flotr.js", "src": "./lib/canvastext.js",
"./js/DefaultOptions.js", "jshint": false
"./js/Color.js", }
"./js/Date.js", ],
"./js/DOM.js", "lib": [
"./js/EventAdapter.js", {
"./js/Text.js", "src": "./lib/bean.js",
"./js/Graph.js", "jshint": false
"./js/Axis.js", },
"./js/Series.js", {
"./js/types/lines.js", "src": "./lib/underscore.js",
"./js/types/bars.js", "jshint": false
"./js/types/bubbles.js", }
"./js/types/candles.js", ],
"./js/types/gantt.js", "flotr2": [
"./js/types/markers.js", "./js/Flotr.js",
"./js/types/pie.js", "./js/DefaultOptions.js",
"./js/types/points.js", "./js/Color.js",
"./js/types/radar.js", "./js/Date.js",
"./js/types/timeline.js", "./js/DOM.js",
"./js/plugins/crosshair.js", "./js/EventAdapter.js",
"./js/plugins/download.js", "./js/Text.js",
"./js/plugins/grid.js", "./js/Graph.js",
"./js/plugins/hit.js", "./js/Axis.js",
"./js/plugins/selection.js", "./js/Series.js",
"./js/plugins/labels.js", "./js/types/lines.js",
"./js/plugins/legend.js", "./js/types/bars.js",
"./js/plugins/spreadsheet.js", "./js/types/bubbles.js",
"./js/plugins/titles.js" "./js/types/candles.js",
], "./js/types/gantt.js",
"flotr2-basic": [ "./js/types/markers.js",
"./js/Flotr.js", "./js/types/pie.js",
"./js/DefaultOptions.js", "./js/types/points.js",
"./js/DOM.js", "./js/types/radar.js",
"./js/EventAdapter.js", "./js/types/timeline.js",
"./js/Color.js", "./js/plugins/crosshair.js",
"./js/Date.js", "./js/plugins/download.js",
"./js/Text.js", "./js/plugins/grid.js",
"./js/Graph.js", "./js/plugins/hit.js",
"./js/Axis.js", "./js/plugins/selection.js",
"./js/Series.js", "./js/plugins/labels.js",
"./js/types/lines.js", "./js/plugins/legend.js",
"./js/types/bars.js", "./js/plugins/spreadsheet.js",
"./js/types/markers.js", "./js/plugins/titles.js"
"./js/types/points.js", ],
"./js/plugins/grid.js", "flotr2-basic": [
"./js/plugins/labels.js", "./js/Flotr.js",
"./js/plugins/legend.js", "./js/DefaultOptions.js",
"./js/plugins/titles.js" "./js/DOM.js",
], "./js/EventAdapter.js",
"examples": [ "./js/Color.js",
"./examples/js/Examples.js", "./js/Date.js",
"./examples/js/Example.js", "./js/Text.js",
"./examples/js/Editor.js", "./js/Graph.js",
"./examples/js/Profile.js" "./js/Axis.js",
], "./js/Series.js",
"examples-types": [ "./js/types/lines.js",
"./examples/js/ExampleList.js", "./js/types/bars.js",
"./examples/js/examples/basic.js", "./js/types/markers.js",
"./examples/js/examples/basic-stacked.js", "./js/types/points.js",
"./examples/js/examples/basic-axis.js", "./js/plugins/grid.js",
"./examples/js/examples/basic-bars.js", "./js/plugins/labels.js",
"./examples/js/examples/basic-bars-stacked.js", "./js/plugins/legend.js",
"./examples/js/examples/basic-pie.js", "./js/plugins/titles.js"
"./examples/js/examples/basic-radar.js", ],
"./examples/js/examples/basic-bubble.js", "examples": [
"./examples/js/examples/basic-candle.js", "./examples/js/Examples.js",
"./examples/js/examples/basic-legend.js", "./examples/js/Example.js",
"./examples/js/examples/mouse-tracking.js", "./examples/js/Editor.js",
"./examples/js/examples/mouse-zoom.js", "./examples/js/Profile.js"
"./examples/js/examples/mouse-drag.js", ],
"./examples/js/examples/basic-time.js", "examples-types": [
"./examples/js/examples/negative-values.js", "./examples/js/ExampleList.js",
"./examples/js/examples/click-example.js", "./examples/js/examples/basic.js",
"./examples/js/examples/download-image.js", "./examples/js/examples/basic-stacked.js",
"./examples/js/examples/download-data.js", "./examples/js/examples/basic-axis.js",
"./examples/js/examples/advanced-titles.js", "./examples/js/examples/basic-bars.js",
"./examples/js/examples/color-gradients.js", "./examples/js/examples/basic-bars-stacked.js",
"./examples/js/examples/profile-bars.js", "./examples/js/examples/basic-pie.js",
"./examples/js/examples/basic-timeline.js", "./examples/js/examples/basic-radar.js",
"./examples/js/examples/advanced-markers.js" "./examples/js/examples/basic-bubble.js",
] "./examples/js/examples/basic-candle.js",
} "./examples/js/examples/basic-legend.js",
  "./examples/js/examples/mouse-tracking.js",
  "./examples/js/examples/mouse-zoom.js",
  "./examples/js/examples/mouse-drag.js",
  "./examples/js/examples/basic-time.js",
  "./examples/js/examples/negative-values.js",
  "./examples/js/examples/click-example.js",
  "./examples/js/examples/download-image.js",
  "./examples/js/examples/download-data.js",
  "./examples/js/examples/advanced-titles.js",
  "./examples/js/examples/color-gradients.js",
  "./examples/js/examples/profile-bars.js",
  "./examples/js/examples/basic-timeline.js",
  "./examples/js/examples/advanced-markers.js"
  ]
  }
} }
   
{ {
"JAVASCRIPT": { "JAVASCRIPT": {
"DIST_DIR": "./build", "DIST_DIR": "./build",
"examples": [ "examples": [
"./examples/js/Examples.js", "./examples/js/Examples.js",
"./examples/js/Example.js", "./examples/js/Example.js",
"./examples/js/Editor.js", "./examples/js/Editor.js",
"./examples/js/Profile.js" "./examples/js/Profile.js"
], ],
"examples-types": [ "examples-types": [
"./examples/js/ExampleList.js", "./examples/js/ExampleList.js",
"./examples/js/examples/basic.js", "./examples/js/examples/basic.js",
"./examples/js/examples/basic-stacked.js", "./examples/js/examples/basic-stacked.js",
"./examples/js/examples/basic-stepped.js", "./examples/js/examples/basic-stepped.js",
"./examples/js/examples/basic-axis.js", "./examples/js/examples/basic-axis.js",
"./examples/js/examples/basic-bars.js", "./examples/js/examples/basic-bars.js",
"./examples/js/examples/basic-bars-stacked.js", "./examples/js/examples/basic-bars-stacked.js",
"./examples/js/examples/basic-pie.js", "./examples/js/examples/basic-pie.js",
"./examples/js/examples/basic-radar.js", "./examples/js/examples/basic-radar.js",
"./examples/js/examples/basic-bubble.js", "./examples/js/examples/basic-bubble.js",
"./examples/js/examples/basic-candle.js", "./examples/js/examples/basic-candle.js",
"./examples/js/examples/basic-legend.js", "./examples/js/examples/basic-legend.js",
"./examples/js/examples/mouse-tracking.js", "./examples/js/examples/mouse-tracking.js",
"./examples/js/examples/mouse-zoom.js", "./examples/js/examples/mouse-zoom.js",
"./examples/js/examples/mouse-drag.js", "./examples/js/examples/mouse-drag.js",
"./examples/js/examples/basic-time.js", "./examples/js/examples/basic-time.js",
"./examples/js/examples/negative-values.js", "./examples/js/examples/negative-values.js",
"./examples/js/examples/click-example.js", "./examples/js/examples/click-example.js",
"./examples/js/examples/download-image.js", "./examples/js/examples/download-image.js",
"./examples/js/examples/download-data.js", "./examples/js/examples/download-data.js",
"./examples/js/examples/advanced-titles.js", "./examples/js/examples/advanced-titles.js",
"./examples/js/examples/color-gradients.js", "./examples/js/examples/color-gradients.js",
"./examples/js/examples/profile-bars.js", "./examples/js/examples/profile-bars.js",
"./examples/js/examples/basic-timeline.js", "./examples/js/examples/basic-timeline.js",
"./examples/js/examples/advanced-markers.js" "./examples/js/examples/advanced-markers.js"
] ]
} }
} }
   
{ {
"JAVASCRIPT": { "JAVASCRIPT": {
"DIST_DIR": "./build", "DIST_DIR": "./build",
"flotr2": [ "flotr2": [
"./js/Flotr.js", "./js/Flotr.js",
"./js/DefaultOptions.js", "./js/DefaultOptions.js",
"./js/Color.js", "./js/Color.js",
"./js/Date.js", "./js/Date.js",
"./js/DOM.js", "./js/DOM.js",
"./js/EventAdapter.js", "./js/EventAdapter.js",
"./js/Text.js", "./js/Text.js",
"./js/Graph.js", "./js/Graph.js",
"./js/Axis.js", "./js/Axis.js",
"./js/Series.js", "./js/Series.js",
"./js/types/lines.js", "./js/types/lines.js",
"./js/types/bars.js", "./js/types/bars.js",
"./js/types/bubbles.js", "./js/types/bubbles.js",
"./js/types/candles.js", "./js/types/candles.js",
"./js/types/gantt.js", "./js/types/gantt.js",
"./js/types/markers.js", "./js/types/markers.js",
"./js/types/pie.js", "./js/types/pie.js",
"./js/types/points.js", "./js/types/points.js",
"./js/types/radar.js", "./js/types/radar.js",
"./js/types/timeline.js", "./js/types/timeline.js",
"./js/plugins/crosshair.js", "./js/plugins/crosshair.js",
"./js/plugins/download.js", "./js/plugins/download.js",
"./js/plugins/grid.js", "./js/plugins/grid.js",
"./js/plugins/hit.js", "./js/plugins/hit.js",
"./js/plugins/selection.js", "./js/plugins/selection.js",
"./js/plugins/labels.js", "./js/plugins/labels.js",
"./js/plugins/legend.js", "./js/plugins/legend.js",
"./js/plugins/spreadsheet.js", "./js/plugins/spreadsheet.js",
"./js/plugins/titles.js" "./js/plugins/titles.js"
] ]
} }
} }
   
{ {
"JAVASCRIPT": { "JAVASCRIPT": {
"DIST_DIR": "./build", "DIST_DIR": "./build",
"ie": [ "ie": [
{ "src": "./lib/excanvas.js", "jshint": false }, {
{ "src": "./lib/base64.js", "jshint": false }, "src": "./lib/excanvas.js",
{ "src": "./lib/canvastext.js", "jshint": false } "jshint": false
] },
} {
  "src": "./lib/base64.js",
  "jshint": false
  },
  {
  "src": "./lib/canvastext.js",
  "jshint": false
  }
  ]
  }
} }
   
{ {
"JAVASCRIPT": { "JAVASCRIPT": {
"DIST_DIR": "./build", "DIST_DIR": "./build",
"bean": [ "bean": [
{ "src": "./lib/bean.js", "jshint": false } {
], "src": "./lib/bean.js",
"underscore": [ "jshint": false
{ "src": "./lib/underscore.js", "jshint": false } }
] ],
} "underscore": [
  {
  "src": "./lib/underscore.js",
  "jshint": false
  }
  ]
  }
} }
   
describe('Charts', function () { describe('Charts', function () {
   
var var
width = 480, width = 480,
height = 320, height = 320,
a, b, options, defaults; a, b, options, defaults;
   
defaults = { defaults = {
width : 480, width: 480,
height : 320, height: 320,
color : "rgb(192,216,0)", color: "rgb(192,216,0)",
context : null, context: null,
data : null, data: null,
fill : false, fill: false,
fillColor : null, fillColor: null,
fillOpacity : 0.4, fillOpacity: 0.4,
fillStyle : "rgba(192,216,0,0.4)", fillStyle: "rgba(192,216,0,0.4)",
fontColor : "#545454", fontColor: "#545454",
fontSize : 7.5, fontSize: 7.5,
htmlText : true, htmlText: true,
lineWidth : 2, lineWidth: 2,
shadowSize : 4, shadowSize: 4,
show : false, show: false,
stacked : false, stacked: false,
textEnabled : true, textEnabled: true,
xScale : function (x) { return x; }, xScale: function (x) {
yScale : function (y) { return height - y; } return x;
}; },
  yScale: function (y) {
  return height - y;
  }
  };
   
/** /**
* @param skip bool Skip test against development version (use this when developing test) * @param skip bool Skip test against development version (use this when developing test)
*/ */
function drawTest (data, o, skip) { function drawTest(data, o, skip) {
options.data = data; options.data = data;
if (o) _.extend(options, o); if (o) _.extend(options, o);
   
if (!skip) TestFlotr.graphTypes.lines.draw(options); if (!skip) TestFlotr.graphTypes.lines.draw(options);
options.context = b.getContext('2d'); options.context = b.getContext('2d');
StableFlotr.graphTypes.lines.draw(options); StableFlotr.graphTypes.lines.draw(options);
   
expect(b).toImageDiffEqual(a); expect(b).toImageDiffEqual(a);
} }
   
describe('Lines', function () { describe('Lines', function () {
   
beforeEach(function () { beforeEach(function () {
options = _.clone(defaults); options = _.clone(defaults);
  });
   
  /*
  describe('Data', function () {
  it('gets a range', function () {
  options.stacked = true;
  options.data = [[0, 0], [240, 160], [480, 320]];
  range = TestFlotr.graphTypes.lines.range(options);
  expect(range.min).toEqual(0);
  expect(range.max).toEqual(320);
  });
  });
  */
   
  describe('Draw', function () {
   
  beforeEach(function () {
  this.addMatchers(imagediff.jasmine);
  a = imagediff.createCanvas(width, height);
  b = imagediff.createCanvas(width, height);
  options.context = a.getContext('2d');
  });
   
  it('draws a line chart', function () {
  drawTest([
  [0, 0],
  [240, 300],
  [480, 0]
  ]);
  });
   
  it('skips null values', function () {
  drawTest([
  [0, 0],
  [100, 50],
  [200, null],
  [300, 150],
  [400, 200],
  [480, 240]
  ]);
  });
   
  it('draws two lines', function () {
  // First line
  drawTest([
  [0, 0],
  [240, 160],
  [480, 320]
  ]);
   
  // Second Line
  options.context = a.getContext('2d');
  drawTest([
  [0, 320],
  [240, 160],
  [480, 0]
  ]);
  });
   
  it('fills a line', function () {
  drawTest([
  [0, 0],
  [240, 300],
  [480, 0]
  ], {
  fill: true
  });
  });
   
  it('draws no shadow', function () {
  drawTest([
  [0, 0],
  [240, 300],
  [480, 0]
  ], {
  shadowSize: 0
  });
  });
  });
}); });
   
/*  
describe('Data', function () {  
it('gets a range', function () {  
options.stacked = true;  
options.data = [[0, 0], [240, 160], [480, 320]];  
range = TestFlotr.graphTypes.lines.range(options);  
expect(range.min).toEqual(0);  
expect(range.max).toEqual(320);  
});  
});  
*/  
   
describe('Draw', function () {  
   
beforeEach(function () {  
this.addMatchers(imagediff.jasmine);  
a = imagediff.createCanvas(width, height);  
b = imagediff.createCanvas(width, height);  
options.context = a.getContext('2d');  
});  
   
it('draws a line chart', function () {  
drawTest([  
[0, 0],  
[240, 300],  
[480, 0]  
]);  
});  
   
it('skips null values', function () {  
drawTest([  
[0, 0],  
[100, 50],  
[200, null],  
[300, 150],  
[400, 200],  
[480, 240]  
]);  
});  
   
it('draws two lines', function () {  
// First line  
drawTest([[0, 0], [240, 160], [480, 320]]);  
   
// Second Line  
options.context = a.getContext('2d');  
drawTest([[0, 320], [240, 160], [480, 0]]);  
});  
   
it('fills a line', function () {  
drawTest([  
[0, 0],  
[240, 300],  
[480, 0]  
], {  
fill : true  
});  
});  
   
it('draws no shadow', function () {  
drawTest([  
[0, 0],  
[240, 300],  
[480, 0]  
], {  
shadowSize : 0  
});  
});  
});  
});  
}); });
   
describe('Colors', function () { describe('Colors', function () {
   
describe('Color Construction', function () { describe('Color Construction', function () {
it('should have a color class', function () { it('should have a color class', function () {
expect(TestFlotr.Color).not.toBeUndefined(); expect(TestFlotr.Color).not.toBeUndefined();
  });
   
  it('should create a color', function () {
  var color = new TestFlotr.Color(0, 0, 0, 0);
  expect(color).toBeTruthy();
  });
   
  it('should have rgba attributes', function () {
  var color = new TestFlotr.Color(0, 0, 0, 0);
  expect(color.r).toEqual(0);
  expect(color.g).toEqual(0);
  expect(color.b).toEqual(0);
  expect(color.a).toEqual(1.0);
  });
}); });
   
it('should create a color', function () { describe('Color Manipulation', function () {
var color = new TestFlotr.Color(0, 0, 0, 0);  
expect(color).toBeTruthy(); var
  color;
   
  afterEach(function () {
  color = null;
  });
   
  it('normalizes colors to upper bound', function () {
  color = new TestFlotr.Color(1000, 1000, 1000, 10);
  expect(color.r).toEqual(255);
  expect(color.g).toEqual(255);
  expect(color.b).toEqual(255);
  expect(color.a).toEqual(1.0);
  });
   
  it('normalizes colors to lower bound', function () {
  color = new TestFlotr.Color(-1000, -1000, -1000, -10);
  expect(color.r).toEqual(0);
  expect(color.g).toEqual(0);
  expect(color.b).toEqual(0);
  expect(color.a).toEqual(0.0);
  });
   
  it('scales colors', function () {
  color = new TestFlotr.Color(200, 200, 200, 1.0);
  color.scale(.5, .5, .5, .5);
  expect(color.r).toEqual(100);
  expect(color.g).toEqual(100);
  expect(color.b).toEqual(100);
  expect(color.a).toEqual(0.5);
  });
}); });
   
it('should have rgba attributes', function () { describe('Color Conversion', function () {
var color = new TestFlotr.Color(0, 0, 0, 0);  
expect(color.r).toEqual(0); var
expect(color.g).toEqual(0); color;
expect(color.b).toEqual(0);  
expect(color.a).toEqual(1.0); beforeEach(function () {
  color = new TestFlotr.Color(200, 200, 200, 1.0);
  });
  afterEach(function () {
  color = null;
  });
   
  it('should convert colors to strings, rgb', function () {
  expect(color.toString()).toEqual('rgb(200,200,200)');
  });
   
  it('should convert colors to strings, rgba', function () {
  color.a = 0.5;
  color.normalize();
  expect(color.toString()).toEqual('rgba(200,200,200,0.5)');
  });
   
  it('should clone colors', function () {
   
  var
  color2 = color.clone();
   
  expect(color.toString()).toEqual(color2.toString());
   
  color.a = 0.5;
  color.normalize();
  color2 = color.clone();
  expect(color.toString()).toEqual(color2.toString());
  });
}); });
});  
   
describe('Color Manipulation', function () {  
   
var  
color;  
   
afterEach(function () {  
color = null;  
});  
   
it('normalizes colors to upper bound', function () {  
color = new TestFlotr.Color(1000, 1000, 1000, 10);  
expect(color.r).toEqual(255);  
expect(color.g).toEqual(255);  
expect(color.b).toEqual(255);  
expect(color.a).toEqual(1.0);  
});  
   
it('normalizes colors to lower bound', function () {  
color = new TestFlotr.Color(-1000, -1000, -1000, -10);  
expect(color.r).toEqual(0);  
expect(color.g).toEqual(0);  
expect(color.b).toEqual(0);  
expect(color.a).toEqual(0.0);  
});  
   
it('scales colors', function () {  
color = new TestFlotr.Color(200, 200, 200, 1.0);  
color.scale(.5, .5, .5, .5);  
expect(color.r).toEqual(100);  
expect(color.g).toEqual(100);  
expect(color.b).toEqual(100);  
expect(color.a).toEqual(0.5);  
});  
});  
   
describe('Color Conversion', function () {  
   
var  
color;  
   
beforeEach(function () {  
color = new TestFlotr.Color(200, 200, 200, 1.0);  
});  
afterEach(function () {  
color = null;  
});  
   
it('should convert colors to strings, rgb', function () {  
expect(color.toString()).toEqual('rgb(200,200,200)');  
});  
   
it('should convert colors to strings, rgba', function () {  
color.a = 0.5;  
color.normalize();  
expect(color.toString()).toEqual('rgba(200,200,200,0.5)');  
});  
   
it('should clone colors', function () {  
   
var  
color2 = color.clone();  
   
expect(color.toString()).toEqual(color2.toString());  
   
color.a = 0.5;  
color.normalize();  
color2 = color.clone();  
expect(color.toString()).toEqual(color2.toString());  
});  
});  
}); });
   
describe('Flotr', function () { describe('Flotr', function () {
   
describe('Plots', function () { describe('Plots', function () {
   
var var
nodeA, nodeB, nodeA, nodeB,
a, b; a, b;
   
beforeEach(function () { beforeEach(function () {
   
// Add imagediff matchers // Add imagediff matchers
this.addMatchers(imagediff.jasmine); this.addMatchers(imagediff.jasmine);
   
nodeA = buildNode(); nodeA = buildNode();
nodeB = buildNode(); nodeB = buildNode();
  });
   
  afterEach(function () {
  destroyNode(nodeA);
  destroyNode(nodeB);
  a = null;
  b = null;
  Flotr = null;
  });
   
  _.each(TestFlotr.ExampleList.examples, function (example, key) {
   
  it('should draw a `' + example.name + '`line graph', function () {
   
  executeExampleTest(example, StableFlotr, nodeA);
  executeExampleTest(example, TestFlotr, nodeB);
   
  if (example.timeout) {
  waits(example.timeout);
  runs(function () {
  expect(nodeB.graph.ctx).toImageDiffEqual(nodeA.graph.ctx, example.tolerance || 0);
  });
  } else {
  expect(nodeB.graph.ctx).toImageDiffEqual(nodeA.graph.ctx, example.tolerance || 0);
  }
  });
  });
   
  // Helpers
   
  function executeExampleTest(example, flotr, node) {
  Math.seedrandom(example.key);
  Flotr = flotr;
  example.callback.apply(this, [node].concat(example.args || []));
  }
   
  function buildNode() {
  var node = document.createElement('div');
  document.body.appendChild(node);
  node.style.width = '320px';
  node.style.height = '240px';
  return node;
  }
   
  function destroyNode(node) {
  document.body.removeChild(node);
  }
}); });
   
afterEach(function () { describe('Main', function () {
destroyNode(nodeA);  
destroyNode(nodeB); it('gets a tick size', function () {
a = null; expect(TestFlotr.getTickSize).not.toBeUndefined();
b = null; expect(TestFlotr.getTickSize(10, 0, 100, 1)).toEqual(10);
Flotr = null; expect(TestFlotr.getTickSize(20, 0, 100, 1)).toEqual(5);
  expect(TestFlotr.getTickSize(5, 10, 110, 1)).toEqual(20);
  expect(TestFlotr.getTickSize(0, 0, 10, 1)).toEqual(Number.POSITIVE_INFINITY);
  expect(isNaN(TestFlotr.getTickSize(0, 0, -10, 1))).toBeTruthy();
  });
}); });
   
_.each(TestFlotr.ExampleList.examples, function (example, key) {  
   
it('should draw a `' + example.name + '`line graph', function () {  
   
executeExampleTest(example, StableFlotr, nodeA);  
executeExampleTest(example, TestFlotr, nodeB);  
   
if (example.timeout) {  
waits(example.timeout);  
runs (function () {  
expect(nodeB.graph.ctx).toImageDiffEqual(nodeA.graph.ctx, example.tolerance || 0);  
});  
} else {  
expect(nodeB.graph.ctx).toImageDiffEqual(nodeA.graph.ctx, example.tolerance || 0);  
}  
});  
});  
   
// Helpers  
   
function executeExampleTest (example, flotr, node) {  
Math.seedrandom(example.key);  
Flotr = flotr;  
example.callback.apply(this, [node].concat(example.args || []));  
}  
   
function buildNode () {  
var node = document.createElement('div');  
document.body.appendChild(node);  
node.style.width = '320px';  
node.style.height = '240px';  
return node;  
}  
   
function destroyNode (node) {  
document.body.removeChild(node);  
}  
});  
   
describe('Main', function () {  
   
it('gets a tick size', function () {  
expect(TestFlotr.getTickSize).not.toBeUndefined();  
expect(TestFlotr.getTickSize(10, 0, 100, 1)).toEqual(10);  
expect(TestFlotr.getTickSize(20, 0, 100, 1)).toEqual(5);  
expect(TestFlotr.getTickSize(5, 10, 110, 1)).toEqual(20);  
expect(TestFlotr.getTickSize(0, 0, 10, 1)).toEqual(Number.POSITIVE_INFINITY);  
expect(isNaN(TestFlotr.getTickSize(0, 0, -10, 1))).toBeTruthy();  
});  
});  
}); });
   
describe('Graph', function () { describe('Graph', function () {
   
describe('Options', function () { describe('Options', function () {
var var
nodeA, nodeB, nodeA, nodeB,
a, b, x, i, a, b, x, i,
d1 = [], d1 = [],
options = {}; options = {};
   
for (i = 0; i < 100; i++) { for (i = 0; i < 100; i++) {
x = (i*1000*3600*24*36.5); x = (i * 1000 * 3600 * 24 * 36.5);
d1.push([x, i+Math.random()*30+Math.sin(i/20+Math.random()*2)*20+Math.sin(i/10+Math.random())*10]); d1.push([x, i + Math.random() * 30 + Math.sin(i / 20 + Math.random() * 2) * 20 + Math.sin(i / 10 + Math.random()) * 10]);
} }
   
options = { options = {
xaxis : { xaxis: {
mode : 'time', mode: 'time',
labelsAngle : 45 labelsAngle: 45
}, },
selection : { selection: {
mode : 'x' mode: 'x'
}, },
HtmlText : false, HtmlText: false,
}; };
   
beforeEach(function () { beforeEach(function () {
nodeA = buildNode(); nodeA = buildNode();
Flotr = TestFlotr; Flotr = TestFlotr;
  });
   
  afterEach(function () {
  destroyNode(nodeA);
  a = b = null;
  Flotr = null;
  });
   
  it('should override nested default options with user options', function () {
  a = new TestFlotr.Graph(nodeA, d1, options);
  expect(a.options.xaxis.mode).toEqual(options.xaxis.mode);
  });
   
  it('should retain default options if user option\'s nested object does not define property', function () {
  a = new TestFlotr.Graph(nodeA, d1, options);
  expect(a.options.xaxis.tickFormatter).toBeTruthy();
  });
   
  it('should not affect default options when modifying graph options (objects)', function () {
  a = new TestFlotr.Graph(nodeA, d1, options);
  a.options.x2axis = {
  titleAlign: 'left'
  };
  a.options.xaxis.scaling = 'logarithmic';
  expect(TestFlotr.defaultOptions.xaxis.scaling).toEqual('linear');
  expect(TestFlotr.defaultOptions.x2axis.titleAlign).toBeFalsy();
  });
   
  /*
  it('should not affect default options when modifying graph options (arrays)', function() {
  a = new TestFlotr.Graph(nodeA, d1, options);
  a.options.colors[1] = '#bada55';
  expect(TestFlotr.defaultOptions.colors[1]).toNotBe('#bada55');
  });
  */
   
}); });
   
afterEach(function () { function buildNode() {
destroyNode(nodeA); var node = document.createElement('div');
a = b = null; document.body.appendChild(node);
Flotr = null; node.style.width = '320px';
}); node.style.height = '240px';
  return node;
  }
   
it('should override nested default options with user options', function() { function destroyNode(node) {
a = new TestFlotr.Graph(nodeA, d1, options); document.body.removeChild(node);
expect(a.options.xaxis.mode).toEqual(options.xaxis.mode); }
});  
   
it('should retain default options if user option\'s nested object does not define property', function() {  
a = new TestFlotr.Graph(nodeA, d1, options);  
expect(a.options.xaxis.tickFormatter).toBeTruthy();  
});  
   
it('should not affect default options when modifying graph options (objects)', function() {  
a = new TestFlotr.Graph(nodeA, d1, options);  
a.options.x2axis = {  
titleAlign : 'left'  
};  
a.options.xaxis.scaling = 'logarithmic';  
expect(TestFlotr.defaultOptions.xaxis.scaling).toEqual('linear');  
expect(TestFlotr.defaultOptions.x2axis.titleAlign).toBeFalsy();  
});  
   
/*  
it('should not affect default options when modifying graph options (arrays)', function() {  
a = new TestFlotr.Graph(nodeA, d1, options);  
a.options.colors[1] = '#bada55';  
expect(TestFlotr.defaultOptions.colors[1]).toNotBe('#bada55');  
});  
*/  
   
});  
   
function buildNode () {  
var node = document.createElement('div');  
document.body.appendChild(node);  
node.style.width = '320px';  
node.style.height = '240px';  
return node;  
}  
   
function destroyNode (node) {  
document.body.removeChild(node);  
}  
   
}); });
   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
<head> <head>
<title>Jasmine Spec Runner</title> <title>Jasmine Spec Runner</title>
   
<link rel="shortcut icon" type="image/png" href="../lib/jasmine/jasmine_favicon.png"> <link rel="shortcut icon" type="image/png" href="../lib/jasmine/jasmine_favicon.png">
   
<link rel="stylesheet" type="text/css" href="../lib/jasmine/jasmine.css"> <link rel="stylesheet" type="text/css" href="../lib/jasmine/jasmine.css">
<script type="text/javascript" src="../lib/jasmine/jasmine.js"></script> <script type="text/javascript" src="../lib/jasmine/jasmine.js"></script>
<script type="text/javascript" src="../lib/jasmine/jasmine-html.js"></script> <script type="text/javascript" src="../lib/jasmine/jasmine-html.js"></script>
<script type="text/javascript" src="../lib/imagediff.js"></script> <script type="text/javascript" src="../lib/imagediff.js"></script>
<script type="text/javascript" src="../examples/lib/randomseed.js"></script> <script type="text/javascript" src="../examples/lib/randomseed.js"></script>
   
<!-- include source files here... --> <!-- include source files here... -->
<script type="text/javascript" src="js/flotr2.stable.js"></script> <script type="text/javascript" src="js/flotr2.stable.js"></script>
<script type="text/javascript"> <script type="text/javascript">
var StableFlotr = Flotr.noConflict(); var StableFlotr = Flotr.noConflict();
</script> </script>
   
<script src="../lib/bean.js"></script> <script src="../lib/bean.js"></script>
<script src="../lib/underscore.js"></script> <script src="../lib/underscore.js"></script>
<script src="../js/Flotr.js"></script> <script src="../js/Flotr.js"></script>
<script src="../js/DefaultOptions.js"></script> <script src="../js/DefaultOptions.js"></script>
<script src="../js/Color.js"></script> <script src="../js/Color.js"></script>
<script src="../js/Date.js"></script> <script src="../js/Date.js"></script>
<script src="../js/DOM.js"></script> <script src="../js/DOM.js"></script>
<script src="../js/EventAdapter.js"></script> <script src="../js/EventAdapter.js"></script>
<script src="../js/Text.js"></script> <script src="../js/Text.js"></script>
<script src="../js/Graph.js"></script> <script src="../js/Graph.js"></script>
<script src="../js/Axis.js"></script> <script src="../js/Axis.js"></script>
<script src="../js/Series.js"></script> <script src="../js/Series.js"></script>
<script src="../js/types/lines.js"></script> <script src="../js/types/lines.js"></script>
<script src="../js/types/bars.js"></script> <script src="../js/types/bars.js"></script>
<script src="../js/types/bubbles.js"></script> <script src="../js/types/bubbles.js"></script>
<script src="../js/types/candles.js"></script> <script src="../js/types/candles.js"></script>
<script src="../js/types/gantt.js"></script> <script src="../js/types/gantt.js"></script>
<script src="../js/types/markers.js"></script> <script src="../js/types/markers.js"></script>
<script src="../js/types/pie.js"></script> <script src="../js/types/pie.js"></script>
<script src="../js/types/points.js"></script> <script src="../js/types/points.js"></script>
<script src="../js/types/radar.js"></script> <script src="../js/types/radar.js"></script>
<script src="../js/types/timeline.js"></script> <script src="../js/types/timeline.js"></script>
<script src="../js/plugins/crosshair.js"></script> <script src="../js/plugins/crosshair.js"></script>
<script src="../js/plugins/download.js"></script> <script src="../js/plugins/download.js"></script>
<script src="../js/plugins/grid.js"></script> <script src="../js/plugins/grid.js"></script>
<script src="../js/plugins/hit.js"></script> <script src="../js/plugins/hit.js"></script>
<script src="../js/plugins/selection.js"></script> <script src="../js/plugins/selection.js"></script>
<script src="../js/plugins/labels.js"></script> <script src="../js/plugins/labels.js"></script>
<script src="../js/plugins/legend.js"></script> <script src="../js/plugins/legend.js"></script>
<script src="../js/plugins/spreadsheet.js"></script> <script src="../js/plugins/spreadsheet.js"></script>
<script src="../js/plugins/titles.js"></script> <script src="../js/plugins/titles.js"></script>
<script src="../js/charts/lines.js"></script> <script src="../js/charts/lines.js"></script>
   
<!-- Test Examples --> <!-- Test Examples -->
<script type="text/javascript" src="../flotr2.examples.types.js"></script> <script type="text/javascript" src="../flotr2.examples.types.js"></script>
<script type="text/javascript" src="js/test-background.js"></script> <script type="text/javascript" src="js/test-background.js"></script>
<script type="text/javascript" src="js/test-boundaries.js"></script> <script type="text/javascript" src="js/test-boundaries.js"></script>
<script type="text/javascript" src="js/test-mountain-nulls.js"></script> <script type="text/javascript" src="js/test-mountain-nulls.js"></script>
   
<script type="text/javascript"> <script type="text/javascript">
var TestFlotr = Flotr.noConflict(); var TestFlotr = Flotr.noConflict();
</script> </script>
   
<!-- include spec files here... --> <!-- include spec files here... -->
<script type="text/javascript" src="Flotr.js"></script> <script type="text/javascript" src="Flotr.js"></script>
<script type="text/javascript" src="Color.js"></script> <script type="text/javascript" src="Color.js"></script>
<script type="text/javascript" src="Graph.js"></script> <script type="text/javascript" src="Graph.js"></script>
<script type="text/javascript" src="Chart.js"></script> <script type="text/javascript" src="Chart.js"></script>
   
</head> </head>
   
<body> <body>
</body> </body>
<script type="text/javascript"> <script type="text/javascript">
(function() { (function () {
var jasmineEnv = jasmine.getEnv(); var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 1000; jasmineEnv.updateInterval = 1000;
   
var reporter = new jasmine.HtmlReporter(); var reporter = new jasmine.HtmlReporter();
   
jasmineEnv.addReporter(reporter); jasmineEnv.addReporter(reporter);
   
jasmineEnv.specFilter = function(spec) { jasmineEnv.specFilter = function (spec) {
return reporter.specFilter(spec); return reporter.specFilter(spec);
}; };
   
var currentWindowOnload = window.onload; var currentWindowOnload = window.onload;
   
window.onload = function() { window.onload = function () {
if (currentWindowOnload) { if (currentWindowOnload) {
currentWindowOnload(); currentWindowOnload();
} }
execJasmine(); execJasmine();
}; };
   
function execJasmine() { function execJasmine() {
jasmineEnv.execute(); jasmineEnv.execute();
} }
   
})(); })();
</script> </script>
</html> </html>
   
/*! /*!
* bean.js - copyright Jacob Thornton 2011 * bean.js - copyright Jacob Thornton 2011
* https://github.com/fat/bean * https://github.com/fat/bean
* MIT License * MIT License
* special thanks to: * special thanks to:
* dean edwards: http://dean.edwards.name/ * dean edwards: http://dean.edwards.name/
* dperini: https://github.com/dperini/nwevents * dperini: https://github.com/dperini/nwevents
* the entire mootools team: github.com/mootools/mootools-core * the entire mootools team: github.com/mootools/mootools-core
*/ */
/*global module:true, define:true*/ /*global module:true, define:true*/
!function (name, context, definition) { !function (name, context, definition) {
if (typeof module !== 'undefined') module.exports = definition(name, context); if (typeof module !== 'undefined') module.exports = definition(name, context);
else if (typeof define === 'function' && typeof define.amd === 'object') define(definition); else if (typeof define === 'function' && typeof define.amd === 'object') define(definition);
else context[name] = definition(name, context); else context[name] = definition(name, context);
}('bean', this, function (name, context) { }('bean', this, function (name, context) {
var win = window var win = window
, old = context[name] , old = context[name]
, overOut = /over|out/ , overOut = /over|out/
, namespaceRegex = /[^\.]*(?=\..*)\.|.*/ , namespaceRegex = /[^\.]*(?=\..*)\.|.*/
, nameRegex = /\..*/ , nameRegex = /\..*/
, addEvent = 'addEventListener' , addEvent = 'addEventListener'
, attachEvent = 'attachEvent' , attachEvent = 'attachEvent'
, removeEvent = 'removeEventListener' , removeEvent = 'removeEventListener'
, detachEvent = 'detachEvent' , detachEvent = 'detachEvent'
, doc = document || {} , doc = document || {}
, root = doc.documentElement || {} , root = doc.documentElement || {}
, W3C_MODEL = root[addEvent] , W3C_MODEL = root[addEvent]
, eventSupport = W3C_MODEL ? addEvent : attachEvent , eventSupport = W3C_MODEL ? addEvent : attachEvent
, slice = Array.prototype.slice , slice = Array.prototype.slice
, mouseTypeRegex = /click|mouse|menu|drag|drop/i , mouseTypeRegex = /click|mouse|menu|drag|drop/i
, touchTypeRegex = /^touch|^gesture/i , touchTypeRegex = /^touch|^gesture/i
, ONE = { one: 1 } // singleton for quick matching making add() do one() , ONE = { one: 1 } // singleton for quick matching making add() do one()
   
, nativeEvents = (function (hash, events, i) { , nativeEvents = (function (hash, events, i) {
for (i = 0; i < events.length; i++) for (i = 0; i < events.length; i++)
hash[events[i]] = 1 hash[events[i]] = 1
return hash return hash
})({}, ( })({}, (
'click dblclick mouseup mousedown contextmenu ' + // mouse buttons 'click dblclick mouseup mousedown contextmenu ' + // mouse buttons
'mousewheel DOMMouseScroll ' + // mouse wheel 'mousewheel DOMMouseScroll ' + // mouse wheel
'mouseover mouseout mousemove selectstart selectend ' + // mouse movement 'mouseover mouseout mousemove selectstart selectend ' + // mouse movement
'keydown keypress keyup ' + // keyboard 'keydown keypress keyup ' + // keyboard
'orientationchange ' + // mobile 'orientationchange ' + // mobile
'focus blur change reset select submit ' + // form elements 'focus blur change reset select submit ' + // form elements
'load unload beforeunload resize move DOMContentLoaded readystatechange ' + // window 'load unload beforeunload resize move DOMContentLoaded readystatechange ' + // window
'error abort scroll ' + // misc 'error abort scroll ' + // misc
(W3C_MODEL ? // element.fireEvent('onXYZ'... is not forgiving if we try to fire an event (W3C_MODEL ? // element.fireEvent('onXYZ'... is not forgiving if we try to fire an event
// that doesn't actually exist, so make sure we only do these on newer browsers // that doesn't actually exist, so make sure we only do these on newer browsers
'show ' + // mouse buttons 'show ' + // mouse buttons
'input invalid ' + // form elements 'input invalid ' + // form elements
'touchstart touchmove touchend touchcancel ' + // touch 'touchstart touchmove touchend touchcancel ' + // touch
'gesturestart gesturechange gestureend ' + // gesture 'gesturestart gesturechange gestureend ' + // gesture
'message readystatechange pageshow pagehide popstate ' + // window 'message readystatechange pageshow pagehide popstate ' + // window
'hashchange offline online ' + // window 'hashchange offline online ' + // window
'afterprint beforeprint ' + // printing 'afterprint beforeprint ' + // printing
'dragstart dragenter dragover dragleave drag drop dragend ' + // dnd 'dragstart dragenter dragover dragleave drag drop dragend ' + // dnd
'loadstart progress suspend emptied stalled loadmetadata ' + // media 'loadstart progress suspend emptied stalled loadmetadata ' + // media
'loadeddata canplay canplaythrough playing waiting seeking ' + // media 'loadeddata canplay canplaythrough playing waiting seeking ' + // media
'seeked ended durationchange timeupdate play pause ratechange ' + // media 'seeked ended durationchange timeupdate play pause ratechange ' + // media
'volumechange cuechange ' + // media 'volumechange cuechange ' + // media
'checking noupdate downloading cached updateready obsolete ' + // appcache 'checking noupdate downloading cached updateready obsolete ' + // appcache
'' : '') '' : '')
).split(' ') ).split(' ')
) )
   
, customEvents = (function () { , customEvents = (function () {
function isDescendant(parent, node) { function isDescendant(parent, node) {
while ((node = node.parentNode) !== null) { while ((node = node.parentNode) !== null) {
if (node === parent) return true if (node === parent) return true
} }
return false  
}  
   
function check(event) {  
var related = event.relatedTarget  
if (!related) return related === null  
return (related !== this && related.prefix !== 'xul' && !/document/.test(this.toString()) && !isDescendant(this, related))  
}  
   
return {  
mouseenter: { base: 'mouseover', condition: check }  
, mouseleave: { base: 'mouseout', condition: check }  
, mousewheel: { base: /Firefox/.test(navigator.userAgent) ? 'DOMMouseScroll' : 'mousewheel' }  
}  
})()  
   
, fixEvent = (function () {  
var commonProps = 'altKey attrChange attrName bubbles cancelable ctrlKey currentTarget detail eventPhase getModifierState isTrusted metaKey relatedNode relatedTarget shiftKey srcElement target timeStamp type view which'.split(' ')  
, mouseProps = commonProps.concat('button buttons clientX clientY dataTransfer fromElement offsetX offsetY pageX pageY screenX screenY toElement'.split(' '))  
, keyProps = commonProps.concat('char charCode key keyCode'.split(' '))  
, touchProps = commonProps.concat('touches targetTouches changedTouches scale rotation'.split(' '))  
, preventDefault = 'preventDefault'  
, createPreventDefault = function (event) {  
return function () {  
if (event[preventDefault])  
event[preventDefault]()  
else  
event.returnValue = false  
}  
}  
, stopPropagation = 'stopPropagation'  
, createStopPropagation = function (event) {  
return function () {  
if (event[stopPropagation])  
event[stopPropagation]()  
else  
event.cancelBubble = true  
}  
}  
, createStop = function (synEvent) {  
return function () {  
synEvent[preventDefault]()  
synEvent[stopPropagation]()  
synEvent.stopped = true  
}  
}  
, copyProps = function (event, result, props) {  
var i, p  
for (i = props.length; i--;) {  
p = props[i]  
if (!(p in result) && p in event) result[p] = event[p]  
}  
}  
   
return function (event, isNative) {  
var result = { originalEvent: event, isNative: isNative }  
if (!event)  
return result  
   
var props  
, type = event.type  
, target = event.target || event.srcElement  
   
result[preventDefault] = createPreventDefault(event)  
result[stopPropagation] = createStopPropagation(event)  
result.stop = createStop(result)  
result.target = target && target.nodeType === 3 ? target.parentNode : target  
   
if (isNative) { // we only need basic augmentation on custom events, the rest is too expensive  
if (type.indexOf('key') !== -1) {  
props = keyProps  
result.keyCode = event.which || event.keyCode  
} else if (mouseTypeRegex.test(type)) {  
props = mouseProps  
result.rightClick = event.which === 3 || event.button === 2  
result.pos = { x: 0, y: 0 }  
if (event.pageX || event.pageY) {  
result.clientX = event.pageX  
result.clientY = event.pageY  
} else if (event.clientX || event.clientY) {  
result.clientX = event.clientX + doc.body.scrollLeft + root.scrollLeft  
result.clientY = event.clientY + doc.body.scrollTop + root.scrollTop  
}  
if (overOut.test(type))  
result.relatedTarget = event.relatedTarget || event[(type === 'mouseover' ? 'from' : 'to') + 'Element']  
} else if (touchTypeRegex.test(type)) {  
props = touchProps  
}  
copyProps(event, result, props || commonProps)  
}  
return result  
}  
})()  
   
// if we're in old IE we can't do onpropertychange on doc or win so we use doc.documentElement for both  
, targetElement = function (element, isNative) {  
return !W3C_MODEL && !isNative && (element === doc || element === win) ? root : element  
}  
   
// we use one of these per listener, of any type  
, RegEntry = (function () {  
function entry(element, type, handler, original, namespaces) {  
this.element = element  
this.type = type  
this.handler = handler  
this.original = original  
this.namespaces = namespaces  
this.custom = customEvents[type]  
this.isNative = nativeEvents[type] && element[eventSupport]  
this.eventType = W3C_MODEL || this.isNative ? type : 'propertychange'  
this.customType = !W3C_MODEL && !this.isNative && type  
this.target = targetElement(element, this.isNative)  
this.eventSupport = this.target[eventSupport]  
}  
   
entry.prototype = {  
// given a list of namespaces, is our entry in any of them?  
inNamespaces: function (checkNamespaces) {  
var i, j  
if (!checkNamespaces)  
return true  
if (!this.namespaces)  
return false return false
for (i = checkNamespaces.length; i--;) { }
for (j = this.namespaces.length; j--;) {  
if (checkNamespaces[i] === this.namespaces[j]) function check(event) {
return true var related = event.relatedTarget
} if (!related) return related === null
} return (related !== this && related.prefix !== 'xul' && !/document/.test(this.toString()) && !isDescendant(this, related))
return false }
}  
  return {
// match by element, original fn (opt), handler fn (opt) mouseenter: { base: 'mouseover', condition: check }, mouseleave: { base: 'mouseout', condition: check }, mousewheel: { base: /Firefox/.test(navigator.userAgent) ? 'DOMMouseScroll' : 'mousewheel' }
, matches: function (checkElement, checkOriginal, checkHandler) { }
return this.element === checkElement && })()
(!checkOriginal || this.original === checkOriginal) &&  
(!checkHandler || this.handler === checkHandler) , fixEvent = (function () {
} var commonProps = 'altKey attrChange attrName bubbles cancelable ctrlKey currentTarget detail eventPhase getModifierState isTrusted metaKey relatedNode relatedTarget shiftKey srcElement target timeStamp type view which'.split(' ')
} , mouseProps = commonProps.concat('button buttons clientX clientY dataTransfer fromElement offsetX offsetY pageX pageY screenX screenY toElement'.split(' '))
  , keyProps = commonProps.concat('char charCode key keyCode'.split(' '))
return entry , touchProps = commonProps.concat('touches targetTouches changedTouches scale rotation'.split(' '))
})() , preventDefault = 'preventDefault'
  , createPreventDefault = function (event) {
, registry = (function () { return function () {
// our map stores arrays by event type, just because it's better than storing if (event[preventDefault])
// everything in a single array. uses '$' as a prefix for the keys for safety event[preventDefault]()
var map = {} else
  event.returnValue = false
// generic functional search of our registry for matching listeners, }
// `fn` returns false to break out of the loop }
, forAll = function (element, type, original, handler, fn) { , stopPropagation = 'stopPropagation'
if (!type || type === '*') { , createStopPropagation = function (event) {
// search the whole registry return function () {
for (var t in map) { if (event[stopPropagation])
if (t.charAt(0) === '$') event[stopPropagation]()
forAll(element, t.substr(1), original, handler, fn) else
} event.cancelBubble = true
} else { }
var i = 0, l, list = map['$' + type], all = element === '*' }
if (!list) , createStop = function (synEvent) {
return return function () {
for (l = list.length; i < l; i++) { synEvent[preventDefault]()
if (all || list[i].matches(element, original, handler)) synEvent[stopPropagation]()
if (!fn(list[i], list, i, type)) synEvent.stopped = true
return }
} }
} , copyProps = function (event, result, props) {
} var i, p
  for (i = props.length; i--;) {
, has = function (element, type, original) { p = props[i]
// we're not using forAll here simply because it's a bit slower and this if (!(p in result) && p in event) result[p] = event[p]
// needs to be fast }
var i, list = map['$' + type] }
if (list) {  
for (i = list.length; i--;) { return function (event, isNative) {
if (list[i].matches(element, original, null)) var result = { originalEvent: event, isNative: isNative }
return true if (!event)
} return result
}  
return false var props
} , type = event.type
  , target = event.target || event.srcElement
, get = function (element, type, original) {  
var entries = [] result[preventDefault] = createPreventDefault(event)
forAll(element, type, original, null, function (entry) { return entries.push(entry) }) result[stopPropagation] = createStopPropagation(event)
return entries result.stop = createStop(result)
} result.target = target && target.nodeType === 3 ? target.parentNode : target
   
, put = function (entry) { if (isNative) { // we only need basic augmentation on custom events, the rest is too expensive
(map['$' + entry.type] || (map['$' + entry.type] = [])).push(entry) if (type.indexOf('key') !== -1) {
return entry props = keyProps
} result.keyCode = event.which || event.keyCode
  } else if (mouseTypeRegex.test(type)) {
, del = function (entry) { props = mouseProps
forAll(entry.element, entry.type, null, entry.handler, function (entry, list, i) { result.rightClick = event.which === 3 || event.button === 2
list.splice(i, 1) result.pos = { x: 0, y: 0 }
if (list.length === 0) if (event.pageX || event.pageY) {
delete map['$' + entry.type] result.clientX = event.pageX
return false result.clientY = event.pageY
}) } else if (event.clientX || event.clientY) {
} result.clientX = event.clientX + doc.body.scrollLeft + root.scrollLeft
  result.clientY = event.clientY + doc.body.scrollTop + root.scrollTop
  }
  if (overOut.test(type))
  result.relatedTarget = event.relatedTarget || event[(type === 'mouseover' ? 'from' : 'to') + 'Element']
  } else if (touchTypeRegex.test(type)) {
  props = touchProps
  }
  copyProps(event, result, props || commonProps)
  }
  return result
  }
  })()
   
  // if we're in old IE we can't do onpropertychange on doc or win so we use doc.documentElement for both
  , targetElement = function (element, isNative) {
  return !W3C_MODEL && !isNative && (element === doc || element === win) ? root : element
  }
   
  // we use one of these per listener, of any type
  , RegEntry = (function () {
  function entry(element, type, handler, original, namespaces) {
  this.element = element
  this.type = type
  this.handler = handler
  this.original = original
  this.namespaces = namespaces
  this.custom = customEvents[type]
  this.isNative = nativeEvents[type] && element[eventSupport]
  this.eventType = W3C_MODEL || this.isNative ? type : 'propertychange'
  this.customType = !W3C_MODEL && !this.isNative && type
  this.target = targetElement(element, this.isNative)
  this.eventSupport = this.target[eventSupport]
  }
   
  entry.prototype = {
  // given a list of namespaces, is our entry in any of them?
  inNamespaces: function (checkNamespaces) {
  var i, j
  if (!checkNamespaces)
  return true
  if (!this.namespaces)
  return false
  for (i = checkNamespaces.length; i--;) {
  for (j = this.namespaces.length; j--;) {
  if (checkNamespaces[i] === this.namespaces[j])
  return true
  }
  }
  return false
  }
   
  // match by element, original fn (opt), handler fn (opt)
  , matches: function (checkElement, checkOriginal, checkHandler) {
  return this.element === checkElement &&
  (!checkOriginal || this.original === checkOriginal) &&
  (!checkHandler || this.handler === checkHandler)
  }
  }
   
  return entry
  })()
   
  , registry = (function () {
  // our map stores arrays by event type, just because it's better than storing
  // everything in a single array. uses '$' as a prefix for the keys for safety
  var map = {}
   
  // generic functional search of our registry for matching listeners,
  // `fn` returns false to break out of the loop
  , forAll = function (element, type, original, handler, fn) {
  if (!type || type === '*') {
  // search the whole registry
  for (var t in map) {
  if (t.charAt(0) === '$')
  forAll(element, t.substr(1), original, handler, fn)
  }
  } else {
  var i = 0, l, list = map['$' + type], all = element === '*'
  if (!list)
  return
  for (l = list.length; i < l; i++) {
  if (all || list[i].matches(element, original, handler))
  if (!fn(list[i], list, i, type))
  return
  }
  }
  }
   
  , has = function (element, type, original) {
  // we're not using forAll here simply because it's a bit slower and this
  // needs to be fast
  var i, list = map['$' + type]
  if (list) {
  for (i = list.length; i--;) {
  if (list[i].matches(element, original, null))
  return true
  }
  }
  return false
  }
   
  , get = function (element, type, original) {
  var entries = []
  forAll(element, type, original, null, function (entry) {
  return entries.push(entry)
  })
  return entries
  }
   
  , put = function (entry) {
  (map['$' + entry.type] || (map['$' + entry.type] = [])).push(entry)
  return entry
  }
   
  , del = function (entry) {
  forAll(entry.element, entry.type, null, entry.handler, function (entry, list, i) {
  list.splice(i, 1)
  if (list.length === 0)
  delete map['$' + entry.type]
  return false
  })
  }
   
// dump all entries, used for onunload // dump all entries, used for onunload
, entries = function () { , entries = function () {
var t, entries = [] var t, entries = []
for (t in map) { for (t in map) {
if (t.charAt(0) === '$') if (t.charAt(0) === '$')
entries = entries.concat(map[t]) entries = entries.concat(map[t])
} }
return entries return entries
} }
   
return { has: has, get: get, put: put, del: del, entries: entries } return { has: has, get: get, put: put, del: del, entries: entries }
})() })()
   
// add and remove listeners to DOM elements // add and remove listeners to DOM elements
, listener = W3C_MODEL ? function (element, type, fn, add) { , listener = W3C_MODEL ? function (element, type, fn, add) {
element[add ? addEvent : removeEvent](type, fn, false) element[add ? addEvent : removeEvent](type, fn, false)
} : function (element, type, fn, add, custom) { } : function (element, type, fn, add, custom) {
if (custom && add && element['_on' + custom] === null) if (custom && add && element['_on' + custom] === null)
element['_on' + custom] = 0 element['_on' + custom] = 0
element[add ? attachEvent : detachEvent]('on' + type, fn) element[add ? attachEvent : detachEvent]('on' + type, fn)
} }
   
, nativeHandler = function (element, fn, args) { , nativeHandler = function (element, fn, args) {
return function (event) { return function (event) {
event = fixEvent(event || ((this.ownerDocument || this.document || this).parentWindow || win).event, true) event = fixEvent(event || ((this.ownerDocument || this.document || this).parentWindow || win).event, true)
return fn.apply(element, [event].concat(args)) return fn.apply(element, [event].concat(args))
} }
} }
   
, customHandler = function (element, fn, type, condition, args, isNative) { , customHandler = function (element, fn, type, condition, args, isNative) {
return function (event) { return function (event) {
if (condition ? condition.apply(this, arguments) : W3C_MODEL ? true : event && event.propertyName === '_on' + type || !event) { if (condition ? condition.apply(this, arguments) : W3C_MODEL ? true : event && event.propertyName === '_on' + type || !event) {
if (event) if (event)
event = fixEvent(event || ((this.ownerDocument || this.document || this).parentWindow || win).event, isNative) event = fixEvent(event || ((this.ownerDocument || this.document || this).parentWindow || win).event, isNative)
fn.apply(element, event && (!args || args.length === 0) ? arguments : slice.call(arguments, event ? 0 : 1).concat(args)) fn.apply(element, event && (!args || args.length === 0) ? arguments : slice.call(arguments, event ? 0 : 1).concat(args))
} }
} }
} }
   
, once = function (rm, element, type, fn, originalFn) { , once = function (rm, element, type, fn, originalFn) {
// wrap the handler in a handler that does a remove as well // wrap the handler in a handler that does a remove as well
return function () { return function () {
rm(element, type, originalFn) rm(element, type, originalFn)
fn.apply(this, arguments) fn.apply(this, arguments)
} }
} }
   
, removeListener = function (element, orgType, handler, namespaces) { , removeListener = function (element, orgType, handler, namespaces) {
var i, l, entry var i, l, entry
, type = (orgType && orgType.replace(nameRegex, '')) , type = (orgType && orgType.replace(nameRegex, ''))
, handlers = registry.get(element, type, handler) , handlers = registry.get(element, type, handler)
   
for (i = 0, l = handlers.length; i < l; i++) { for (i = 0, l = handlers.length; i < l; i++) {
if (handlers[i].inNamespaces(namespaces)) { if (handlers[i].inNamespaces(namespaces)) {
if ((entry = handlers[i]).eventSupport) if ((entry = handlers[i]).eventSupport)
listener(entry.target, entry.eventType, entry.handler, false, entry.type) listener(entry.target, entry.eventType, entry.handler, false, entry.type)
// TODO: this is problematic, we have a registry.get() and registry.del() that // TODO: this is problematic, we have a registry.get() and registry.del() that
// both do registry searches so we waste cycles doing this. Needs to be rolled into // both do registry searches so we waste cycles doing this. Needs to be rolled into
// a single registry.forAll(fn) that removes while finding, but the catch is that // a single registry.forAll(fn) that removes while finding, but the catch is that
// we'll be splicing the arrays that we're iterating over. Needs extra tests to // we'll be splicing the arrays that we're iterating over. Needs extra tests to
// make sure we don't screw it up. @rvagg // make sure we don't screw it up. @rvagg
registry.del(entry) registry.del(entry)
} }
} }
} }
   
, addListener = function (element, orgType, fn, originalFn, args) { , addListener = function (element, orgType, fn, originalFn, args) {
var entry var entry
, type = orgType.replace(nameRegex, '') , type = orgType.replace(nameRegex, '')
, namespaces = orgType.replace(namespaceRegex, '').split('.') , namespaces = orgType.replace(namespaceRegex, '').split('.')
   
if (registry.has(element, type, fn)) if (registry.has(element, type, fn))
return element // no dupe return element // no dupe
if (type === 'unload') if (type === 'unload')
fn = once(removeListener, element, type, fn, originalFn) // self clean-up fn = once(removeListener, element, type, fn, originalFn) // self clean-up
if (customEvents[type]) { if (customEvents[type]) {
if (customEvents[type].condition) if (customEvents[type].condition)
fn = customHandler(element, fn, type, customEvents[type].condition, true) fn = customHandler(element, fn, type, customEvents[type].condition, true)
type = customEvents[type].base || type type = customEvents[type].base || type
} }
entry = registry.put(new RegEntry(element, type, fn, originalFn, namespaces[0] && namespaces)) entry = registry.put(new RegEntry(element, type, fn, originalFn, namespaces[0] && namespaces))
entry.handler = entry.isNative ? entry.handler = entry.isNative ?
nativeHandler(element, entry.handler, args) : nativeHandler(element, entry.handler, args) :
customHandler(element, entry.handler, type, false, args, false) customHandler(element, entry.handler, type, false, args, false)
if (entry.eventSupport) if (entry.eventSupport)
listener(entry.target, entry.eventType, entry.handler, true, entry.customType) listener(entry.target, entry.eventType, entry.handler, true, entry.customType)
} }
   
, del = function (selector, fn, $) { , del = function (selector, fn, $) {
return function (e) { return function (e) {
var target, i, array = typeof selector === 'string' ? $(selector, this) : selector var target, i, array = typeof selector === 'string' ? $(selector, this) : selector
for (target = e.target; target && target !== this; target = target.parentNode) { for (target = e.target; target && target !== this; target = target.parentNode) {
for (i = array.length; i--;) { for (i = array.length; i--;) {
if (array[i] === target) { if (array[i] === target) {
return fn.apply(target, arguments) return fn.apply(target, arguments)
} }
} }
} }
} }
} }
   
, remove = function (element, typeSpec, fn) { , remove = function (element, typeSpec, fn) {
var k, m, type, namespaces, i var k, m, type, namespaces, i
, rm = removeListener , rm = removeListener
, isString = typeSpec && typeof typeSpec === 'string' , isString = typeSpec && typeof typeSpec === 'string'
   
if (isString && typeSpec.indexOf(' ') > 0) { if (isString && typeSpec.indexOf(' ') > 0) {
// remove(el, 't1 t2 t3', fn) or remove(el, 't1 t2 t3') // remove(el, 't1 t2 t3', fn) or remove(el, 't1 t2 t3')
typeSpec = typeSpec.split(' ') typeSpec = typeSpec.split(' ')
for (i = typeSpec.length; i--;) for (i = typeSpec.length; i--;)
remove(element, typeSpec[i], fn) remove(element, typeSpec[i], fn)
return element return element
} }
type = isString && typeSpec.replace(nameRegex, '') type = isString && typeSpec.replace(nameRegex, '')
if (type && customEvents[type]) if (type && customEvents[type])
type = customEvents[type].type type = customEvents[type].type
if (!typeSpec || isString) { if (!typeSpec || isString) {
// remove(el) or remove(el, t1.ns) or remove(el, .ns) or remove(el, .ns1.ns2.ns3) // remove(el) or remove(el, t1.ns) or remove(el, .ns) or remove(el, .ns1.ns2.ns3)
if (namespaces = isString && typeSpec.replace(namespaceRegex, '')) if (namespaces = isString && typeSpec.replace(namespaceRegex, ''))
namespaces = namespaces.split('.') namespaces = namespaces.split('.')
rm(element, type, fn, namespaces) rm(element, type, fn, namespaces)
} else if (typeof typeSpec === 'function') { } else if (typeof typeSpec === 'function') {
// remove(el, fn) // remove(el, fn)
rm(element, null, typeSpec) rm(element, null, typeSpec)
} else { } else {
// remove(el, { t1: fn1, t2, fn2 }) // remove(el, { t1: fn1, t2, fn2 })
for (k in typeSpec) { for (k in typeSpec) {
if (typeSpec.hasOwnProperty(k)) if (typeSpec.hasOwnProperty(k))
remove(element, k, typeSpec[k]) remove(element, k, typeSpec[k])
} }
} }
return element return element
} }
   
, add = function (element, events, fn, delfn, $) { , add = function (element, events, fn, delfn, $) {
var type, types, i, args var type, types, i, args
, originalFn = fn , originalFn = fn
, isDel = fn && typeof fn === 'string' , isDel = fn && typeof fn === 'string'
   
if (events && !fn && typeof events === 'object') { if (events && !fn && typeof events === 'object') {
for (type in events) { for (type in events) {
if (events.hasOwnProperty(type)) if (events.hasOwnProperty(type))
add.apply(this, [ element, type, events[type] ]) add.apply(this, [ element, type, events[type] ])
} }
} else { } else {
args = arguments.length > 3 ? slice.call(arguments, 3) : [] args = arguments.length > 3 ? slice.call(arguments, 3) : []
types = (isDel ? fn : events).split(' ') types = (isDel ? fn : events).split(' ')
isDel && (fn = del(events, (originalFn = delfn), $)) && (args = slice.call(args, 1)) isDel && (fn = del(events, (originalFn = delfn), $)) && (args = slice.call(args, 1))
// special case for one() // special case for one()
this === ONE && (fn = once(remove, element, events, fn, originalFn)) this === ONE && (fn = once(remove, element, events, fn, originalFn))
for (i = types.length; i--;) addListener(element, types[i], fn, originalFn, args) for (i = types.length; i--;) addListener(element, types[i], fn, originalFn, args)
} }
return element return element
} }
   
, one = function () { , one = function () {
return add.apply(ONE, arguments) return add.apply(ONE, arguments)
} }
   
, fireListener = W3C_MODEL ? function (isNative, type, element) { , fireListener = W3C_MODEL ? function (isNative, type, element) {
var evt = doc.createEvent(isNative ? 'HTMLEvents' : 'UIEvents') var evt = doc.createEvent(isNative ? 'HTMLEvents' : 'UIEvents')
evt[isNative ? 'initEvent' : 'initUIEvent'](type, true, true, win, 1) evt[isNative ? 'initEvent' : 'initUIEvent'](type, true, true, win, 1)
element.dispatchEvent(evt) element.dispatchEvent(evt)
} : function (isNative, type, element) { } : function (isNative, type, element) {
element = targetElement(element, isNative) element = targetElement(element, isNative)
// if not-native then we're using onpropertychange so we just increment a custom property // if not-native then we're using onpropertychange so we just increment a custom property
isNative ? element.fireEvent('on' + type, doc.createEventObject()) : element['_on' + type]++ isNative ? element.fireEvent('on' + type, doc.createEventObject()) : element['_on' + type]++
} }
   
, fire = function (element, type, args) { , fire = function (element, type, args) {
var i, j, l, names, handlers var i, j, l, names, handlers
, types = type.split(' ') , types = type.split(' ')
   
for (i = types.length; i--;) { for (i = types.length; i--;) {
type = types[i].replace(nameRegex, '') type = types[i].replace(nameRegex, '')
if (names = types[i].replace(namespaceRegex, '')) if (names = types[i].replace(namespaceRegex, ''))
names = names.split('.') names = names.split('.')
if (!names && !args && element[eventSupport]) { if (!names && !args && element[eventSupport]) {
fireListener(nativeEvents[type], type, element) fireListener(nativeEvents[type], type, element)
} else { } else {
// non-native event, either because of a namespace, arguments or a non DOM element // non-native event, either because of a namespace, arguments or a non DOM element
// iterate over all listeners and manually 'fire' // iterate over all listeners and manually 'fire'
handlers = registry.get(element, type) handlers = registry.get(element, type)
args = [false].concat(args) args = [false].concat(args)
for (j = 0, l = handlers.length; j < l; j++) { for (j = 0, l = handlers.length; j < l; j++) {
if (handlers[j].inNamespaces(names)) if (handlers[j].inNamespaces(names))
handlers[j].handler.apply(element, args) handlers[j].handler.apply(element, args)
} }
} }
} }
return element return element
} }
   
, clone = function (element, from, type) { , clone = function (element, from, type) {
var i = 0 var i = 0
, handlers = registry.get(from, type) , handlers = registry.get(from, type)
, l = handlers.length , l = handlers.length
   
for (;i < l; i++) for (; i < l; i++)
handlers[i].original && add(element, handlers[i].type, handlers[i].original) handlers[i].original && add(element, handlers[i].type, handlers[i].original)
return element return element
} }
   
, bean = { , bean = {
add: add add: add, one: one, remove: remove, clone: clone, fire: fire, noConflict: function () {
, one: one context[name] = old
, remove: remove return this
, clone: clone }
, fire: fire }
, noConflict: function () {  
context[name] = old if (win[attachEvent]) {
return this // for IE, clean up on unload to avoid leaks
} var cleanup = function () {
} var i, entries = registry.entries()
  for (i in entries) {
if (win[attachEvent]) { if (entries[i].type && entries[i].type !== 'unload')
// for IE, clean up on unload to avoid leaks remove(entries[i].element, entries[i].type)
var cleanup = function () { }
var i, entries = registry.entries() win[detachEvent]('onunload', cleanup)
for (i in entries) { win.CollectGarbage && win.CollectGarbage()
if (entries[i].type && entries[i].type !== 'unload') }
remove(entries[i].element, entries[i].type) win[attachEvent]('onunload', cleanup)
}  
win[detachEvent]('onunload', cleanup)  
win.CollectGarbage && win.CollectGarbage()  
} }
win[attachEvent]('onunload', cleanup)  
} return bean
   
return bean  
}); });
// Underscore.js 1.1.7 // Underscore.js 1.1.7
// (c) 2011 Jeremy Ashkenas, DocumentCloud Inc. // (c) 2011 Jeremy Ashkenas, DocumentCloud Inc.
// Underscore is freely distributable under the MIT license. // Underscore is freely distributable under the MIT license.
// Portions of Underscore are inspired or borrowed from Prototype, // Portions of Underscore are inspired or borrowed from Prototype,
// Oliver Steele's Functional, and John Resig's Micro-Templating. // Oliver Steele's Functional, and John Resig's Micro-Templating.
// For all details and documentation: // For all details and documentation:
// http://documentcloud.github.com/underscore // http://documentcloud.github.com/underscore
   
(function() { (function () {
   
// Baseline setup // Baseline setup
// -------------- // --------------
   
// Establish the root object, `window` in the browser, or `global` on the server. // Establish the root object, `window` in the browser, or `global` on the server.
var root = this; var root = this;
   
// Save the previous value of the `_` variable. // Save the previous value of the `_` variable.
var previousUnderscore = root._; var previousUnderscore = root._;
   
// Establish the object that gets returned to break out of a loop iteration. // Establish the object that gets returned to break out of a loop iteration.
var breaker = {}; var breaker = {};
   
// Save bytes in the minified (but not gzipped) version: // Save bytes in the minified (but not gzipped) version:
var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
   
// Create quick reference variables for speed access to core prototypes. // Create quick reference variables for speed access to core prototypes.
var slice = ArrayProto.slice, var slice = ArrayProto.slice,
unshift = ArrayProto.unshift, unshift = ArrayProto.unshift,
toString = ObjProto.toString, toString = ObjProto.toString,
hasOwnProperty = ObjProto.hasOwnProperty; hasOwnProperty = ObjProto.hasOwnProperty;
   
// All **ECMAScript 5** native function implementations that we hope to use // All **ECMAScript 5** native function implementations that we hope to use
// are declared here. // are declared here.
var var
nativeForEach = ArrayProto.forEach, nativeForEach = ArrayProto.forEach,
nativeMap = ArrayProto.map, nativeMap = ArrayProto.map,
nativeReduce = ArrayProto.reduce, nativeReduce = ArrayProto.reduce,
nativeReduceRight = ArrayProto.reduceRight, nativeReduceRight = ArrayProto.reduceRight,
nativeFilter = ArrayProto.filter, nativeFilter = ArrayProto.filter,
nativeEvery = ArrayProto.every, nativeEvery = ArrayProto.every,
nativeSome = ArrayProto.some, nativeSome = ArrayProto.some,
nativeIndexOf = ArrayProto.indexOf, nativeIndexOf = ArrayProto.indexOf,
nativeLastIndexOf = ArrayProto.lastIndexOf, nativeLastIndexOf = ArrayProto.lastIndexOf,
nativeIsArray = Array.isArray, nativeIsArray = Array.isArray,
nativeKeys = Object.keys, nativeKeys = Object.keys,
nativeBind = FuncProto.bind; nativeBind = FuncProto.bind;
   
// Create a safe reference to the Underscore object for use below. // Create a safe reference to the Underscore object for use below.
var _ = function(obj) { return new wrapper(obj); }; var _ = function (obj) {
  return new wrapper(obj);
// Export the Underscore object for **CommonJS**, with backwards-compatibility };
// for the old `require()` API. If we're not in CommonJS, add `_` to the  
// global object. // Export the Underscore object for **CommonJS**, with backwards-compatibility
if (typeof module !== 'undefined' && module.exports) { // for the old `require()` API. If we're not in CommonJS, add `_` to the
module.exports = _; // global object.
_._ = _; if (typeof module !== 'undefined' && module.exports) {
} else { module.exports = _;
// Exported as a string, for Closure Compiler "advanced" mode. _._ = _;
root['_'] = _;  
}  
   
// Current version.  
_.VERSION = '1.1.7';  
   
// Collection Functions  
// --------------------  
   
// The cornerstone, an `each` implementation, aka `forEach`.  
// Handles objects with the built-in `forEach`, arrays, and raw objects.  
// Delegates to **ECMAScript 5**'s native `forEach` if available.  
var each = _.each = _.forEach = function(obj, iterator, context) {  
if (obj == null) return;  
if (nativeForEach && obj.forEach === nativeForEach) {  
obj.forEach(iterator, context);  
} else if (obj.length === +obj.length) {  
for (var i = 0, l = obj.length; i < l; i++) {  
if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) return;  
}  
} else { } else {
for (var key in obj) { // Exported as a string, for Closure Compiler "advanced" mode.
if (hasOwnProperty.call(obj, key)) { root['_'] = _;
if (iterator.call(context, obj[key], key, obj) === breaker) return;  
}  
}  
} }
};  
  // Current version.
// Return the results of applying the iterator to each element. _.VERSION = '1.1.7';
// Delegates to **ECMAScript 5**'s native `map` if available.  
_.map = function(obj, iterator, context) { // Collection Functions
var results = []; // --------------------
if (obj == null) return results;  
if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); // The cornerstone, an `each` implementation, aka `forEach`.
each(obj, function(value, index, list) { // Handles objects with the built-in `forEach`, arrays, and raw objects.
results[results.length] = iterator.call(context, value, index, list); // Delegates to **ECMAScript 5**'s native `forEach` if available.
  var each = _.each = _.forEach = function (obj, iterator, context) {
  if (obj == null) return;
  if (nativeForEach && obj.forEach === nativeForEach) {
  obj.forEach(iterator, context);
  } else if (obj.length === +obj.length) {
  for (var i = 0, l = obj.length; i < l; i++) {
  if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) return;
  }
  } else {
  for (var key in obj) {
  if (hasOwnProperty.call(obj, key)) {
  if (iterator.call(context, obj[key], key, obj) === breaker) return;
  }
  }
  }
  };
   
  // Return the results of applying the iterator to each element.
  // Delegates to **ECMAScript 5**'s native `map` if available.
  _.map = function (obj, iterator, context) {
  var results = [];
  if (obj == null) return results;
  if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);
  each(obj, function (value, index, list) {
  results[results.length] = iterator.call(context, value, index, list);
  });
  return results;
  };
   
  // **Reduce** builds up a single result from a list of values, aka `inject`,
  // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available.
  _.reduce = _.foldl = _.inject = function (obj, iterator, memo, context) {
  var initial = memo !== void 0;
  if (obj == null) obj = [];
  if (nativeReduce && obj.reduce === nativeReduce) {
  if (context) iterator = _.bind(iterator, context);
  return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator);
  }
  each(obj, function (value, index, list) {
  if (!initial) {
  memo = value;
  initial = true;
  } else {
  memo = iterator.call(context, memo, value, index, list);
  }
  });
  if (!initial) throw new TypeError("Reduce of empty array with no initial value");
  return memo;
  };
   
  // The right-associative version of reduce, also known as `foldr`.
  // Delegates to **ECMAScript 5**'s native `reduceRight` if available.
  _.reduceRight = _.foldr = function (obj, iterator, memo, context) {
  if (obj == null) obj = [];
  if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {
  if (context) iterator = _.bind(iterator, context);
  return memo !== void 0 ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);
  }
  var reversed = (_.isArray(obj) ? obj.slice() : _.toArray(obj)).reverse();
  return _.reduce(reversed, iterator, memo, context);
  };
   
  // Return the first value which passes a truth test. Aliased as `detect`.
  _.find = _.detect = function (obj, iterator, context) {
  var result;
  any(obj, function (value, index, list) {
  if (iterator.call(context, value, index, list)) {
  result = value;
  return true;
  }
  });
  return result;
  };
   
  // Return all the elements that pass a truth test.
  // Delegates to **ECMAScript 5**'s native `filter` if available.
  // Aliased as `select`.
  _.filter = _.select = function (obj, iterator, context) {
  var results = [];
  if (obj == null) return results;
  if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context);
  each(obj, function (value, index, list) {
  if (iterator.call(context, value, index, list)) results[results.length] = value;
  });
  return results;
  };
   
  // Return all the elements for which a truth test fails.
  _.reject = function (obj, iterator, context) {
  var results = [];
  if (obj == null) return results;
  each(obj, function (value, index, list) {
  if (!iterator.call(context, value, index, list)) results[results.length] = value;
  });
  return results;
  };
   
  // Determine whether all of the elements match a truth test.
  // Delegates to **ECMAScript 5**'s native `every` if available.
  // Aliased as `all`.
  _.every = _.all = function (obj, iterator, context) {
  var result = true;
  if (obj == null) return result;
  if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context);
  each(obj, function (value, index, list) {
  if (!(result = result && iterator.call(context, value, index, list))) return breaker;
  });
  return result;
  };
   
  // Determine if at least one element in the object matches a truth test.
  // Delegates to **ECMAScript 5**'s native `some` if available.
  // Aliased as `any`.
  var any = _.some = _.any = function (obj, iterator, context) {
  iterator = iterator || _.identity;
  var result = false;
  if (obj == null) return result;
  if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context);
  each(obj, function (value, index, list) {
  if (result |= iterator.call(context, value, index, list)) return breaker;
  });
  return !!result;
  };
   
  // Determine if a given value is included in the array or object using `===`.
  // Aliased as `contains`.
  _.include = _.contains = function (obj, target) {
  var found = false;
  if (obj == null) return found;
  if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1;
  any(obj, function (value) {
  if (found = value === target) return true;
  });
  return found;
  };
   
  // Invoke a method (with arguments) on every item in a collection.
  _.invoke = function (obj, method) {
  var args = slice.call(arguments, 2);
  return _.map(obj, function (value) {
  return (method.call ? method || value : value[method]).apply(value, args);
  });
  };
   
  // Convenience version of a common use case of `map`: fetching a property.
  _.pluck = function (obj, key) {
  return _.map(obj, function (value) {
  return value[key];
  });
  };
   
  // Return the maximum element or (element-based computation).
  _.max = function (obj, iterator, context) {
  if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj);
  var result = {computed: -Infinity};
  each(obj, function (value, index, list) {
  var computed = iterator ? iterator.call(context, value, index, list) : value;
  computed >= result.computed && (result = {value: value, computed: computed});
  });
  return result.value;
  };
   
  // Return the minimum element (or element-based computation).
  _.min = function (obj, iterator, context) {
  if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj);
  var result = {computed: Infinity};
  each(obj, function (value, index, list) {
  var computed = iterator ? iterator.call(context, value, index, list) : value;
  computed < result.computed && (result = {value: value, computed: computed});
  });
  return result.value;
  };
   
  // Sort the object's values by a criterion produced by an iterator.
  _.sortBy = function (obj, iterator, context) {
  return _.pluck(_.map(obj,function (value, index, list) {
  return {
  value: value,
  criteria: iterator.call(context, value, index, list)
  };
  }).sort(function (left, right) {
  var a = left.criteria, b = right.criteria;
  return a < b ? -1 : a > b ? 1 : 0;
  }), 'value');
  };
   
  // Groups the object's values by a criterion produced by an iterator
  _.groupBy = function (obj, iterator) {
  var result = {};
  each(obj, function (value, index) {
  var key = iterator(value, index);
  (result[key] || (result[key] = [])).push(value);
  });
  return result;
  };
   
  // Use a comparator function to figure out at what index an object should
  // be inserted so as to maintain order. Uses binary search.
  _.sortedIndex = function (array, obj, iterator) {
  iterator || (iterator = _.identity);
  var low = 0, high = array.length;
  while (low < high) {
  var mid = (low + high) >> 1;
  iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid;
  }
  return low;
  };
   
  // Safely convert anything iterable into a real, live array.
  _.toArray = function (iterable) {
  if (!iterable) return [];
  if (iterable.toArray) return iterable.toArray();
  if (_.isArray(iterable)) return slice.call(iterable);
  if (_.isArguments(iterable)) return slice.call(iterable);
  return _.values(iterable);
  };
   
  // Return the number of elements in an object.
  _.size = function (obj) {
  return _.toArray(obj).length;
  };
   
  // Array Functions
  // ---------------
   
  // Get the first element of an array. Passing **n** will return the first N
  // values in the array. Aliased as `head`. The **guard** check allows it to work
  // with `_.map`.
  _.first = _.head = function (array, n, guard) {
  return (n != null) && !guard ? slice.call(array, 0, n) : array[0];
  };
   
  // Returns everything but the first entry of the array. Aliased as `tail`.
  // Especially useful on the arguments object. Passing an **index** will return
  // the rest of the values in the array from that index onward. The **guard**
  // check allows it to work with `_.map`.
  _.rest = _.tail = function (array, index, guard) {
  return slice.call(array, (index == null) || guard ? 1 : index);
  };
   
  // Get the last element of an array.
  _.last = function (array) {
  return array[array.length - 1];
  };
   
  // Trim out all falsy values from an array.
  _.compact = function (array) {
  return _.filter(array, function (value) {
  return !!value;
  });
  };
   
  // Return a completely flattened version of an array.
  _.flatten = function (array) {
  return _.reduce(array, function (memo, value) {
  if (_.isArray(value)) return memo.concat(_.flatten(value));
  memo[memo.length] = value;
  return memo;
  }, []);
  };
   
  // Return a version of the array that does not contain the specified value(s).
  _.without = function (array) {
  return _.difference(array, slice.call(arguments, 1));
  };
   
  // Produce a duplicate-free version of the array. If the array has already
  // been sorted, you have the option of using a faster algorithm.
  // Aliased as `unique`.
  _.uniq = _.unique = function (array, isSorted) {
  return _.reduce(array, function (memo, el, i) {
  if (0 == i || (isSorted === true ? _.last(memo) != el : !_.include(memo, el))) memo[memo.length] = el;
  return memo;
  }, []);
  };
   
  // Produce an array that contains the union: each distinct element from all of
  // the passed-in arrays.
  _.union = function () {
  return _.uniq(_.flatten(arguments));
  };
   
  // Produce an array that contains every item shared between all the
  // passed-in arrays. (Aliased as "intersect" for back-compat.)
  _.intersection = _.intersect = function (array) {
  var rest = slice.call(arguments, 1);
  return _.filter(_.uniq(array), function (item) {
  return _.every(rest, function (other) {
  return _.indexOf(other, item) >= 0;
  });
  });
  };
   
  // Take the difference between one array and another.
  // Only the elements present in just the first array will remain.
  _.difference = function (array, other) {
  return _.filter(array, function (value) {
  return !_.include(other, value);
  });
  };
   
  // Zip together multiple lists into a single array -- elements that share
  // an index go together.
  _.zip = function () {
  var args = slice.call(arguments);
  var length = _.max(_.pluck(args, 'length'));
  var results = new Array(length);
  for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i);
  return results;
  };
   
  // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**),
  // we need this function. Return the position of the first occurrence of an
  // item in an array, or -1 if the item is not included in the array.
  // Delegates to **ECMAScript 5**'s native `indexOf` if available.
  // If the array is large and already in sort order, pass `true`
  // for **isSorted** to use binary search.
  _.indexOf = function (array, item, isSorted) {
  if (array == null) return -1;
  var i, l;
  if (isSorted) {
  i = _.sortedIndex(array, item);
  return array[i] === item ? i : -1;
  }
  if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item);
  for (i = 0, l = array.length; i < l; i++) if (array[i] === item) return i;
  return -1;
  };
   
   
  // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available.
  _.lastIndexOf = function (array, item) {
  if (array == null) return -1;
  if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item);
  var i = array.length;
  while (i--) if (array[i] === item) return i;
  return -1;
  };
   
  // Generate an integer Array containing an arithmetic progression. A port of
  // the native Python `range()` function. See
  // [the Python documentation](http://docs.python.org/library/functions.html#range).
  _.range = function (start, stop, step) {
  if (arguments.length <= 1) {
  stop = start || 0;
  start = 0;
  }
  step = arguments[2] || 1;
   
  var len = Math.max(Math.ceil((stop - start) / step), 0);
  var idx = 0;
  var range = new Array(len);
   
  while (idx < len) {
  range[idx++] = start;
  start += step;
  }
   
  return range;
  };
   
  // Function (ahem) Functions
  // ------------------
   
  // Create a function bound to a given object (assigning `this`, and arguments,
  // optionally). Binding with arguments is also known as `curry`.
  // Delegates to **ECMAScript 5**'s native `Function.bind` if available.
  // We check for `func.bind` first, to fail fast when `func` is undefined.
  _.bind = function (func, obj) {
  if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));
  var args = slice.call(arguments, 2);
  return function () {
  return func.apply(obj, args.concat(slice.call(arguments)));
  };
  };
   
  // Bind all of an object's methods to that object. Useful for ensuring that
  // all callbacks defined on an object belong to it.
  _.bindAll = function (obj) {
  var funcs = slice.call(arguments, 1);
  if (funcs.length == 0) funcs = _.functions(obj);
  each(funcs, function (f) {
  obj[f] = _.bind(obj[f], obj);
  });
  return obj;
  };
   
  // Memoize an expensive function by storing its results.
  _.memoize = function (func, hasher) {
  var memo = {};
  hasher || (hasher = _.identity);
  return function () {
  var key = hasher.apply(this, arguments);
  return hasOwnProperty.call(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments));
  };
  };
   
  // Delays a function for the given number of milliseconds, and then calls
  // it with the arguments supplied.
  _.delay = function (func, wait) {
  var args = slice.call(arguments, 2);
  return setTimeout(function () {
  return func.apply(func, args);
  }, wait);
  };
   
  // Defers a function, scheduling it to run after the current call stack has
  // cleared.
  _.defer = function (func) {
  return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));
  };
   
  // Internal function used to implement `_.throttle` and `_.debounce`.
  var limit = function (func, wait, debounce) {
  var timeout;
  return function () {
  var context = this, args = arguments;
  var throttler = function () {
  timeout = null;
  func.apply(context, args);
  };
  if (debounce) clearTimeout(timeout);
  if (debounce || !timeout) timeout = setTimeout(throttler, wait);
  };
  };
   
  // Returns a function, that, when invoked, will only be triggered at most once
  // during a given window of time.
  _.throttle = function (func, wait) {
  return limit(func, wait, false);
  };
   
  // Returns a function, that, as long as it continues to be invoked, will not
  // be triggered. The function will be called after it stops being called for
  // N milliseconds.
  _.debounce = function (func, wait) {
  return limit(func, wait, true);
  };
   
  // Returns a function that will be executed at most one time, no matter how
  // often you call it. Useful for lazy initialization.
  _.once = function (func) {
  var ran = false, memo;
  return function () {
  if (ran) return memo;
  ran = true;
  return memo = func.apply(this, arguments);
  };
  };
   
  // Returns the first function passed as an argument to the second,
  // allowing you to adjust arguments, run code before and after, and
  // conditionally execute the original function.
  _.wrap = function (func, wrapper) {
  return function () {
  var args = [func].concat(slice.call(arguments));
  return wrapper.apply(this, args);
  };
  };
   
  // Returns a function that is the composition of a list of functions, each
  // consuming the return value of the function that follows.
  _.compose = function () {
  var funcs = slice.call(arguments);
  return function () {
  var args = slice.call(arguments);
  for (var i = funcs.length - 1; i >= 0; i--) {
  args = [funcs[i].apply(this, args)];
  }
  return args[0];
  };
  };
   
  // Returns a function that will only be executed after being called N times.
  _.after = function (times, func) {
  return function () {
  if (--times < 1) {
  return func.apply(this, arguments);
  }
  };
  };
   
   
  // Object Functions
  // ----------------
   
  // Retrieve the names of an object's properties.
  // Delegates to **ECMAScript 5**'s native `Object.keys`
  _.keys = nativeKeys || function (obj) {
  if (obj !== Object(obj)) throw new TypeError('Invalid object');
  var keys = [];
  for (var key in obj) if (hasOwnProperty.call(obj, key)) keys[keys.length] = key;
  return keys;
  };
   
  // Retrieve the values of an object's properties.
  _.values = function (obj) {
  return _.map(obj, _.identity);
  };
   
  // Return a sorted list of the function names available on the object.
  // Aliased as `methods`
  _.functions = _.methods = function (obj) {
  var names = [];
  for (var key in obj) {
  if (_.isFunction(obj[key])) names.push(key);
  }
  return names.sort();
  };
   
  // Extend a given object with all the properties in passed-in object(s).
  _.extend = function (obj) {
  each(slice.call(arguments, 1), function (source) {
  for (var prop in source) {
  if (source[prop] !== void 0) obj[prop] = source[prop];
  }
  });
  return obj;
  };
   
  // Fill in a given object with default properties.
  _.defaults = function (obj) {
  each(slice.call(arguments, 1), function (source) {
  for (var prop in source) {
  if (obj[prop] == null) obj[prop] = source[prop];
  }
  });
  return obj;
  };
   
  // Create a (shallow-cloned) duplicate of an object.
  _.clone = function (obj) {
  return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
  };
   
  // Invokes interceptor with the obj, and then returns obj.
  // The primary purpose of this method is to "tap into" a method chain, in
  // order to perform operations on intermediate results within the chain.
  _.tap = function (obj, interceptor) {
  interceptor(obj);
  return obj;
  };
   
  // Perform a deep comparison to check if two objects are equal.
  _.isEqual = function (a, b) {
  // Check object identity.
  if (a === b) return true;
  // Different types?
  var atype = typeof(a), btype = typeof(b);
  if (atype != btype) return false;
  // Basic equality test (watch out for coercions).
  if (a == b) return true;
  // One is falsy and the other truthy.
  if ((!a && b) || (a && !b)) return false;
  // Unwrap any wrapped objects.
  if (a._chain) a = a._wrapped;
  if (b._chain) b = b._wrapped;
  // One of them implements an isEqual()?
  if (a.isEqual) return a.isEqual(b);
  if (b.isEqual) return b.isEqual(a);
  // Check dates' integer values.
  if (_.isDate(a) && _.isDate(b)) return a.getTime() === b.getTime();
  // Both are NaN?
  if (_.isNaN(a) && _.isNaN(b)) return false;
  // Compare regular expressions.
  if (_.isRegExp(a) && _.isRegExp(b))
  return a.source === b.source &&
  a.global === b.global &&
  a.ignoreCase === b.ignoreCase &&
  a.multiline === b.multiline;
  // If a is not an object by this point, we can't handle it.
  if (atype !== 'object') return false;
  // Check for different array lengths before comparing contents.
  if (a.length && (a.length !== b.length)) return false;
  // Nothing else worked, deep compare the contents.
  var aKeys = _.keys(a), bKeys = _.keys(b);
  // Different object sizes?
  if (aKeys.length != bKeys.length) return false;
  // Recursive comparison of contents.
  for (var key in a) if (!(key in b) || !_.isEqual(a[key], b[key])) return false;
  return true;
  };
   
  // Is a given array or object empty?
  _.isEmpty = function (obj) {
  if (_.isArray(obj) || _.isString(obj)) return obj.length === 0;
  for (var key in obj) if (hasOwnProperty.call(obj, key)) return false;
  return true;
  };
   
  // Is a given value a DOM element?
  _.isElement = function (obj) {
  return !!(obj && obj.nodeType == 1);
  };
   
  // Is a given value an array?
  // Delegates to ECMA5's native Array.isArray
  _.isArray = nativeIsArray || function (obj) {
  return toString.call(obj) === '[object Array]';
  };
   
  // Is a given variable an object?
  _.isObject = function (obj) {
  return obj === Object(obj);
  };
   
  // Is a given variable an arguments object?
  _.isArguments = function (obj) {
  return !!(obj && hasOwnProperty.call(obj, 'callee'));
  };
   
  // Is a given value a function?
  _.isFunction = function (obj) {
  return !!(obj && obj.constructor && obj.call && obj.apply);
  };
   
  // Is a given value a string?
  _.isString = function (obj) {
  return !!(obj === '' || (obj && obj.charCodeAt && obj.substr));
  };
   
  // Is a given value a number?
  _.isNumber = function (obj) {
  return !!(obj === 0 || (obj && obj.toExponential && obj.toFixed));
  };
   
  // Is the given value `NaN`? `NaN` happens to be the only value in JavaScript
  // that does not equal itself.
  _.isNaN = function (obj) {
  return obj !== obj;
  };
   
  // Is a given value a boolean?
  _.isBoolean = function (obj) {
  return obj === true || obj === false;
  };
   
  // Is a given value a date?
  _.isDate = function (obj) {
  return !!(obj && obj.getTimezoneOffset && obj.setUTCFullYear);
  };
   
  // Is the given value a regular expression?
  _.isRegExp = function (obj) {
  return !!(obj && obj.test && obj.exec && (obj.ignoreCase || obj.ignoreCase === false));
  };
   
  // Is a given value equal to null?
  _.isNull = function (obj) {
  return obj === null;
  };
   
  // Is a given variable undefined?
  _.isUndefined = function (obj) {
  return obj === void 0;
  };
   
  // Utility Functions
  // -----------------
   
  // Run Underscore.js in *noConflict* mode, returning the `_` variable to its
  // previous owner. Returns a reference to the Underscore object.
  _.noConflict = function () {
  root._ = previousUnderscore;
  return this;
  };
   
  // Keep the identity function around for default iterators.
  _.identity = function (value) {
  return value;
  };
   
  // Run a function **n** times.
  _.times = function (n, iterator, context) {
  for (var i = 0; i < n; i++) iterator.call(context, i);
  };
   
  // Add your own custom functions to the Underscore object, ensuring that
  // they're correctly added to the OOP wrapper as well.
  _.mixin = function (obj) {
  each(_.functions(obj), function (name) {
  addToWrapper(name, _[name] = obj[name]);
  });
  };
   
  // Generate a unique integer id (unique within the entire client session).
  // Useful for temporary DOM ids.
  var idCounter = 0;
  _.uniqueId = function (prefix) {
  var id = idCounter++;
  return prefix ? prefix + id : id;
  };
   
  // By default, Underscore uses ERB-style template delimiters, change the
  // following template settings to use alternative delimiters.
  _.templateSettings = {
  evaluate: /<%([\s\S]+?)%>/g,
  interpolate: /<%=([\s\S]+?)%>/g
  };
   
  // JavaScript micro-templating, similar to John Resig's implementation.
  // Underscore templating handles arbitrary delimiters, preserves whitespace,
  // and correctly escapes quotes within interpolated code.
  _.template = function (str, data) {
  var c = _.templateSettings;
  var tmpl = 'var __p=[],print=function(){__p.push.apply(__p,arguments);};' +
  'with(obj||{}){__p.push(\'' +
  str.replace(/\\/g, '\\\\')
  .replace(/'/g, "\\'")
  .replace(c.interpolate, function (match, code) {
  return "'," + code.replace(/\\'/g, "'") + ",'";
  })
  .replace(c.evaluate || null, function (match, code) {
  return "');" + code.replace(/\\'/g, "'")
  .replace(/[\r\n\t]/g, ' ') + "__p.push('";
  })
  .replace(/\r/g, '\\r')
  .replace(/\n/g, '\\n')
  .replace(/\t/g, '\\t')
  + "');}return __p.join('');";
  var func = new Function('obj', tmpl);
  return data ? func(data) : func;
  };
   
  // The OOP Wrapper
  // ---------------
   
  // If Underscore is called as a function, it returns a wrapped object that
  // can be used OO-style. This wrapper holds altered versions of all the
  // underscore functions. Wrapped objects may be chained.
  var wrapper = function (obj) {
  this._wrapped = obj;
  };
   
  // Expose `wrapper.prototype` as `_.prototype`
  _.prototype = wrapper.prototype;
   
  // Helper function to continue chaining intermediate results.
  var result = function (obj, chain) {
  return chain ? _(obj).chain() : obj;
  };
   
  // A method to easily add functions to the OOP wrapper.
  var addToWrapper = function (name, func) {
  wrapper.prototype[name] = function () {
  var args = slice.call(arguments);
  unshift.call(args, this._wrapped);
  return result(func.apply(_, args), this._chain);
  };
  };
   
  // Add all of the Underscore functions to the wrapper object.
  _.mixin(_);
   
  // Add all mutator Array functions to the wrapper.
  each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function (name) {
  var method = ArrayProto[name];
  wrapper.prototype[name] = function () {
  method.apply(this._wrapped, arguments);
  return result(this._wrapped, this._chain);
  };
}); });
return results;  
}; // Add all accessor Array functions to the wrapper.
  each(['concat', 'join', 'slice'], function (name) {
// **Reduce** builds up a single result from a list of values, aka `inject`, var method = ArrayProto[name];
// or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available. wrapper.prototype[name] = function () {
_.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) { return result(method.apply(this._wrapped, arguments), this._chain);
var initial = memo !== void 0; };
if (obj == null) obj = [];  
if (nativeReduce && obj.reduce === nativeReduce) {  
if (context) iterator = _.bind(iterator, context);  
return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator);  
}  
each(obj, function(value, index, list) {  
if (!initial) {  
memo = value;  
initial = true;  
} else {  
memo = iterator.call(context, memo, value, index, list);  
}  
}); });
if (!initial) throw new TypeError("Reduce of empty array with no initial value");  
return memo; // Start chaining a wrapped Underscore object.
}; wrapper.prototype.chain = function () {
  this._chain = true;
// The right-associative version of reduce, also known as `foldr`. return this;
// Delegates to **ECMAScript 5**'s native `reduceRight` if available. };
_.reduceRight = _.foldr = function(obj, iterator, memo, context) {  
if (obj == null) obj = []; // Extracts the result from a wrapped and chained object.
if (nativeReduceRight && obj.reduceRight === nativeReduceRight) { wrapper.prototype.value = function () {
if (context) iterator = _.bind(iterator, context); return this._wrapped;
return memo !== void 0 ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator); };
}  
var reversed = (_.isArray(obj) ? obj.slice() : _.toArray(obj)).reverse();  
return _.reduce(reversed, iterator, memo, context);  
};  
   
// Return the first value which passes a truth test. Aliased as `detect`.  
_.find = _.detect = function(obj, iterator, context) {  
var result;  
any(obj, function(value, index, list) {  
if (iterator.call(context, value, index, list)) {  
result = value;  
return true;  
}  
});  
return result;  
};  
   
// Return all the elements that pass a truth test.  
// Delegates to **ECMAScript 5**'s native `filter` if available.  
// Aliased as `select`.  
_.filter = _.select = function(obj, iterator, context) {  
var results = [];  
if (obj == null) return results;  
if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context);  
each(obj, function(value, index, list) {  
if (iterator.call(context, value, index, list)) results[results.length] = value;  
});  
return results;  
};  
   
// Return all the elements for which a truth test fails.  
_.reject = function(obj, iterator, context) {  
var results = [];  
if (obj == null) return results;  
each(obj, function(value, index, list) {  
if (!iterator.call(context, value, index, list)) results[results.length] = value;  
});  
return results;  
};  
   
// Determine whether all of the elements match a truth test.  
// Delegates to **ECMAScript 5**'s native `every` if available.  
// Aliased as `all`.  
_.every = _.all = function(obj, iterator, context) {  
var result = true;  
if (obj == null) return result;  
if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context);  
each(obj, function(value, index, list) {  
if (!(result = result && iterator.call(context, value, index, list))) return breaker;  
});  
return result;  
};  
   
// Determine if at least one element in the object matches a truth test.  
// Delegates to **ECMAScript 5**'s native `some` if available.  
// Aliased as `any`.  
var any = _.some = _.any = function(obj, iterator, context) {  
iterator = iterator || _.identity;  
var result = false;  
if (obj == null) return result;  
if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context);  
each(obj, function(value, index, list) {  
if (result |= iterator.call(context, value, index, list)) return breaker;  
});  
return !!result;  
};  
   
// Determine if a given value is included in the array or object using `===`.  
// Aliased as `contains`.  
_.include = _.contains = function(obj, target) {  
var found = false;  
if (obj == null) return found;  
if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1;  
any(obj, function(value) {  
if (found = value === target) return true;  
});  
return found;  
};  
   
// Invoke a method (with arguments) on every item in a collection.  
_.invoke = function(obj, method) {  
var args = slice.call(arguments, 2);  
return _.map(obj, function(value) {  
return (method.call ? method || value : value[method]).apply(value, args);  
});  
};  
   
// Convenience version of a common use case of `map`: fetching a property.  
_.pluck = function(obj, key) {  
return _.map(obj, function(value){ return value[key]; });  
};  
   
// Return the maximum element or (element-based computation).  
_.max = function(obj, iterator, context) {  
if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj);  
var result = {computed : -Infinity};  
each(obj, function(value, index, list) {  
var computed = iterator ? iterator.call(context, value, index, list) : value;  
computed >= result.computed && (result = {value : value, computed : computed});  
});  
return result.value;  
};  
   
// Return the minimum element (or element-based computation).  
_.min = function(obj, iterator, context) {  
if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj);  
var result = {computed : Infinity};  
each(obj, function(value, index, list) {  
var computed = iterator ? iterator.call(context, value, index, list) : value;  
computed < result.computed && (result = {value : value, computed : computed});  
});  
return result.value;  
};  
   
// Sort the object's values by a criterion produced by an iterator.  
_.sortBy = function(obj, iterator, context) {  
return _.pluck(_.map(obj, function(value, index, list) {  
return {  
value : value,  
criteria : iterator.call(context, value, index, list)  
};  
}).sort(function(left, right) {  
var a = left.criteria, b = right.criteria;  
return a < b ? -1 : a > b ? 1 : 0;  
}), 'value');  
};  
   
// Groups the object's values by a criterion produced by an iterator  
_.groupBy = function(obj, iterator) {  
var result = {};  
each(obj, function(value, index) {  
var key = iterator(value, index);  
(result[key] || (result[key] = [])).push(value);  
});  
return result;  
};  
   
// Use a comparator function to figure out at what index an object should  
// be inserted so as to maintain order. Uses binary search.  
_.sortedIndex = function(array, obj, iterator) {  
iterator || (iterator = _.identity);  
var low = 0, high = array.length;  
while (low < high) {  
var mid = (low + high) >> 1;  
iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid;  
}  
return low;  
};  
   
// Safely convert anything iterable into a real, live array.  
_.toArray = function(iterable) {  
if (!iterable) return [];  
if (iterable.toArray) return iterable.toArray();  
if (_.isArray(iterable)) return slice.call(iterable);  
if (_.isArguments(iterable)) return slice.call(iterable);  
return _.values(iterable);  
};  
   
// Return the number of elements in an object.  
_.size = function(obj) {  
return _.toArray(obj).length;  
};  
   
// Array Functions  
// ---------------  
   
// Get the first element of an array. Passing **n** will return the first N  
// values in the array. Aliased as `head`. The **guard** check allows it to work  
// with `_.map`.  
_.first = _.head = function(array, n, guard) {  
return (n != null) && !guard ? slice.call(array, 0, n) : array[0];  
};  
   
// Returns everything but the first entry of the array. Aliased as `tail`.  
// Especially useful on the arguments object. Passing an **index** will return  
// the rest of the values in the array from that index onward. The **guard**  
// check allows it to work with `_.map`.  
_.rest = _.tail = function(array, index, guard) {  
return slice.call(array, (index == null) || guard ? 1 : index);  
};  
   
// Get the last element of an array.  
_.last = function(array) {  
return array[array.length - 1];  
};  
   
// Trim out all falsy values from an array.  
_.compact = function(array) {  
return _.filter(array, function(value){ return !!value; });  
};  
   
// Return a completely flattened version of an array.  
_.flatten = function(array) {  
return _.reduce(array, function(memo, value) {  
if (_.isArray(value)) return memo.concat(_.flatten(value));  
memo[memo.length] = value;  
return memo;  
}, []);  
};  
   
// Return a version of the array that does not contain the specified value(s).  
_.without = function(array) {  
return _.difference(array, slice.call(arguments, 1));  
};  
   
// Produce a duplicate-free version of the array. If the array has already  
// been sorted, you have the option of using a faster algorithm.  
// Aliased as `unique`.  
_.uniq = _.unique = function(array, isSorted) {  
return _.reduce(array, function(memo, el, i) {  
if (0 == i || (isSorted === true ? _.last(memo) != el : !_.include(memo, el))) memo[memo.length] = el;  
return memo;  
}, []);  
};  
   
// Produce an array that contains the union: each distinct element from all of  
// the passed-in arrays.  
_.union = function() {  
return _.uniq(_.flatten(arguments));  
};  
   
// Produce an array that contains every item shared between all the  
// passed-in arrays. (Aliased as "intersect" for back-compat.)  
_.intersection = _.intersect = function(array) {  
var rest = slice.call(arguments, 1);  
return _.filter(_.uniq(array), function(item) {  
return _.every(rest, function(other) {  
return _.indexOf(other, item) >= 0;  
});  
});  
};  
   
// Take the difference between one array and another.  
// Only the elements present in just the first array will remain.  
_.difference = function(array, other) {  
return _.filter(array, function(value){ return !_.include(other, value); });  
};  
   
// Zip together multiple lists into a single array -- elements that share  
// an index go together.  
_.zip = function() {  
var args = slice.call(arguments);  
var length = _.max(_.pluck(args, 'length'));  
var results = new Array(length);  
for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i);  
return results;  
};  
   
// If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**),  
// we need this function. Return the position of the first occurrence of an  
// item in an array, or -1 if the item is not included in the array.  
// Delegates to **ECMAScript 5**'s native `indexOf` if available.  
// If the array is large and already in sort order, pass `true`  
// for **isSorted** to use binary search.  
_.indexOf = function(array, item, isSorted) {  
if (array == null) return -1;  
var i, l;  
if (isSorted) {  
i = _.sortedIndex(array, item);  
return array[i] === item ? i : -1;  
}  
if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item);  
for (i = 0, l = array.length; i < l; i++) if (array[i] === item) return i;  
return -1;  
};  
   
   
// Delegates to **ECMAScript 5**'s native `lastIndexOf` if available.  
_.lastIndexOf = function(array, item) {  
if (array == null) return -1;  
if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item);  
var i = array.length;  
while (i--) if (array[i] === item) return i;  
return -1;  
};  
   
// Generate an integer Array containing an arithmetic progression. A port of  
// the native Python `range()` function. See  
// [the Python documentation](http://docs.python.org/library/functions.html#range).  
_.range = function(start, stop, step) {  
if (arguments.length <= 1) {  
stop = start || 0;  
start = 0;  
}  
step = arguments[2] || 1;  
   
var len = Math.max(Math.ceil((stop - start) / step), 0);  
var idx = 0;  
var range = new Array(len);  
   
while(idx < len) {  
range[idx++] = start;  
start += step;  
}  
   
return range;  
};  
   
// Function (ahem) Functions  
// ------------------  
   
// Create a function bound to a given object (assigning `this`, and arguments,  
// optionally). Binding with arguments is also known as `curry`.  
// Delegates to **ECMAScript 5**'s native `Function.bind` if available.  
// We check for `func.bind` first, to fail fast when `func` is undefined.  
_.bind = function(func, obj) {  
if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));  
var args = slice.call(arguments, 2);  
return function() {  
return func.apply(obj, args.concat(slice.call(arguments)));  
};  
};  
   
// Bind all of an object's methods to that object. Useful for ensuring that  
// all callbacks defined on an object belong to it.  
_.bindAll = function(obj) {  
var funcs = slice.call(arguments, 1);  
if (funcs.length == 0) funcs = _.functions(obj);  
each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); });  
return obj;  
};  
   
// Memoize an expensive function by storing its results.  
_.memoize = function(func, hasher) {  
var memo = {};  
hasher || (hasher = _.identity);  
return function() {  
var key = hasher.apply(this, arguments);  
return hasOwnProperty.call(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments));  
};  
};  
   
// Delays a function for the given number of milliseconds, and then calls  
// it with the arguments supplied.  
_.delay = function(func, wait) {  
var args = slice.call(arguments, 2);  
return setTimeout(function(){ return func.apply(func, args); }, wait);  
};  
   
// Defers a function, scheduling it to run after the current call stack has  
// cleared.  
_.defer = function(func) {  
return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));  
};  
   
// Internal function used to implement `_.throttle` and `_.debounce`.  
var limit = function(func, wait, debounce) {  
var timeout;  
return function() {  
var context = this, args = arguments;  
var throttler = function() {  
timeout = null;  
func.apply(context, args);  
};  
if (debounce) clearTimeout(timeout);  
if (debounce || !timeout) timeout = setTimeout(throttler, wait);  
};  
};  
   
// Returns a function, that, when invoked, will only be triggered at most once  
// during a given window of time.  
_.throttle = function(func, wait) {  
return limit(func, wait, false);  
};  
   
// Returns a function, that, as long as it continues to be invoked, will not  
// be triggered. The function will be called after it stops being called for  
// N milliseconds.  
_.debounce = function(func, wait) {  
return limit(func, wait, true);  
};  
   
// Returns a function that will be executed at most one time, no matter how  
// often you call it. Useful for lazy initialization.  
_.once = function(func) {  
var ran = false, memo;  
return function() {  
if (ran) return memo;  
ran = true;  
return memo = func.apply(this, arguments);  
};  
};  
   
// Returns the first function passed as an argument to the second,  
// allowing you to adjust arguments, run code before and after, and  
// conditionally execute the original function.  
_.wrap = function(func, wrapper) {  
return function() {  
var args = [func].concat(slice.call(arguments));  
return wrapper.apply(this, args);  
};  
};  
   
// Returns a function that is the composition of a list of functions, each  
// consuming the return value of the function that follows.  
_.compose = function() {  
var funcs = slice.call(arguments);  
return function() {  
var args = slice.call(arguments);  
for (var i = funcs.length - 1; i >= 0; i--) {  
args = [funcs[i].apply(this, args)];  
}  
return args[0];  
};  
};  
   
// Returns a function that will only be executed after being called N times.  
_.after = function(times, func) {  
return function() {  
if (--times < 1) { return func.apply(this, arguments); }  
};  
};  
   
   
// Object Functions  
// ----------------  
   
// Retrieve the names of an object's properties.  
// Delegates to **ECMAScript 5**'s native `Object.keys`  
_.keys = nativeKeys || function(obj) {  
if (obj !== Object(obj)) throw new TypeError('Invalid object');  
var keys = [];  
for (var key in obj) if (hasOwnProperty.call(obj, key)) keys[keys.length] = key;  
return keys;  
};  
   
// Retrieve the values of an object's properties.  
_.values = function(obj) {  
return _.map(obj, _.identity);  
};  
   
// Return a sorted list of the function names available on the object.  
// Aliased as `methods`  
_.functions = _.methods = function(obj) {  
var names = [];  
for (var key in obj) {  
if (_.isFunction(obj[key])) names.push(key);  
}  
return names.sort();  
};  
   
// Extend a given object with all the properties in passed-in object(s).  
_.extend = function(obj) {  
each(slice.call(arguments, 1), function(source) {  
for (var prop in source) {  
if (source[prop] !== void 0) obj[prop] = source[prop];  
}  
});  
return obj;  
};  
   
// Fill in a given object with default properties.  
_.defaults = function(obj) {  
each(slice.call(arguments, 1), function(source) {  
for (var prop in source) {  
if (obj[prop] == null) obj[prop] = source[prop];  
}  
});  
return obj;  
};  
   
// Create a (shallow-cloned) duplicate of an object.  
_.clone = function(obj) {  
return _.isArray(obj) ? obj.slice() : _.extend({}, obj);  
};  
   
// Invokes interceptor with the obj, and then returns obj.  
// The primary purpose of this method is to "tap into" a method chain, in  
// order to perform operations on intermediate results within the chain.  
_.tap = function(obj, interceptor) {  
interceptor(obj);  
return obj;  
};  
   
// Perform a deep comparison to check if two objects are equal.  
_.isEqual = function(a, b) {  
// Check object identity.  
if (a === b) return true;  
// Different types?  
var atype = typeof(a), btype = typeof(b);  
if (atype != btype) return false;  
// Basic equality test (watch out for coercions).  
if (a == b) return true;  
// One is falsy and the other truthy.  
if ((!a && b) || (a && !b)) return false;  
// Unwrap any wrapped objects.  
if (a._chain) a = a._wrapped;  
if (b._chain) b = b._wrapped;  
// One of them implements an isEqual()?  
if (a.isEqual) return a.isEqual(b);  
if (b.isEqual) return b.isEqual(a);  
// Check dates' integer values.  
if (_.isDate(a) && _.isDate(b)) return a.getTime() === b.getTime();  
// Both are NaN?  
if (_.isNaN(a) && _.isNaN(b)) return false;  
// Compare regular expressions.  
if (_.isRegExp(a) && _.isRegExp(b))  
return a.source === b.source &&  
a.global === b.global &&  
a.ignoreCase === b.ignoreCase &&  
a.multiline === b.multiline;  
// If a is not an object by this point, we can't handle it.  
if (atype !== 'object') return false;  
// Check for different array lengths before comparing contents.  
if (a.length && (a.length !== b.length)) return false;  
// Nothing else worked, deep compare the contents.  
var aKeys = _.keys(a), bKeys = _.keys(b);  
// Different object sizes?  
if (aKeys.length != bKeys.length) return false;  
// Recursive comparison of contents.  
for (var key in a) if (!(key in b) || !_.isEqual(a[key], b[key])) return false;  
return true;  
};  
   
// Is a given array or object empty?  
_.isEmpty = function(obj) {  
if (_.isArray(obj) || _.isString(obj)) return obj.length === 0;  
for (var key in obj) if (hasOwnProperty.call(obj, key)) return false;  
return true;  
};  
   
// Is a given value a DOM element?  
_.isElement = function(obj) {  
return !!(obj && obj.nodeType == 1);  
};  
   
// Is a given value an array?  
// Delegates to ECMA5's native Array.isArray  
_.isArray = nativeIsArray || function(obj) {  
return toString.call(obj) === '[object Array]';  
};  
   
// Is a given variable an object?  
_.isObject = function(obj) {  
return obj === Object(obj);  
};  
   
// Is a given variable an arguments object?  
_.isArguments = function(obj) {  
return !!(obj && hasOwnProperty.call(obj, 'callee'));  
};  
   
// Is a given value a function?  
_.isFunction = function(obj) {  
return !!(obj && obj.constructor && obj.call && obj.apply);  
};  
   
// Is a given value a string?  
_.isString = function(obj) {  
return !!(obj === '' || (obj && obj.charCodeAt && obj.substr));  
};  
   
// Is a given value a number?  
_.isNumber = function(obj) {  
return !!(obj === 0 || (obj && obj.toExponential && obj.toFixed));  
};  
   
// Is the given value `NaN`? `NaN` happens to be the only value in JavaScript  
// that does not equal itself.  
_.isNaN = function(obj) {  
return obj !== obj;  
};  
   
// Is a given value a boolean?  
_.isBoolean = function(obj) {  
return obj === true || obj === false;  
};  
   
// Is a given value a date?  
_.isDate = function(obj) {  
return !!(obj && obj.getTimezoneOffset && obj.setUTCFullYear);  
};  
   
// Is the given value a regular expression?  
_.isRegExp = function(obj) {  
return !!(obj && obj.test && obj.exec && (obj.ignoreCase || obj.ignoreCase === false));  
};  
   
// Is a given value equal to null?  
_.isNull = function(obj) {  
return obj === null;  
};  
   
// Is a given variable undefined?  
_.isUndefined = function(obj) {  
return obj === void 0;  
};  
   
// Utility Functions  
// -----------------  
   
// Run Underscore.js in *noConflict* mode, returning the `_` variable to its  
// previous owner. Returns a reference to the Underscore object.  
_.noConflict = function() {  
root._ = previousUnderscore;  
return this;  
};  
   
// Keep the identity function around for default iterators.  
_.identity = function(value) {  
return value;  
};  
   
// Run a function **n** times.  
_.times = function (n, iterator, context) {  
for (var i = 0; i < n; i++) iterator.call(context, i);  
};  
   
// Add your own custom functions to the Underscore object, ensuring that  
// they're correctly added to the OOP wrapper as well.  
_.mixin = function(obj) {  
each(_.functions(obj), function(name){  
addToWrapper(name, _[name] = obj[name]);  
});  
};  
   
// Generate a unique integer id (unique within the entire client session).  
// Useful for temporary DOM ids.  
var idCounter = 0;  
_.uniqueId = function(prefix) {  
var id = idCounter++;  
return prefix ? prefix + id : id;  
};  
   
// By default, Underscore uses ERB-style template delimiters, change the  
// following template settings to use alternative delimiters.  
_.templateSettings = {  
evaluate : /<%([\s\S]+?)%>/g,  
interpolate : /<%=([\s\S]+?)%>/g  
};  
   
// JavaScript micro-templating, similar to John Resig's implementation.  
// Underscore templating handles arbitrary delimiters, preserves whitespace,  
// and correctly escapes quotes within interpolated code.  
_.template = function(str, data) {  
var c = _.templateSettings;  
var tmpl = 'var __p=[],print=function(){__p.push.apply(__p,arguments);};' +  
'with(obj||{}){__p.push(\'' +  
str.replace(/\\/g, '\\\\')  
.replace(/'/g, "\\'")  
.replace(c.interpolate, function(match, code) {  
return "'," + code.replace(/\\'/g, "'") + ",'";  
})  
.replace(c.evaluate || null, function(match, code) {  
return "');" + code.replace(/\\'/g, "'")  
.replace(/[\r\n\t]/g, ' ') + "__p.push('";  
})  
.replace(/\r/g, '\\r')  
.replace(/\n/g, '\\n')  
.replace(/\t/g, '\\t')  
+ "');}return __p.join('');";  
var func = new Function('obj', tmpl);  
return data ? func(data) : func;  
};  
   
// The OOP Wrapper  
// ---------------  
   
// If Underscore is called as a function, it returns a wrapped object that  
// can be used OO-style. This wrapper holds altered versions of all the  
// underscore functions. Wrapped objects may be chained.  
var wrapper = function(obj) { this._wrapped = obj; };  
   
// Expose `wrapper.prototype` as `_.prototype`  
_.prototype = wrapper.prototype;  
   
// Helper function to continue chaining intermediate results.  
var result = function(obj, chain) {  
return chain ? _(obj).chain() : obj;  
};  
   
// A method to easily add functions to the OOP wrapper.  
var addToWrapper = function(name, func) {  
wrapper.prototype[name] = function() {  
var args = slice.call(arguments);  
unshift.call(args, this._wrapped);  
return result(func.apply(_, args), this._chain);  
};  
};  
   
// Add all of the Underscore functions to the wrapper object.  
_.mixin(_);  
   
// Add all mutator Array functions to the wrapper.  
each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {  
var method = ArrayProto[name];  
wrapper.prototype[name] = function() {  
method.apply(this._wrapped, arguments);  
return result(this._wrapped, this._chain);  
};  
});  
   
// Add all accessor Array functions to the wrapper.  
each(['concat', 'join', 'slice'], function(name) {  
var method = ArrayProto[name];  
wrapper.prototype[name] = function() {  
return result(method.apply(this._wrapped, arguments), this._chain);  
};  
});  
   
// Start chaining a wrapped Underscore object.  
wrapper.prototype.chain = function() {  
this._chain = true;  
return this;  
};  
   
// Extracts the result from a wrapped and chained object.  
wrapper.prototype.value = function() {  
return this._wrapped;  
};  
   
})(); })();
/** /**
* Flotr2 (c) 2012 Carl Sutherland * Flotr2 (c) 2012 Carl Sutherland
* MIT License * MIT License
* Special thanks to: * Special thanks to:
* Flotr: http://code.google.com/p/flotr/ (fork) * Flotr: http://code.google.com/p/flotr/ (fork)
* Flot: https://github.com/flot/flot (original fork) * Flot: https://github.com/flot/flot (original fork)
*/ */
(function () { (function () {
   
var var
global = this, global = this,
previousFlotr = this.Flotr, previousFlotr = this.Flotr,
Flotr; Flotr;
   
Flotr = { Flotr = {
_: _, _: _,
bean: bean, bean: bean,
isIphone: /iphone/i.test(navigator.userAgent), isIphone: /iphone/i.test(navigator.userAgent),
isIE: (navigator.appVersion.indexOf("MSIE") != -1 ? parseFloat(navigator.appVersion.split("MSIE")[1]) : false), isIE: (navigator.appVersion.indexOf("MSIE") != -1 ? parseFloat(navigator.appVersion.split("MSIE")[1]) : false),
   
/** /**
* An object of the registered graph types. Use Flotr.addType(type, object) * An object of the registered graph types. Use Flotr.addType(type, object)
* to add your own type. * to add your own type.
*/ */
graphTypes: {}, graphTypes: {},
   
/** /**
* The list of the registered plugins * The list of the registered plugins
*/ */
plugins: {}, plugins: {},
   
/** /**
* Can be used to add your own chart type. * Can be used to add your own chart type.
* @param {String} name - Type of chart, like 'pies', 'bars' etc. * @param {String} name - Type of chart, like 'pies', 'bars' etc.
* @param {String} graphType - The object containing the basic drawing functions (draw, etc) * @param {String} graphType - The object containing the basic drawing functions (draw, etc)
*/ */
addType: function(name, graphType){ addType: function (name, graphType) {
Flotr.graphTypes[name] = graphType; Flotr.graphTypes[name] = graphType;
Flotr.defaultOptions[name] = graphType.options || {}; Flotr.defaultOptions[name] = graphType.options || {};
Flotr.defaultOptions.defaultType = Flotr.defaultOptions.defaultType || name; Flotr.defaultOptions.defaultType = Flotr.defaultOptions.defaultType || name;
}, },
   
/** /**
* Can be used to add a plugin * Can be used to add a plugin
* @param {String} name - The name of the plugin * @param {String} name - The name of the plugin
* @param {String} plugin - The object containing the plugin's data (callbacks, options, function1, function2, ...) * @param {String} plugin - The object containing the plugin's data (callbacks, options, function1, function2, ...)
*/ */
addPlugin: function(name, plugin){ addPlugin: function (name, plugin) {
Flotr.plugins[name] = plugin; Flotr.plugins[name] = plugin;
Flotr.defaultOptions[name] = plugin.options || {}; Flotr.defaultOptions[name] = plugin.options || {};
}, },
   
/** /**
* Draws the graph. This function is here for backwards compatibility with Flotr version 0.1.0alpha. * Draws the graph. This function is here for backwards compatibility with Flotr version 0.1.0alpha.
* You could also draw graphs by directly calling Flotr.Graph(element, data, options). * You could also draw graphs by directly calling Flotr.Graph(element, data, options).
* @param {Element} el - element to insert the graph into * @param {Element} el - element to insert the graph into
* @param {Object} data - an array or object of dataseries * @param {Object} data - an array or object of dataseries
* @param {Object} options - an object containing options * @param {Object} options - an object containing options
* @param {Class} _GraphKlass_ - (optional) Class to pass the arguments to, defaults to Flotr.Graph * @param {Class} _GraphKlass_ - (optional) Class to pass the arguments to, defaults to Flotr.Graph
* @return {Object} returns a new graph object and of course draws the graph. * @return {Object} returns a new graph object and of course draws the graph.
*/ */
draw: function(el, data, options, GraphKlass){ draw: function (el, data, options, GraphKlass) {
GraphKlass = GraphKlass || Flotr.Graph; GraphKlass = GraphKlass || Flotr.Graph;
return new GraphKlass(el, data, options); return new GraphKlass(el, data, options);
}, },
   
/** /**
* Recursively merges two objects. * Recursively merges two objects.
* @param {Object} src - source object (likely the object with the least properties) * @param {Object} src - source object (likely the object with the least properties)
* @param {Object} dest - destination object (optional, object with the most properties) * @param {Object} dest - destination object (optional, object with the most properties)
* @return {Object} recursively merged Object * @return {Object} recursively merged Object
* @TODO See if we can't remove this. * @TODO See if we can't remove this.
*/ */
merge: function(src, dest){ merge: function (src, dest) {
var i, v, result = dest || {}; var i, v, result = dest || {};
   
for (i in src) { for (i in src) {
v = src[i]; v = src[i];
if (v && typeof(v) === 'object') { if (v && typeof(v) === 'object') {
if (v.constructor === Array) { if (v.constructor === Array) {
result[i] = this._.clone(v); result[i] = this._.clone(v);
} else if (v.constructor !== RegExp && !this._.isElement(v)) { } else if (v.constructor !== RegExp && !this._.isElement(v)) {
result[i] = Flotr.merge(v, (dest ? dest[i] : undefined)); result[i] = Flotr.merge(v, (dest ? dest[i] : undefined));
} else { } else {
result[i] = v; result[i] = v;
} }
} else { } else {
result[i] = v; result[i] = v;
} }
} }
   
return result; return result;
}, },
   
/** /**
* Recursively clones an object. * Recursively clones an object.
* @param {Object} object - The object to clone * @param {Object} object - The object to clone
* @return {Object} the clone * @return {Object} the clone
* @TODO See if we can't remove this. * @TODO See if we can't remove this.
*/ */
clone: function(object){ clone: function (object) {
return Flotr.merge(object, {}); return Flotr.merge(object, {});
}, },
   
/** /**
* Function calculates the ticksize and returns it. * Function calculates the ticksize and returns it.
* @param {Integer} noTicks - number of ticks * @param {Integer} noTicks - number of ticks
* @param {Integer} min - lower bound integer value for the current axis * @param {Integer} min - lower bound integer value for the current axis
* @param {Integer} max - upper bound integer value for the current axis * @param {Integer} max - upper bound integer value for the current axis
* @param {Integer} decimals - number of decimals for the ticks * @param {Integer} decimals - number of decimals for the ticks
* @return {Integer} returns the ticksize in pixels * @return {Integer} returns the ticksize in pixels
*/ */
getTickSize: function(noTicks, min, max, decimals){ getTickSize: function (noTicks, min, max, decimals) {
var delta = (max - min) / noTicks, var delta = (max - min) / noTicks,
magn = Flotr.getMagnitude(delta), magn = Flotr.getMagnitude(delta),
tickSize = 10, tickSize = 10,
norm = delta / magn; // Norm is between 1.0 and 10.0. norm = delta / magn; // Norm is between 1.0 and 10.0.
   
if(norm < 1.5) tickSize = 1; if (norm < 1.5) tickSize = 1;
else if(norm < 2.25) tickSize = 2; else if (norm < 2.25) tickSize = 2;
else if(norm < 3) tickSize = ((decimals === 0) ? 2 : 2.5); else if (norm < 3) tickSize = ((decimals === 0) ? 2 : 2.5);
else if(norm < 7.5) tickSize = 5; else if (norm < 7.5) tickSize = 5;
   
return tickSize * magn; return tickSize * magn;
}, },
   
/** /**
* Default tick formatter. * Default tick formatter.
* @param {String, Integer} val - tick value integer * @param {String, Integer} val - tick value integer
* @param {Object} axisOpts - the axis' options * @param {Object} axisOpts - the axis' options
* @return {String} formatted tick string * @return {String} formatted tick string
*/ */
defaultTickFormatter: function(val, axisOpts){ defaultTickFormatter: function (val, axisOpts) {
return val+''; return val + '';
}, },
   
/** /**
* Formats the mouse tracker values. * Formats the mouse tracker values.
* @param {Object} obj - Track value Object {x:..,y:..} * @param {Object} obj - Track value Object {x:..,y:..}
* @return {String} Formatted track string * @return {String} Formatted track string
*/ */
defaultTrackFormatter: function(obj){ defaultTrackFormatter: function (obj) {
return '('+obj.x+', '+obj.y+')'; return '(' + obj.x + ', ' + obj.y + ')';
}, },
   
/** /**
* Utility function to convert file size values in bytes to kB, MB, ... * Utility function to convert file size values in bytes to kB, MB, ...
* @param value {Number} - The value to convert * @param value {Number} - The value to convert
* @param precision {Number} - The number of digits after the comma (default: 2) * @param precision {Number} - The number of digits after the comma (default: 2)
* @param base {Number} - The base (default: 1000) * @param base {Number} - The base (default: 1000)
*/ */
engineeringNotation: function(value, precision, base){ engineeringNotation: function (value, precision, base) {
var sizes = ['Y','Z','E','P','T','G','M','k',''], var sizes = ['Y', 'Z', 'E', 'P', 'T', 'G', 'M', 'k', ''],
fractionSizes = ['y','z','a','f','p','n','µ','m',''], fractionSizes = ['y', 'z', 'a', 'f', 'p', 'n', 'µ', 'm', ''],
total = sizes.length; total = sizes.length;
   
base = base || 1000; base = base || 1000;
precision = Math.pow(10, precision || 2); precision = Math.pow(10, precision || 2);
   
if (value === 0) return 0; if (value === 0) return 0;
   
if (value > 1) { if (value > 1) {
while (total-- && (value >= base)) value /= base; while (total-- && (value >= base)) value /= base;
} }
else { else {
sizes = fractionSizes; sizes = fractionSizes;
total = sizes.length; total = sizes.length;
while (total-- && (value < 1)) value *= base; while (total-- && (value < 1)) value *= base;
} }
   
return (Math.round(value * precision) / precision) + sizes[total]; return (Math.round(value * precision) / precision) + sizes[total];
}, },
   
/** /**
* Returns the magnitude of the input value. * Returns the magnitude of the input value.
* @param {Integer, Float} x - integer or float value * @param {Integer, Float} x - integer or float value
* @return {Integer, Float} returns the magnitude of the input value * @return {Integer, Float} returns the magnitude of the input value
*/ */
getMagnitude: function(x){ getMagnitude: function (x) {
return Math.pow(10, Math.floor(Math.log(x) / Math.LN10)); return Math.pow(10, Math.floor(Math.log(x) / Math.LN10));
}, },
toPixel: function(val){ toPixel: function (val) {
return Math.floor(val)+0.5;//((val-Math.round(val) < 0.4) ? (Math.floor(val)-0.5) : val); return Math.floor(val) + 0.5;//((val-Math.round(val) < 0.4) ? (Math.floor(val)-0.5) : val);
}, },
toRad: function(angle){ toRad: function (angle) {
return -angle * (Math.PI/180); return -angle * (Math.PI / 180);
}, },
floorInBase: function(n, base) { floorInBase: function (n, base) {
return base * Math.floor(n / base); return base * Math.floor(n / base);
}, },
drawText: function(ctx, text, x, y, style) { drawText: function (ctx, text, x, y, style) {
if (!ctx.fillText) { if (!ctx.fillText) {
ctx.drawText(text, x, y, style); ctx.drawText(text, x, y, style);
return; return;
} }
   
style = this._.extend({ style = this._.extend({
size: Flotr.defaultOptions.fontSize, size: Flotr.defaultOptions.fontSize,
color: '#000000', color: '#000000',
textAlign: 'left', textAlign: 'left',
textBaseline: 'bottom', textBaseline: 'bottom',
weight: 1, weight: 1,
angle: 0 angle: 0
}, style); }, style);
   
ctx.save(); ctx.save();
ctx.translate(x, y); ctx.translate(x, y);
ctx.rotate(style.angle); ctx.rotate(style.angle);
ctx.fillStyle = style.color; ctx.fillStyle = style.color;
ctx.font = (style.weight > 1 ? "bold " : "") + (style.size*1.3) + "px sans-serif"; ctx.font = (style.weight > 1 ? "bold " : "") + (style.size * 1.3) + "px sans-serif";
ctx.textAlign = style.textAlign; ctx.textAlign = style.textAlign;
ctx.textBaseline = style.textBaseline; ctx.textBaseline = style.textBaseline;
ctx.fillText(text, 0, 0); ctx.fillText(text, 0, 0);
ctx.restore(); ctx.restore();
}, },
getBestTextAlign: function(angle, style) { getBestTextAlign: function (angle, style) {
style = style || {textAlign: 'center', textBaseline: 'middle'}; style = style || {textAlign: 'center', textBaseline: 'middle'};
angle += Flotr.getTextAngleFromAlign(style); angle += Flotr.getTextAngleFromAlign(style);
   
if (Math.abs(Math.cos(angle)) > 10e-3) if (Math.abs(Math.cos(angle)) > 10e-3)
style.textAlign = (Math.cos(angle) > 0 ? 'right' : 'left'); style.textAlign = (Math.cos(angle) > 0 ? 'right' : 'left');
   
if (Math.abs(Math.sin(angle)) > 10e-3) if (Math.abs(Math.sin(angle)) > 10e-3)
style.textBaseline = (Math.sin(angle) > 0 ? 'top' : 'bottom'); style.textBaseline = (Math.sin(angle) > 0 ? 'top' : 'bottom');
   
return style; return style;
}, },
alignTable: { alignTable: {
'right middle' : 0, 'right middle': 0,
'right top' : Math.PI/4, 'right top': Math.PI / 4,
'center top' : Math.PI/2, 'center top': Math.PI / 2,
'left top' : 3*(Math.PI/4), 'left top': 3 * (Math.PI / 4),
'left middle' : Math.PI, 'left middle': Math.PI,
'left bottom' : -3*(Math.PI/4), 'left bottom': -3 * (Math.PI / 4),
'center bottom': -Math.PI/2, 'center bottom': -Math.PI / 2,
'right bottom' : -Math.PI/4, 'right bottom': -Math.PI / 4,
'center middle': 0 'center middle': 0
}, },
getTextAngleFromAlign: function(style) { getTextAngleFromAlign: function (style) {
return Flotr.alignTable[style.textAlign+' '+style.textBaseline] || 0; return Flotr.alignTable[style.textAlign + ' ' + style.textBaseline] || 0;
}, },
noConflict : function () { noConflict: function () {
global.Flotr = previousFlotr; global.Flotr = previousFlotr;
return this; return this;
} }
}; };
   
global.Flotr = Flotr; global.Flotr = Flotr;
   
})(); })();
   
/** /**
* Flotr Defaults * Flotr Defaults
*/ */
Flotr.defaultOptions = { Flotr.defaultOptions = {
colors: ['#00A8F0', '#C0D800', '#CB4B4B', '#4DA74D', '#9440ED'], //=> The default colorscheme. When there are > 5 series, additional colors are generated. colors: ['#00A8F0', '#C0D800', '#CB4B4B', '#4DA74D', '#9440ED'], //=> The default colorscheme. When there are > 5 series, additional colors are generated.
ieBackgroundColor: '#FFFFFF', // Background color for excanvas clipping ieBackgroundColor: '#FFFFFF', // Background color for excanvas clipping
title: null, // => The graph's title title: null, // => The graph's title
subtitle: null, // => The graph's subtitle subtitle: null, // => The graph's subtitle
shadowSize: 4, // => size of the 'fake' shadow shadowSize: 4, // => size of the 'fake' shadow
defaultType: null, // => default series type defaultType: null, // => default series type
HtmlText: true, // => wether to draw the text using HTML or on the canvas HtmlText: true, // => wether to draw the text using HTML or on the canvas
fontColor: '#545454', // => default font color fontColor: '#545454', // => default font color
fontSize: 7.5, // => canvas' text font size fontSize: 7.5, // => canvas' text font size
resolution: 1, // => resolution of the graph, to have printer-friendly graphs ! resolution: 1, // => resolution of the graph, to have printer-friendly graphs !
parseFloat: true, // => whether to preprocess data for floats (ie. if input is string) parseFloat: true, // => whether to preprocess data for floats (ie. if input is string)
xaxis: { xaxis: {
ticks: null, // => format: either [1, 3] or [[1, 'a'], 3] ticks: null, // => format: either [1, 3] or [[1, 'a'], 3]
minorTicks: null, // => format: either [1, 3] or [[1, 'a'], 3] minorTicks: null, // => format: either [1, 3] or [[1, 'a'], 3]
showLabels: true, // => setting to true will show the axis ticks labels, hide otherwise showLabels: true, // => setting to true will show the axis ticks labels, hide otherwise
showMinorLabels: false,// => true to show the axis minor ticks labels, false to hide showMinorLabels: false,// => true to show the axis minor ticks labels, false to hide
labelsAngle: 0, // => labels' angle, in degrees labelsAngle: 0, // => labels' angle, in degrees
title: null, // => axis title title: null, // => axis title
titleAngle: 0, // => axis title's angle, in degrees titleAngle: 0, // => axis title's angle, in degrees
noTicks: 5, // => number of ticks for automagically generated ticks noTicks: 5, // => number of ticks for automagically generated ticks
minorTickFreq: null, // => number of minor ticks between major ticks for autogenerated ticks minorTickFreq: null, // => number of minor ticks between major ticks for autogenerated ticks
tickFormatter: Flotr.defaultTickFormatter, // => fn: number, Object -> string tickFormatter: Flotr.defaultTickFormatter, // => fn: number, Object -> string
tickDecimals: null, // => no. of decimals, null means auto tickDecimals: null, // => no. of decimals, null means auto
min: null, // => min. value to show, null means set automatically min: null, // => min. value to show, null means set automatically
max: null, // => max. value to show, null means set automatically max: null, // => max. value to show, null means set automatically
autoscale: false, // => Turns autoscaling on with true autoscale: false, // => Turns autoscaling on with true
autoscaleMargin: 0, // => margin in % to add if auto-setting min/max autoscaleMargin: 0, // => margin in % to add if auto-setting min/max
color: null, // => color of the ticks color: null, // => color of the ticks
mode: 'normal', // => can be 'time' or 'normal' mode: 'normal', // => can be 'time' or 'normal'
timeFormat: null, timeFormat: null,
timeMode:'UTC', // => For UTC time ('local' for local time). timeMode: 'UTC', // => For UTC time ('local' for local time).
timeUnit:'millisecond',// => Unit for time (millisecond, second, minute, hour, day, month, year) timeUnit: 'millisecond',// => Unit for time (millisecond, second, minute, hour, day, month, year)
scaling: 'linear', // => Scaling, can be 'linear' or 'logarithmic' scaling: 'linear', // => Scaling, can be 'linear' or 'logarithmic'
base: Math.E, base: Math.E,
titleAlign: 'center', titleAlign: 'center',
margin: true // => Turn off margins with false margin: true // => Turn off margins with false
}, },
x2axis: {}, x2axis: {},
yaxis: { yaxis: {
ticks: null, // => format: either [1, 3] or [[1, 'a'], 3] ticks: null, // => format: either [1, 3] or [[1, 'a'], 3]
minorTicks: null, // => format: either [1, 3] or [[1, 'a'], 3] minorTicks: null, // => format: either [1, 3] or [[1, 'a'], 3]
showLabels: true, // => setting to true will show the axis ticks labels, hide otherwise showLabels: true, // => setting to true will show the axis ticks labels, hide otherwise
showMinorLabels: false,// => true to show the axis minor ticks labels, false to hide showMinorLabels: false,// => true to show the axis minor ticks labels, false to hide
labelsAngle: 0, // => labels' angle, in degrees labelsAngle: 0, // => labels' angle, in degrees
title: null, // => axis title title: null, // => axis title
titleAngle: 90, // => axis title's angle, in degrees titleAngle: 90, // => axis title's angle, in degrees
noTicks: 5, // => number of ticks for automagically generated ticks noTicks: 5, // => number of ticks for automagically generated ticks
minorTickFreq: null, // => number of minor ticks between major ticks for autogenerated ticks minorTickFreq: null, // => number of minor ticks between major ticks for autogenerated ticks
tickFormatter: Flotr.defaultTickFormatter, // => fn: number, Object -> string tickFormatter: Flotr.defaultTickFormatter, // => fn: number, Object -> string
tickDecimals: null, // => no. of decimals, null means auto tickDecimals: null, // => no. of decimals, null means auto
min: null, // => min. value to show, null means set automatically min: null, // => min. value to show, null means set automatically
max: null, // => max. value to show, null means set automatically max: null, // => max. value to show, null means set automatically
autoscale: false, // => Turns autoscaling on with true autoscale: false, // => Turns autoscaling on with true
autoscaleMargin: 0, // => margin in % to add if auto-setting min/max autoscaleMargin: 0, // => margin in % to add if auto-setting min/max
color: null, // => The color of the ticks color: null, // => The color of the ticks
scaling: 'linear', // => Scaling, can be 'linear' or 'logarithmic' scaling: 'linear', // => Scaling, can be 'linear' or 'logarithmic'
base: Math.E, base: Math.E,
titleAlign: 'center', titleAlign: 'center',
margin: true // => Turn off margins with false margin: true // => Turn off margins with false
}, },
y2axis: { y2axis: {
titleAngle: 270 titleAngle: 270
}, },
grid: { grid: {
color: '#545454', // => primary color used for outline and labels color: '#545454', // => primary color used for outline and labels
backgroundColor: null, // => null for transparent, else color backgroundColor: null, // => null for transparent, else color
backgroundImage: null, // => background image. String or object with src, left and top backgroundImage: null, // => background image. String or object with src, left and top
watermarkAlpha: 0.4, // => watermarkAlpha: 0.4, // =>
tickColor: '#DDDDDD', // => color used for the ticks tickColor: '#DDDDDD', // => color used for the ticks
labelMargin: 3, // => margin in pixels labelMargin: 3, // => margin in pixels
verticalLines: true, // => whether to show gridlines in vertical direction verticalLines: true, // => whether to show gridlines in vertical direction
minorVerticalLines: null, // => whether to show gridlines for minor ticks in vertical dir. minorVerticalLines: null, // => whether to show gridlines for minor ticks in vertical dir.
horizontalLines: true, // => whether to show gridlines in horizontal direction horizontalLines: true, // => whether to show gridlines in horizontal direction
minorHorizontalLines: null, // => whether to show gridlines for minor ticks in horizontal dir. minorHorizontalLines: null, // => whether to show gridlines for minor ticks in horizontal dir.
outlineWidth: 1, // => width of the grid outline/border in pixels outlineWidth: 1, // => width of the grid outline/border in pixels
outline : 'nsew', // => walls of the outline to display outline: 'nsew', // => walls of the outline to display
circular: false // => if set to true, the grid will be circular, must be used when radars are drawn circular: false // => if set to true, the grid will be circular, must be used when radars are drawn
}, },
mouse: { mouse: {
track: false, // => true to track the mouse, no tracking otherwise track: false, // => true to track the mouse, no tracking otherwise
trackAll: false, trackAll: false,
position: 'se', // => position of the value box (default south-east) position: 'se', // => position of the value box (default south-east)
relative: false, // => next to the mouse cursor relative: false, // => next to the mouse cursor
trackFormatter: Flotr.defaultTrackFormatter, // => formats the values in the value box trackFormatter: Flotr.defaultTrackFormatter, // => formats the values in the value box
margin: 5, // => margin in pixels of the valuebox margin: 5, // => margin in pixels of the valuebox
lineColor: '#FF3F19', // => line color of points that are drawn when mouse comes near a value of a series lineColor: '#FF3F19', // => line color of points that are drawn when mouse comes near a value of a series
trackDecimals: 1, // => decimals for the track values trackDecimals: 1, // => decimals for the track values
sensibility: 2, // => the lower this number, the more precise you have to aim to show a value sensibility: 2, // => the lower this number, the more precise you have to aim to show a value
trackY: true, // => whether or not to track the mouse in the y axis trackY: true, // => whether or not to track the mouse in the y axis
radius: 3, // => radius of the track point radius: 3, // => radius of the track point
fillColor: null, // => color to fill our select bar with only applies to bar and similar graphs (only bars for now) fillColor: null, // => color to fill our select bar with only applies to bar and similar graphs (only bars for now)
fillOpacity: 0.4 // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill fillOpacity: 0.4 // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill
} }
}; };
   
/** /**
* Flotr Color * Flotr Color
*/ */
   
(function () { (function () {
   
var var
_ = Flotr._; _ = Flotr._;
   
// Constructor // Constructor
function Color (r, g, b, a) { function Color(r, g, b, a) {
this.rgba = ['r','g','b','a']; this.rgba = ['r', 'g', 'b', 'a'];
var x = 4; var x = 4;
while(-1<--x){ while (-1 < --x) {
this[this.rgba[x]] = arguments[x] || ((x==3) ? 1.0 : 0); this[this.rgba[x]] = arguments[x] || ((x == 3) ? 1.0 : 0);
} }
this.normalize(); this.normalize();
} }
   
// Constants // Constants
var COLOR_NAMES = { var COLOR_NAMES = {
aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255], aqua: [0, 255, 255], azure: [240, 255, 255], beige: [245, 245, 220], black: [0, 0, 0], blue: [0, 0, 255],
brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169], brown: [165, 42, 42], cyan: [0, 255, 255], darkblue: [0, 0, 139], darkcyan: [0, 139, 139], darkgrey: [169, 169, 169],
darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47], darkgreen: [0, 100, 0], darkkhaki: [189, 183, 107], darkmagenta: [139, 0, 139], darkolivegreen: [85, 107, 47],
darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122], darkorange: [255, 140, 0], darkorchid: [153, 50, 204], darkred: [139, 0, 0], darksalmon: [233, 150, 122],
darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130], darkviolet: [148, 0, 211], fuchsia: [255, 0, 255], gold: [255, 215, 0], green: [0, 128, 0], indigo: [75, 0, 130],
khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144], khaki: [240, 230, 140], lightblue: [173, 216, 230], lightcyan: [224, 255, 255], lightgreen: [144, 238, 144],
lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255], lightgrey: [211, 211, 211], lightpink: [255, 182, 193], lightyellow: [255, 255, 224], lime: [0, 255, 0], magenta: [255, 0, 255],
maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128], maroon: [128, 0, 0], navy: [0, 0, 128], olive: [128, 128, 0], orange: [255, 165, 0], pink: [255, 192, 203], purple: [128, 0, 128],
violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0] violet: [128, 0, 128], red: [255, 0, 0], silver: [192, 192, 192], white: [255, 255, 255], yellow: [255, 255, 0]
}; };
   
Color.prototype = { Color.prototype = {
scale: function(rf, gf, bf, af){ scale: function (rf, gf, bf, af) {
var x = 4; var x = 4;
while (-1 < --x) { while (-1 < --x) {
if (!_.isUndefined(arguments[x])) this[this.rgba[x]] *= arguments[x]; if (!_.isUndefined(arguments[x])) this[this.rgba[x]] *= arguments[x];
} }
return this.normalize(); return this.normalize();
}, },
alpha: function(alpha) { alpha: function (alpha) {
if (!_.isUndefined(alpha) && !_.isNull(alpha)) { if (!_.isUndefined(alpha) && !_.isNull(alpha)) {
this.a = alpha; this.a = alpha;
} }
return this.normalize(); return this.normalize();
}, },
clone: function(){ clone: function () {
return new Color(this.r, this.b, this.g, this.a); return new Color(this.r, this.b, this.g, this.a);
}, },
limit: function(val,minVal,maxVal){ limit: function (val, minVal, maxVal) {
return Math.max(Math.min(val, maxVal), minVal); return Math.max(Math.min(val, maxVal), minVal);
}, },
normalize: function(){ normalize: function () {
var limit = this.limit; var limit = this.limit;
this.r = limit(parseInt(this.r, 10), 0, 255); this.r = limit(parseInt(this.r, 10), 0, 255);
this.g = limit(parseInt(this.g, 10), 0, 255); this.g = limit(parseInt(this.g, 10), 0, 255);
this.b = limit(parseInt(this.b, 10), 0, 255); this.b = limit(parseInt(this.b, 10), 0, 255);
this.a = limit(this.a, 0, 1); this.a = limit(this.a, 0, 1);
return this; return this;
}, },
distance: function(color){ distance: function (color) {
if (!color) return; if (!color) return;
color = new Color.parse(color); color = new Color.parse(color);
var dist = 0, x = 3; var dist = 0, x = 3;
while(-1<--x){ while (-1 < --x) {
dist += Math.abs(this[this.rgba[x]] - color[this.rgba[x]]); dist += Math.abs(this[this.rgba[x]] - color[this.rgba[x]]);
} }
return dist; return dist;
}, },
toString: function(){ toString: function () {
return (this.a >= 1.0) ? 'rgb('+[this.r,this.g,this.b].join(',')+')' : 'rgba('+[this.r,this.g,this.b,this.a].join(',')+')'; return (this.a >= 1.0) ? 'rgb(' + [this.r, this.g, this.b].join(',') + ')' : 'rgba(' + [this.r, this.g, this.b, this.a].join(',') + ')';
}, },
contrast: function () { contrast: function () {
var var
test = 1 - ( 0.299 * this.r + 0.587 * this.g + 0.114 * this.b) / 255; test = 1 - ( 0.299 * this.r + 0.587 * this.g + 0.114 * this.b) / 255;
return (test < 0.5 ? '#000000' : '#ffffff'); return (test < 0.5 ? '#000000' : '#ffffff');
} }
}; };
   
_.extend(Color, { _.extend(Color, {
/** /**
* Parses a color string and returns a corresponding Color. * Parses a color string and returns a corresponding Color.
* The different tests are in order of probability to improve speed. * The different tests are in order of probability to improve speed.
* @param {String, Color} str - string thats representing a color * @param {String, Color} str - string thats representing a color
* @return {Color} returns a Color object or false * @return {Color} returns a Color object or false
*/ */
parse: function(color){ parse: function (color) {
if (color instanceof Color) return color; if (color instanceof Color) return color;
   
var result; var result;
   
// #a0b1c2 // #a0b1c2
if((result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))) if ((result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color)))
return new Color(parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)); return new Color(parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16));
   
// rgb(num,num,num) // rgb(num,num,num)
if((result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))) if ((result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color)))
return new Color(parseInt(result[1], 10), parseInt(result[2], 10), parseInt(result[3], 10)); return new Color(parseInt(result[1], 10), parseInt(result[2], 10), parseInt(result[3], 10));
   
// #fff // #fff
if((result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))) if ((result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color)))
return new Color(parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)); return new Color(parseInt(result[1] + result[1], 16), parseInt(result[2] + result[2], 16), parseInt(result[3] + result[3], 16));
   
// rgba(num,num,num,num) // rgba(num,num,num,num)
if((result = /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(color))) if ((result = /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(color)))
return new Color(parseInt(result[1], 10), parseInt(result[2], 10), parseInt(result[3], 10), parseFloat(result[4])); return new Color(parseInt(result[1], 10), parseInt(result[2], 10), parseInt(result[3], 10), parseFloat(result[4]));
   
// rgb(num%,num%,num%) // rgb(num%,num%,num%)
if((result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))) if ((result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color)))
return new Color(parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55); return new Color(parseFloat(result[1]) * 2.55, parseFloat(result[2]) * 2.55, parseFloat(result[3]) * 2.55);
   
// rgba(num%,num%,num%,num) // rgba(num%,num%,num%,num)
if((result = /rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(color))) if ((result = /rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(color)))
return new Color(parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55, parseFloat(result[4])); return new Color(parseFloat(result[1]) * 2.55, parseFloat(result[2]) * 2.55, parseFloat(result[3]) * 2.55, parseFloat(result[4]));
   
// Otherwise, we're most likely dealing with a named color. // Otherwise, we're most likely dealing with a named color.
var name = (color+'').replace(/^\s*([\S\s]*?)\s*$/, '$1').toLowerCase(); var name = (color + '').replace(/^\s*([\S\s]*?)\s*$/, '$1').toLowerCase();
if(name == 'transparent'){ if (name == 'transparent') {
return new Color(255, 255, 255, 0); return new Color(255, 255, 255, 0);
} }
return (result = COLOR_NAMES[name]) ? new Color(result[0], result[1], result[2]) : new Color(0, 0, 0, 0); return (result = COLOR_NAMES[name]) ? new Color(result[0], result[1], result[2]) : new Color(0, 0, 0, 0);
}, },
   
/** /**
* Process color and options into color style. * Process color and options into color style.
*/ */
processColor: function(color, options) { processColor: function (color, options) {
   
var opacity = options.opacity; var opacity = options.opacity;
if (!color) return 'rgba(0, 0, 0, 0)'; if (!color) return 'rgba(0, 0, 0, 0)';
if (color instanceof Color) return color.alpha(opacity).toString(); if (color instanceof Color) return color.alpha(opacity).toString();
if (_.isString(color)) return Color.parse(color).alpha(opacity).toString(); if (_.isString(color)) return Color.parse(color).alpha(opacity).toString();
   
var grad = color.colors ? color : {colors: color}; var grad = color.colors ? color : {colors: color};
   
if (!options.ctx) { if (!options.ctx) {
if (!_.isArray(grad.colors)) return 'rgba(0, 0, 0, 0)'; if (!_.isArray(grad.colors)) return 'rgba(0, 0, 0, 0)';
return Color.parse(_.isArray(grad.colors[0]) ? grad.colors[0][1] : grad.colors[0]).alpha(opacity).toString(); return Color.parse(_.isArray(grad.colors[0]) ? grad.colors[0][1] : grad.colors[0]).alpha(opacity).toString();
} }
grad = _.extend({start: 'top', end: 'bottom'}, grad); grad = _.extend({start: 'top', end: 'bottom'}, grad);
   
if (/top/i.test(grad.start)) options.x1 = 0; if (/top/i.test(grad.start)) options.x1 = 0;
if (/left/i.test(grad.start)) options.y1 = 0; if (/left/i.test(grad.start)) options.y1 = 0;
if (/bottom/i.test(grad.end)) options.x2 = 0; if (/bottom/i.test(grad.end)) options.x2 = 0;
if (/right/i.test(grad.end)) options.y2 = 0; if (/right/i.test(grad.end)) options.y2 = 0;
   
var i, c, stop, gradient = options.ctx.createLinearGradient(options.x1, options.y1, options.x2, options.y2); var i, c, stop, gradient = options.ctx.createLinearGradient(options.x1, options.y1, options.x2, options.y2);
for (i = 0; i < grad.colors.length; i++) { for (i = 0; i < grad.colors.length; i++) {
c = grad.colors[i]; c = grad.colors[i];
if (_.isArray(c)) { if (_.isArray(c)) {
stop = c[0]; stop = c[0];
c = c[1]; c = c[1];
} }
else stop = i / (grad.colors.length-1); else stop = i / (grad.colors.length - 1);
gradient.addColorStop(stop, Color.parse(c).alpha(opacity)); gradient.addColorStop(stop, Color.parse(c).alpha(opacity));
} }
return gradient; return gradient;
} }
}); });
   
Flotr.Color = Color; Flotr.Color = Color;
   
})(); })();
   
/** /**
* Flotr Date * Flotr Date
*/ */
Flotr.Date = { Flotr.Date = {
   
set : function (date, name, mode, value) { set: function (date, name, mode, value) {
mode = mode || 'UTC'; mode = mode || 'UTC';
name = 'set' + (mode === 'UTC' ? 'UTC' : '') + name; name = 'set' + (mode === 'UTC' ? 'UTC' : '') + name;
date[name](value); date[name](value);
}, },
   
get : function (date, name, mode) { get: function (date, name, mode) {
mode = mode || 'UTC'; mode = mode || 'UTC';
name = 'get' + (mode === 'UTC' ? 'UTC' : '') + name; name = 'get' + (mode === 'UTC' ? 'UTC' : '') + name;
return date[name](); return date[name]();
}, },
   
format: function(d, format, mode) { format: function (d, format, mode) {
if (!d) return; if (!d) return;
   
// We should maybe use an "official" date format spec, like PHP date() or ColdFusion // We should maybe use an "official" date format spec, like PHP date() or ColdFusion
// http://fr.php.net/manual/en/function.date.php // http://fr.php.net/manual/en/function.date.php
// http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=functions_c-d_29.html // http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=functions_c-d_29.html
var var
get = this.get, get = this.get,
tokens = { tokens = {
h: get(d, 'Hours', mode).toString(), h: get(d, 'Hours', mode).toString(),
H: leftPad(get(d, 'Hours', mode)), H: leftPad(get(d, 'Hours', mode)),
M: leftPad(get(d, 'Minutes', mode)), M: leftPad(get(d, 'Minutes', mode)),
S: leftPad(get(d, 'Seconds', mode)), S: leftPad(get(d, 'Seconds', mode)),
s: get(d, 'Milliseconds', mode), s: get(d, 'Milliseconds', mode),
d: get(d, 'Date', mode).toString(), d: get(d, 'Date', mode).toString(),
m: (get(d, 'Month') + 1).toString(), m: (get(d, 'Month') + 1).toString(),
y: get(d, 'FullYear').toString(), y: get(d, 'FullYear').toString(),
b: Flotr.Date.monthNames[get(d, 'Month', mode)] b: Flotr.Date.monthNames[get(d, 'Month', mode)]
}; };
   
function leftPad(n){ function leftPad(n) {
n += ''; n += '';
return n.length == 1 ? "0" + n : n; return n.length == 1 ? "0" + n : n;
} }
   
var r = [], c, var r = [], c,
escape = false; escape = false;
   
for (var i = 0; i < format.length; ++i) { for (var i = 0; i < format.length; ++i) {
c = format.charAt(i); c = format.charAt(i);
   
if (escape) { if (escape) {
r.push(tokens[c] || c); r.push(tokens[c] || c);
escape = false; escape = false;
} }
else if (c == "%") else if (c == "%")
escape = true; escape = true;
else else
r.push(c); r.push(c);
} }
return r.join(''); return r.join('');
}, },
getFormat: function(time, span) { getFormat: function (time, span) {
var tu = Flotr.Date.timeUnits; var tu = Flotr.Date.timeUnits;
if (time < tu.second) return "%h:%M:%S.%s"; if (time < tu.second) return "%h:%M:%S.%s";
else if (time < tu.minute) return "%h:%M:%S"; else if (time < tu.minute) return "%h:%M:%S";
else if (time < tu.day) return (span < 2 * tu.day) ? "%h:%M" : "%b %d %h:%M"; else if (time < tu.day) return (span < 2 * tu.day) ? "%h:%M" : "%b %d %h:%M";
else if (time < tu.month) return "%b %d"; else if (time < tu.month) return "%b %d";
else if (time < tu.year) return (span < tu.year) ? "%b" : "%b %y"; else if (time < tu.year) return (span < tu.year) ? "%b" : "%b %y";
else return "%y"; else return "%y";
}, },
formatter: function (v, axis) { formatter: function (v, axis) {
var var
options = axis.options, options = axis.options,
scale = Flotr.Date.timeUnits[options.timeUnit], scale = Flotr.Date.timeUnits[options.timeUnit],
d = new Date(v * scale); d = new Date(v * scale);
   
// first check global format // first check global format
if (axis.options.timeFormat) if (axis.options.timeFormat)
return Flotr.Date.format(d, options.timeFormat, options.timeMode); return Flotr.Date.format(d, options.timeFormat, options.timeMode);
   
var span = (axis.max - axis.min) * scale, var span = (axis.max - axis.min) * scale,
t = axis.tickSize * Flotr.Date.timeUnits[axis.tickUnit]; t = axis.tickSize * Flotr.Date.timeUnits[axis.tickUnit];
   
return Flotr.Date.format(d, Flotr.Date.getFormat(t, span), options.timeMode); return Flotr.Date.format(d, Flotr.Date.getFormat(t, span), options.timeMode);
}, },
generator: function(axis) { generator: function (axis) {
   
var var
set = this.set, set = this.set,
get = this.get, get = this.get,
timeUnits = this.timeUnits, timeUnits = this.timeUnits,
spec = this.spec, spec = this.spec,
options = axis.options, options = axis.options,
mode = options.timeMode, mode = options.timeMode,
scale = timeUnits[options.timeUnit], scale = timeUnits[options.timeUnit],
min = axis.min * scale, min = axis.min * scale,
max = axis.max * scale, max = axis.max * scale,
delta = (max - min) / options.noTicks, delta = (max - min) / options.noTicks,
ticks = [], ticks = [],
tickSize = axis.tickSize, tickSize = axis.tickSize,
tickUnit, tickUnit,
formatter, i; formatter, i;
   
// Use custom formatter or time tick formatter // Use custom formatter or time tick formatter
formatter = (options.tickFormatter === Flotr.defaultTickFormatter ? formatter = (options.tickFormatter === Flotr.defaultTickFormatter ?
this.formatter : options.tickFormatter this.formatter : options.tickFormatter
); );
   
for (i = 0; i < spec.length - 1; ++i) { for (i = 0; i < spec.length - 1; ++i) {
var d = spec[i][0] * timeUnits[spec[i][1]]; var d = spec[i][0] * timeUnits[spec[i][1]];
if (delta < (d + spec[i+1][0] * timeUnits[spec[i+1][1]]) / 2 && d >= tickSize) if (delta < (d + spec[i + 1][0] * timeUnits[spec[i + 1][1]]) / 2 && d >= tickSize)
break; break;
} }
tickSize = spec[i][0]; tickSize = spec[i][0];
tickUnit = spec[i][1]; tickUnit = spec[i][1];
   
// special-case the possibility of several years // special-case the possibility of several years
if (tickUnit == "year") { if (tickUnit == "year") {
tickSize = Flotr.getTickSize(options.noTicks*timeUnits.year, min, max, 0); tickSize = Flotr.getTickSize(options.noTicks * timeUnits.year, min, max, 0);
   
// Fix for 0.5 year case // Fix for 0.5 year case
if (tickSize == 0.5) { if (tickSize == 0.5) {
tickUnit = "month"; tickUnit = "month";
tickSize = 6; tickSize = 6;
} }
} }
   
axis.tickUnit = tickUnit; axis.tickUnit = tickUnit;
axis.tickSize = tickSize; axis.tickSize = tickSize;
   
var var
d = new Date(min); d = new Date(min);
   
var step = tickSize * timeUnits[tickUnit]; var step = tickSize * timeUnits[tickUnit];
   
function setTick (name) { function setTick(name) {
set(d, name, mode, Flotr.floorInBase( set(d, name, mode, Flotr.floorInBase(
get(d, name, mode), tickSize get(d, name, mode), tickSize
)); ));
} }
   
switch (tickUnit) { switch (tickUnit) {
case "millisecond": setTick('Milliseconds'); break; case "millisecond":
case "second": setTick('Seconds'); break; setTick('Milliseconds');
case "minute": setTick('Minutes'); break; break;
case "hour": setTick('Hours'); break; case "second":
case "month": setTick('Month'); break; setTick('Seconds');
case "year": setTick('FullYear'); break; break;
} case "minute":
  setTick('Minutes');
// reset smaller components break;
if (step >= timeUnits.second) set(d, 'Milliseconds', mode, 0); case "hour":
if (step >= timeUnits.minute) set(d, 'Seconds', mode, 0); setTick('Hours');
if (step >= timeUnits.hour) set(d, 'Minutes', mode, 0); break;
if (step >= timeUnits.day) set(d, 'Hours', mode, 0); case "month":
if (step >= timeUnits.day * 4) set(d, 'Date', mode, 1); setTick('Month');
if (step >= timeUnits.year) set(d, 'Month', mode, 0); break;
  case "year":
var carry = 0, v = NaN, prev; setTick('FullYear');
do { break;
prev = v; }
v = d.getTime();  
ticks.push({ v: v / scale, label: formatter(v / scale, axis) }); // reset smaller components
if (tickUnit == "month") { if (step >= timeUnits.second) set(d, 'Milliseconds', mode, 0);
if (tickSize < 1) { if (step >= timeUnits.minute) set(d, 'Seconds', mode, 0);
/* a bit complicated - we'll divide the month up but we need to take care of fractions if (step >= timeUnits.hour) set(d, 'Minutes', mode, 0);
so we don't end up in the middle of a day */ if (step >= timeUnits.day) set(d, 'Hours', mode, 0);
set(d, 'Date', mode, 1); if (step >= timeUnits.day * 4) set(d, 'Date', mode, 1);
var start = d.getTime(); if (step >= timeUnits.year) set(d, 'Month', mode, 0);
set(d, 'Month', mode, get(d, 'Month', mode) + 1)  
var end = d.getTime(); var carry = 0, v = NaN, prev;
d.setTime(v + carry * timeUnits.hour + (end - start) * tickSize); do {
carry = get(d, 'Hours', mode) prev = v;
set(d, 'Hours', mode, 0); v = d.getTime();
} ticks.push({ v: v / scale, label: formatter(v / scale, axis) });
else if (tickUnit == "month") {
set(d, 'Month', mode, get(d, 'Month', mode) + tickSize); if (tickSize < 1) {
} /* a bit complicated - we'll divide the month up but we need to take care of fractions
else if (tickUnit == "year") { so we don't end up in the middle of a day */
set(d, 'FullYear', mode, get(d, 'FullYear', mode) + tickSize); set(d, 'Date', mode, 1);
} var start = d.getTime();
else set(d, 'Month', mode, get(d, 'Month', mode) + 1)
d.setTime(v + step); var end = d.getTime();
  d.setTime(v + carry * timeUnits.hour + (end - start) * tickSize);
} while (v < max && v != prev); carry = get(d, 'Hours', mode)
  set(d, 'Hours', mode, 0);
return ticks; }
}, else
timeUnits: { set(d, 'Month', mode, get(d, 'Month', mode) + tickSize);
millisecond: 1, }
second: 1000, else if (tickUnit == "year") {
minute: 1000 * 60, set(d, 'FullYear', mode, get(d, 'FullYear', mode) + tickSize);
hour: 1000 * 60 * 60, }
day: 1000 * 60 * 60 * 24, else
month: 1000 * 60 * 60 * 24 * 30, d.setTime(v + step);
year: 1000 * 60 * 60 * 24 * 365.2425  
}, } while (v < max && v != prev);
// the allowed tick sizes, after 1 year we use an integer algorithm  
spec: [ return ticks;
[1, "millisecond"], [20, "millisecond"], [50, "millisecond"], [100, "millisecond"], [200, "millisecond"], [500, "millisecond"], },
[1, "second"], [2, "second"], [5, "second"], [10, "second"], [30, "second"], timeUnits: {
[1, "minute"], [2, "minute"], [5, "minute"], [10, "minute"], [30, "minute"], millisecond: 1,
[1, "hour"], [2, "hour"], [4, "hour"], [8, "hour"], [12, "hour"], second: 1000,
[1, "day"], [2, "day"], [3, "day"], minute: 1000 * 60,
[0.25, "month"], [0.5, "month"], [1, "month"], [2, "month"], [3, "month"], [6, "month"], hour: 1000 * 60 * 60,
[1, "year"] day: 1000 * 60 * 60 * 24,
], month: 1000 * 60 * 60 * 24 * 30,
monthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] year: 1000 * 60 * 60 * 24 * 365.2425
  },
  // the allowed tick sizes, after 1 year we use an integer algorithm
  spec: [
  [1, "millisecond"],
  [20, "millisecond"],
  [50, "millisecond"],
  [100, "millisecond"],
  [200, "millisecond"],
  [500, "millisecond"],
  [1, "second"],
  [2, "second"],
  [5, "second"],
  [10, "second"],
  [30, "second"],
  [1, "minute"],
  [2, "minute"],
  [5, "minute"],
  [10, "minute"],
  [30, "minute"],
  [1, "hour"],
  [2, "hour"],
  [4, "hour"],
  [8, "hour"],
  [12, "hour"],
  [1, "day"],
  [2, "day"],
  [3, "day"],
  [0.25, "month"],
  [0.5, "month"],
  [1, "month"],
  [2, "month"],
  [3, "month"],
  [6, "month"],
  [1, "year"]
  ],
  monthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
}; };
   
(function () { (function () {
   
var _ = Flotr._; var _ = Flotr._;
   
Flotr.DOM = { Flotr.DOM = {
addClass: function(element, name){ addClass: function (element, name) {
var classList = (element.className ? element.className : ''); var classList = (element.className ? element.className : '');
if (_.include(classList.split(/\s+/g), name)) return; if (_.include(classList.split(/\s+/g), name)) return;
element.className = (classList ? classList + ' ' : '') + name; element.className = (classList ? classList + ' ' : '') + name;
}, },
/** /**
* Create an element. * Create an element.
*/ */
create: function(tag){ create: function (tag) {
return document.createElement(tag); return document.createElement(tag);
}, },
node: function(html) { node: function (html) {
var div = Flotr.DOM.create('div'), n; var div = Flotr.DOM.create('div'), n;
div.innerHTML = html; div.innerHTML = html;
n = div.children[0]; n = div.children[0];
div.innerHTML = ''; div.innerHTML = '';
return n; return n;
}, },
/** /**
* Remove all children. * Remove all children.
*/ */
empty: function(element){ empty: function (element) {
element.innerHTML = ''; element.innerHTML = '';
/* /*
if (!element) return; if (!element) return;
_.each(element.childNodes, function (e) { _.each(element.childNodes, function (e) {
Flotr.DOM.empty(e); Flotr.DOM.empty(e);
element.removeChild(e); element.removeChild(e);
}); });
*/ */
}, },
hide: function(element){ hide: function (element) {
Flotr.DOM.setStyles(element, {display:'none'}); Flotr.DOM.setStyles(element, {display: 'none'});
}, },
/** /**
* Insert a child. * Insert a child.
* @param {Element} element * @param {Element} element
* @param {Element|String} Element or string to be appended. * @param {Element|String} Element or string to be appended.
*/ */
insert: function(element, child){ insert: function (element, child) {
if(_.isString(child)) if (_.isString(child))
element.innerHTML += child; element.innerHTML += child;
else if (_.isElement(child)) else if (_.isElement(child))
element.appendChild(child); element.appendChild(child);
}, },
// @TODO find xbrowser implementation // @TODO find xbrowser implementation
opacity: function(element, opacity) { opacity: function (element, opacity) {
element.style.opacity = opacity; element.style.opacity = opacity;
}, },
position: function(element, p){ position: function (element, p) {
if (!element.offsetParent) if (!element.offsetParent)
return {left: (element.offsetLeft || 0), top: (element.offsetTop || 0)}; return {left: (element.offsetLeft || 0), top: (element.offsetTop || 0)};
   
p = this.position(element.offsetParent); p = this.position(element.offsetParent);
p.left += element.offsetLeft; p.left += element.offsetLeft;
p.top += element.offsetTop; p.top += element.offsetTop;
return p; return p;
}, },
removeClass: function(element, name) { removeClass: function (element, name) {
var classList = (element.className ? element.className : ''); var classList = (element.className ? element.className : '');
element.className = _.filter(classList.split(/\s+/g), function (c) { element.className = _.filter(classList.split(/\s+/g),function (c) {
if (c != name) return true; } if (c != name) return true;
).join(' '); }
}, ).join(' ');
setStyles: function(element, o) { },
_.each(o, function (value, key) { setStyles: function (element, o) {
element.style[key] = value; _.each(o, function (value, key) {
}); element.style[key] = value;
}, });
show: function(element){ },
Flotr.DOM.setStyles(element, {display:''}); show: function (element) {
}, Flotr.DOM.setStyles(element, {display: ''});
/** },
* Return element size. /**
*/ * Return element size.
size: function(element){ */
return { size: function (element) {
height : element.offsetHeight, return {
width : element.offsetWidth }; height: element.offsetHeight,
} width: element.offsetWidth };
}; }
  };
   
})(); })();
   
/** /**
* Flotr Event Adapter * Flotr Event Adapter
*/ */
(function () { (function () {
var var
F = Flotr, F = Flotr,
bean = F.bean; bean = F.bean;
F.EventAdapter = { F.EventAdapter = {
observe: function(object, name, callback) { observe: function (object, name, callback) {
bean.add(object, name, callback); bean.add(object, name, callback);
return this; return this;
}, },
fire: function(object, name, args) { fire: function (object, name, args) {
bean.fire(object, name, args); bean.fire(object, name, args);
if (typeof(Prototype) != 'undefined') if (typeof(Prototype) != 'undefined')
Event.fire(object, name, args); Event.fire(object, name, args);
// @TODO Someone who uses mootools, add mootools adapter for existing applciations. // @TODO Someone who uses mootools, add mootools adapter for existing applciations.
return this; return this;
}, },
stopObserving: function(object, name, callback) { stopObserving: function (object, name, callback) {
bean.remove(object, name, callback); bean.remove(object, name, callback);
return this; return this;
}, },
eventPointer: function(e) { eventPointer: function (e) {
if (!F._.isUndefined(e.touches) && e.touches.length > 0) { if (!F._.isUndefined(e.touches) && e.touches.length > 0) {
return { return {
x : e.touches[0].pageX, x: e.touches[0].pageX,
y : e.touches[0].pageY y: e.touches[0].pageY
}; };
} else if (!F._.isUndefined(e.changedTouches) && e.changedTouches.length > 0) { } else if (!F._.isUndefined(e.changedTouches) && e.changedTouches.length > 0) {
return { return {
x : e.changedTouches[0].pageX, x: e.changedTouches[0].pageX,
y : e.changedTouches[0].pageY y: e.changedTouches[0].pageY
}; };
} else if (e.pageX || e.pageY) { } else if (e.pageX || e.pageY) {
return { return {
x : e.pageX, x: e.pageX,
y : e.pageY y: e.pageY
}; };
} else if (e.clientX || e.clientY) { } else if (e.clientX || e.clientY) {
var var
d = document, d = document,
b = d.body, b = d.body,
de = d.documentElement; de = d.documentElement;
return { return {
x: e.clientX + b.scrollLeft + de.scrollLeft, x: e.clientX + b.scrollLeft + de.scrollLeft,
y: e.clientY + b.scrollTop + de.scrollTop y: e.clientY + b.scrollTop + de.scrollTop
}; };
} }
} }
}; };
})(); })();
   
/** /**
* Text Utilities * Text Utilities
*/ */
(function () { (function () {
   
var  
F = Flotr,  
D = F.DOM,  
_ = F._,  
   
Text = function (o) {  
this.o = o;  
};  
   
Text.prototype = {  
   
dimensions : function (text, canvasStyle, htmlStyle, className) {  
   
if (!text) return { width : 0, height : 0 };  
   
return (this.o.html) ?  
this.html(text, this.o.element, htmlStyle, className) :  
this.canvas(text, canvasStyle);  
},  
   
canvas : function (text, style) {  
   
if (!this.o.textEnabled) return;  
style = style || {};  
   
var var
metrics = this.measureText(text, style), F = Flotr,
width = metrics.width, D = F.DOM,
height = style.size || F.defaultOptions.fontSize, _ = F._,
angle = style.angle || 0,  
cosAngle = Math.cos(angle), Text = function (o) {
sinAngle = Math.sin(angle), this.o = o;
widthPadding = 2, };
heightPadding = 6,  
bounds; Text.prototype = {
   
bounds = { dimensions: function (text, canvasStyle, htmlStyle, className) {
width: Math.abs(cosAngle * width) + Math.abs(sinAngle * height) + widthPadding,  
height: Math.abs(sinAngle * width) + Math.abs(cosAngle * height) + heightPadding if (!text) return { width: 0, height: 0 };
};  
  return (this.o.html) ?
return bounds; this.html(text, this.o.element, htmlStyle, className) :
}, this.canvas(text, canvasStyle);
  },
html : function (text, element, style, className) {  
  canvas: function (text, style) {
var div = D.create('div');  
  if (!this.o.textEnabled) return;
D.setStyles(div, { 'position' : 'absolute', 'top' : '-10000px' }); style = style || {};
D.insert(div, '<div style="'+style+'" class="'+className+' flotr-dummy-div">' + text + '</div>');  
D.insert(this.o.element, div); var
  metrics = this.measureText(text, style),
return D.size(div); width = metrics.width,
}, height = style.size || F.defaultOptions.fontSize,
  angle = style.angle || 0,
measureText : function (text, style) { cosAngle = Math.cos(angle),
  sinAngle = Math.sin(angle),
var widthPadding = 2,
context = this.o.ctx, heightPadding = 6,
metrics; bounds;
   
if (!context.fillText || (F.isIphone && context.measure)) { bounds = {
return { width : context.measure(text, style)}; width: Math.abs(cosAngle * width) + Math.abs(sinAngle * height) + widthPadding,
} height: Math.abs(sinAngle * width) + Math.abs(cosAngle * height) + heightPadding
  };
style = _.extend({  
size: F.defaultOptions.fontSize, return bounds;
weight: 1, },
angle: 0  
}, style); html: function (text, element, style, className) {
   
context.save(); var div = D.create('div');
context.font = (style.weight > 1 ? "bold " : "") + (style.size*1.3) + "px sans-serif";  
metrics = context.measureText(text); D.setStyles(div, { 'position': 'absolute', 'top': '-10000px' });
context.restore(); D.insert(div, '<div style="' + style + '" class="' + className + ' flotr-dummy-div">' + text + '</div>');
  D.insert(this.o.element, div);
return metrics;  
} return D.size(div);
}; },
   
Flotr.Text = Text; measureText: function (text, style) {
   
  var
  context = this.o.ctx,
  metrics;
   
  if (!context.fillText || (F.isIphone && context.measure)) {
  return { width: context.measure(text, style)};
  }
   
  style = _.extend({
  size: F.defaultOptions.fontSize,
  weight: 1,
  angle: 0
  }, style);
   
  context.save();
  context.font = (style.weight > 1 ? "bold " : "") + (style.size * 1.3) + "px sans-serif";
  metrics = context.measureText(text);
  context.restore();
   
  return metrics;
  }
  };
   
  Flotr.Text = Text;
   
})(); })();
   
/** /**
* Flotr Graph class that plots a graph on creation. * Flotr Graph class that plots a graph on creation.
*/ */
(function () { (function () {
   
var var
D = Flotr.DOM, D = Flotr.DOM,
E = Flotr.EventAdapter, E = Flotr.EventAdapter,
_ = Flotr._, _ = Flotr._,
flotr = Flotr; flotr = Flotr;
/** /**
* Flotr Graph constructor. * Flotr Graph constructor.
* @param {Element} el - element to insert the graph into * @param {Element} el - element to insert the graph into
* @param {Object} data - an array or object of dataseries * @param {Object} data - an array or object of dataseries
* @param {Object} options - an object containing options * @param {Object} options - an object containing options
*/ */
Graph = function(el, data, options){ Graph = function (el, data, options) {
// Let's see if we can get away with out this [JS] // Let's see if we can get away with out this [JS]
// try { // try {
this._setEl(el); this._setEl(el);
this._initMembers(); this._initMembers();
this._initPlugins(); this._initPlugins();
   
E.fire(this.el, 'flotr:beforeinit', [this]); E.fire(this.el, 'flotr:beforeinit', [this]);
   
this.data = data; this.data = data;
this.series = flotr.Series.getSeries(data); this.series = flotr.Series.getSeries(data);
this._initOptions(options); this._initOptions(options);
this._initGraphTypes(); this._initGraphTypes();
this._initCanvas(); this._initCanvas();
this._text = new flotr.Text({ this._text = new flotr.Text({
element : this.el, element: this.el,
ctx : this.ctx, ctx: this.ctx,
html : this.options.HtmlText, html: this.options.HtmlText,
textEnabled : this.textEnabled textEnabled: this.textEnabled
}); });
E.fire(this.el, 'flotr:afterconstruct', [this]); E.fire(this.el, 'flotr:afterconstruct', [this]);
this._initEvents(); this._initEvents();
   
this.findDataRanges(); this.findDataRanges();
this.calculateSpacing(); this.calculateSpacing();
   
this.draw(_.bind(function() { this.draw(_.bind(function () {
E.fire(this.el, 'flotr:afterinit', [this]); E.fire(this.el, 'flotr:afterinit', [this]);
}, this)); }, this));
/* /*
try { try {
} catch (e) { } catch (e) {
try { try {
console.error(e); console.error(e);
} catch (e2) {} } catch (e2) {}
}*/ }*/
}; };
   
function observe (object, name, callback) { function observe(object, name, callback) {
E.observe.apply(this, arguments); E.observe.apply(this, arguments);
this._handles.push(arguments); this._handles.push(arguments);
return this; return this;
}  
   
Graph.prototype = {  
   
destroy: function () {  
E.fire(this.el, 'flotr:destroy');  
_.each(this._handles, function (handle) {  
E.stopObserving.apply(this, handle);  
});  
this._handles = [];  
this.el.graph = null;  
},  
   
observe : observe,  
   
/**  
* @deprecated  
*/  
_observe : observe,  
   
processColor: function(color, options){  
var o = { x1: 0, y1: 0, x2: this.plotWidth, y2: this.plotHeight, opacity: 1, ctx: this.ctx };  
_.extend(o, options);  
return flotr.Color.processColor(color, o);  
},  
/**  
* Function determines the min and max values for the xaxis and yaxis.  
*  
* TODO logarithmic range validation (consideration of 0)  
*/  
findDataRanges: function(){  
var a = this.axes,  
xaxis, yaxis, range;  
   
_.each(this.series, function (series) {  
range = series.getRange();  
if (range) {  
xaxis = series.xaxis;  
yaxis = series.yaxis;  
xaxis.datamin = Math.min(range.xmin, xaxis.datamin);  
xaxis.datamax = Math.max(range.xmax, xaxis.datamax);  
yaxis.datamin = Math.min(range.ymin, yaxis.datamin);  
yaxis.datamax = Math.max(range.ymax, yaxis.datamax);  
xaxis.used = (xaxis.used || range.xused);  
yaxis.used = (yaxis.used || range.yused);  
}  
}, this);  
   
// Check for empty data, no data case (none used)  
if (!a.x.used && !a.x2.used) a.x.used = true;  
if (!a.y.used && !a.y2.used) a.y.used = true;  
   
_.each(a, function (axis) {  
axis.calculateRange();  
});  
   
var  
types = _.keys(flotr.graphTypes),  
drawn = false;  
   
_.each(this.series, function (series) {  
if (series.hide) return;  
_.each(types, function (type) {  
if (series[type] && series[type].show) {  
this.extendRange(type, series);  
drawn = true;  
}  
}, this);  
if (!drawn) {  
this.extendRange(this.options.defaultType, series);  
}  
}, this);  
},  
   
extendRange : function (type, series) {  
if (this[type].extendRange) this[type].extendRange(series, series.data, series[type], this[type]);  
if (this[type].extendYRange) this[type].extendYRange(series.yaxis, series.data, series[type], this[type]);  
if (this[type].extendXRange) this[type].extendXRange(series.xaxis, series.data, series[type], this[type]);  
},  
   
/**  
* Calculates axis label sizes.  
*/  
calculateSpacing: function(){  
   
var a = this.axes,  
options = this.options,  
series = this.series,  
margin = options.grid.labelMargin,  
T = this._text,  
x = a.x,  
x2 = a.x2,  
y = a.y,  
y2 = a.y2,  
maxOutset = options.grid.outlineWidth,  
i, j, l, dim;  
   
// TODO post refactor, fix this  
_.each(a, function (axis) {  
axis.calculateTicks();  
axis.calculateTextDimensions(T, options);  
});  
   
// Title height  
dim = T.dimensions(  
options.title,  
{size: options.fontSize*1.5},  
'font-size:1em;font-weight:bold;',  
'flotr-title'  
);  
this.titleHeight = dim.height;  
   
// Subtitle height  
dim = T.dimensions(  
options.subtitle,  
{size: options.fontSize},  
'font-size:smaller;',  
'flotr-subtitle'  
);  
this.subtitleHeight = dim.height;  
   
for(j = 0; j < options.length; ++j){  
if (series[j].points.show){  
maxOutset = Math.max(maxOutset, series[j].points.radius + series[j].points.lineWidth/2);  
}  
} }
   
var p = this.plotOffset; Graph.prototype = {
if (x.options.margin === false) {  
p.bottom = 0; destroy: function () {
p.top = 0; E.fire(this.el, 'flotr:destroy');
} else { _.each(this._handles, function (handle) {
p.bottom += (options.grid.circular ? 0 : (x.used && x.options.showLabels ? (x.maxLabel.height + margin) : 0)) + E.stopObserving.apply(this, handle);
(x.used && x.options.title ? (x.titleSize.height + margin) : 0) + maxOutset; });
  this._handles = [];
p.top += (options.grid.circular ? 0 : (x2.used && x2.options.showLabels ? (x2.maxLabel.height + margin) : 0)) + this.el.graph = null;
(x2.used && x2.options.title ? (x2.titleSize.height + margin) : 0) + this.subtitleHeight + this.titleHeight + maxOutset; },
}  
if (y.options.margin === false) { observe: observe,
p.left = 0;  
p.right = 0; /**
} else { * @deprecated
p.left += (options.grid.circular ? 0 : (y.used && y.options.showLabels ? (y.maxLabel.width + margin) : 0)) + */
(y.used && y.options.title ? (y.titleSize.width + margin) : 0) + maxOutset; _observe: observe,
   
p.right += (options.grid.circular ? 0 : (y2.used && y2.options.showLabels ? (y2.maxLabel.width + margin) : 0)) + processColor: function (color, options) {
(y2.used && y2.options.title ? (y2.titleSize.width + margin) : 0) + maxOutset; var o = { x1: 0, y1: 0, x2: this.plotWidth, y2: this.plotHeight, opacity: 1, ctx: this.ctx };
} _.extend(o, options);
  return flotr.Color.processColor(color, o);
p.top = Math.floor(p.top); // In order the outline not to be blured },
  /**
this.plotWidth = this.canvasWidth - p.left - p.right; * Function determines the min and max values for the xaxis and yaxis.
this.plotHeight = this.canvasHeight - p.bottom - p.top; *
  * TODO logarithmic range validation (consideration of 0)
// TODO post refactor, fix this */
x.length = x2.length = this.plotWidth; findDataRanges: function () {
y.length = y2.length = this.plotHeight; var a = this.axes,
y.offset = y2.offset = this.plotHeight; xaxis, yaxis, range;
x.setScale();  
x2.setScale(); _.each(this.series, function (series) {
y.setScale(); range = series.getRange();
y2.setScale(); if (range) {
}, xaxis = series.xaxis;
/** yaxis = series.yaxis;
* Draws grid, labels, series and outline. xaxis.datamin = Math.min(range.xmin, xaxis.datamin);
*/ xaxis.datamax = Math.max(range.xmax, xaxis.datamax);
draw: function(after) { yaxis.datamin = Math.min(range.ymin, yaxis.datamin);
  yaxis.datamax = Math.max(range.ymax, yaxis.datamax);
var xaxis.used = (xaxis.used || range.xused);
context = this.ctx, yaxis.used = (yaxis.used || range.yused);
i; }
  }, this);
E.fire(this.el, 'flotr:beforedraw', [this.series, this]);  
  // Check for empty data, no data case (none used)
if (this.series.length) { if (!a.x.used && !a.x2.used) a.x.used = true;
  if (!a.y.used && !a.y2.used) a.y.used = true;
context.save();  
context.translate(this.plotOffset.left, this.plotOffset.top); _.each(a, function (axis) {
  axis.calculateRange();
for (i = 0; i < this.series.length; i++) { });
if (!this.series[i].hide) this.drawSeries(this.series[i]);  
} var
  types = _.keys(flotr.graphTypes),
context.restore(); drawn = false;
this.clip();  
} _.each(this.series, function (series) {
  if (series.hide) return;
E.fire(this.el, 'flotr:afterdraw', [this.series, this]); _.each(types, function (type) {
if (after) after(); if (series[type] && series[type].show) {
}, this.extendRange(type, series);
/** drawn = true;
* Actually draws the graph. }
* @param {Object} series - series to draw }, this);
*/ if (!drawn) {
drawSeries: function(series){ this.extendRange(this.options.defaultType, series);
  }
function drawChart (series, typeKey) { }, this);
var options = this.getOptions(series, typeKey); },
this[typeKey].draw(options);  
} extendRange: function (type, series) {
  if (this[type].extendRange) this[type].extendRange(series, series.data, series[type], this[type]);
var drawn = false; if (this[type].extendYRange) this[type].extendYRange(series.yaxis, series.data, series[type], this[type]);
series = series || this.series; if (this[type].extendXRange) this[type].extendXRange(series.xaxis, series.data, series[type], this[type]);
  },
_.each(flotr.graphTypes, function (type, typeKey) {  
if (series[typeKey] && series[typeKey].show && this[typeKey]) { /**
drawn = true; * Calculates axis label sizes.
drawChart.call(this, series, typeKey); */
} calculateSpacing: function () {
}, this);  
  var a = this.axes,
if (!drawn) drawChart.call(this, series, this.options.defaultType); options = this.options,
}, series = this.series,
  margin = options.grid.labelMargin,
getOptions : function (series, typeKey) { T = this._text,
var x = a.x,
type = series[typeKey], x2 = a.x2,
graphType = this[typeKey], y = a.y,
options = { y2 = a.y2,
context : this.ctx, maxOutset = options.grid.outlineWidth,
width : this.plotWidth, i, j, l, dim;
height : this.plotHeight,  
fontSize : this.options.fontSize, // TODO post refactor, fix this
fontColor : this.options.fontColor, _.each(a, function (axis) {
textEnabled : this.textEnabled, axis.calculateTicks();
htmlText : this.options.HtmlText, axis.calculateTextDimensions(T, options);
text : this._text, // TODO Is this necessary? });
element : this.el,  
data : series.data, // Title height
color : series.color, dim = T.dimensions(
shadowSize : series.shadowSize, options.title,
xScale : _.bind(series.xaxis.d2p, series.xaxis), {size: options.fontSize * 1.5},
yScale : _.bind(series.yaxis.d2p, series.yaxis) 'font-size:1em;font-weight:bold;',
}; 'flotr-title'
  );
options = flotr.merge(type, options); this.titleHeight = dim.height;
   
// Fill // Subtitle height
options.fillStyle = this.processColor( dim = T.dimensions(
type.fillColor || series.color, options.subtitle,
{opacity: type.fillOpacity} {size: options.fontSize},
); 'font-size:smaller;',
  'flotr-subtitle'
return options; );
}, this.subtitleHeight = dim.height;
/**  
* Calculates the coordinates from a mouse event object. for (j = 0; j < options.length; ++j) {
* @param {Event} event - Mouse Event object. if (series[j].points.show) {
* @return {Object} Object with coordinates of the mouse. maxOutset = Math.max(maxOutset, series[j].points.radius + series[j].points.lineWidth / 2);
*/ }
getEventPosition: function (e){ }
   
var var p = this.plotOffset;
d = document, if (x.options.margin === false) {
b = d.body, p.bottom = 0;
de = d.documentElement, p.top = 0;
axes = this.axes, } else {
plotOffset = this.plotOffset, p.bottom += (options.grid.circular ? 0 : (x.used && x.options.showLabels ? (x.maxLabel.height + margin) : 0)) +
lastMousePos = this.lastMousePos, (x.used && x.options.title ? (x.titleSize.height + margin) : 0) + maxOutset;
pointer = E.eventPointer(e),  
dx = pointer.x - lastMousePos.pageX, p.top += (options.grid.circular ? 0 : (x2.used && x2.options.showLabels ? (x2.maxLabel.height + margin) : 0)) +
dy = pointer.y - lastMousePos.pageY, (x2.used && x2.options.title ? (x2.titleSize.height + margin) : 0) + this.subtitleHeight + this.titleHeight + maxOutset;
r, rx, ry; }
  if (y.options.margin === false) {
if ('ontouchstart' in this.el) { p.left = 0;
r = D.position(this.overlay); p.right = 0;
rx = pointer.x - r.left - plotOffset.left; } else {
ry = pointer.y - r.top - plotOffset.top; p.left += (options.grid.circular ? 0 : (y.used && y.options.showLabels ? (y.maxLabel.width + margin) : 0)) +
} else { (y.used && y.options.title ? (y.titleSize.width + margin) : 0) + maxOutset;
r = this.overlay.getBoundingClientRect();  
rx = e.clientX - r.left - plotOffset.left - b.scrollLeft - de.scrollLeft; p.right += (options.grid.circular ? 0 : (y2.used && y2.options.showLabels ? (y2.maxLabel.width + margin) : 0)) +
ry = e.clientY - r.top - plotOffset.top - b.scrollTop - de.scrollTop; (y2.used && y2.options.title ? (y2.titleSize.width + margin) : 0) + maxOutset;
} }
   
return { p.top = Math.floor(p.top); // In order the outline not to be blured
x: axes.x.p2d(rx),  
x2: axes.x2.p2d(rx), this.plotWidth = this.canvasWidth - p.left - p.right;
y: axes.y.p2d(ry), this.plotHeight = this.canvasHeight - p.bottom - p.top;
y2: axes.y2.p2d(ry),  
relX: rx, // TODO post refactor, fix this
relY: ry, x.length = x2.length = this.plotWidth;
dX: dx, y.length = y2.length = this.plotHeight;
dY: dy, y.offset = y2.offset = this.plotHeight;
absX: pointer.x, x.setScale();
absY: pointer.y, x2.setScale();
pageX: pointer.x, y.setScale();
pageY: pointer.y y2.setScale();
}; },
}, /**
/** * Draws grid, labels, series and outline.
* Observes the 'click' event and fires the 'flotr:click' event. */
* @param {Event} event - 'click' Event object. draw: function (after) {
*/  
clickHandler: function(event){ var
if(this.ignoreClick){ context = this.ctx,
this.ignoreClick = false; i;
return this.ignoreClick;  
} E.fire(this.el, 'flotr:beforedraw', [this.series, this]);
E.fire(this.el, 'flotr:click', [this.getEventPosition(event), this]);  
}, if (this.series.length) {
/**  
* Observes mouse movement over the graph area. Fires the 'flotr:mousemove' event. context.save();
* @param {Event} event - 'mousemove' Event object. context.translate(this.plotOffset.left, this.plotOffset.top);
*/  
mouseMoveHandler: function(event){ for (i = 0; i < this.series.length; i++) {
if (this.mouseDownMoveHandler) return; if (!this.series[i].hide) this.drawSeries(this.series[i]);
var pos = this.getEventPosition(event); }
E.fire(this.el, 'flotr:mousemove', [event, pos, this]);  
this.lastMousePos = pos; context.restore();
}, this.clip();
/** }
* Observes the 'mousedown' event.  
* @param {Event} event - 'mousedown' Event object. E.fire(this.el, 'flotr:afterdraw', [this.series, this]);
*/ if (after) after();
mouseDownHandler: function (event){ },
  /**
/* * Actually draws the graph.
// @TODO Context menu? * @param {Object} series - series to draw
if(event.isRightClick()) { */
event.stop(); drawSeries: function (series) {
   
var overlay = this.overlay; function drawChart(series, typeKey) {
overlay.hide(); var options = this.getOptions(series, typeKey);
  this[typeKey].draw(options);
function cancelContextMenu () { }
overlay.show();  
E.stopObserving(document, 'mousemove', cancelContextMenu); var drawn = false;
} series = series || this.series;
E.observe(document, 'mousemove', cancelContextMenu);  
return; _.each(flotr.graphTypes, function (type, typeKey) {
} if (series[typeKey] && series[typeKey].show && this[typeKey]) {
*/ drawn = true;
  drawChart.call(this, series, typeKey);
if (this.mouseUpHandler) return; }
this.mouseUpHandler = _.bind(function (e) { }, this);
E.stopObserving(document, 'mouseup', this.mouseUpHandler);  
E.stopObserving(document, 'mousemove', this.mouseDownMoveHandler); if (!drawn) drawChart.call(this, series, this.options.defaultType);
this.mouseDownMoveHandler = null; },
this.mouseUpHandler = null;  
// @TODO why? getOptions: function (series, typeKey) {
//e.stop(); var
E.fire(this.el, 'flotr:mouseup', [e, this]); type = series[typeKey],
}, this); graphType = this[typeKey],
this.mouseDownMoveHandler = _.bind(function (e) { options = {
var pos = this.getEventPosition(e); context: this.ctx,
E.fire(this.el, 'flotr:mousemove', [event, pos, this]); width: this.plotWidth,
this.lastMousePos = pos; height: this.plotHeight,
}, this); fontSize: this.options.fontSize,
E.observe(document, 'mouseup', this.mouseUpHandler); fontColor: this.options.fontColor,
E.observe(document, 'mousemove', this.mouseDownMoveHandler); textEnabled: this.textEnabled,
E.fire(this.el, 'flotr:mousedown', [event, this]); htmlText: this.options.HtmlText,
this.ignoreClick = false; text: this._text, // TODO Is this necessary?
}, element: this.el,
drawTooltip: function(content, x, y, options) { data: series.data,
var mt = this.getMouseTrack(), color: series.color,
style = 'opacity:0.7;background-color:#000;color:#fff;display:none;position:absolute;padding:2px 8px;-moz-border-radius:4px;border-radius:4px;white-space:nowrap;', shadowSize: series.shadowSize,
p = options.position, xScale: _.bind(series.xaxis.d2p, series.xaxis),
m = options.margin, yScale: _.bind(series.yaxis.d2p, series.yaxis)
plotOffset = this.plotOffset; };
   
if(x !== null && y !== null){ options = flotr.merge(type, options);
if (!options.relative) { // absolute to the canvas  
if(p.charAt(0) == 'n') style += 'top:' + (m + plotOffset.top) + 'px;bottom:auto;'; // Fill
else if(p.charAt(0) == 's') style += 'bottom:' + (m + plotOffset.bottom) + 'px;top:auto;'; options.fillStyle = this.processColor(
if(p.charAt(1) == 'e') style += 'right:' + (m + plotOffset.right) + 'px;left:auto;'; type.fillColor || series.color,
else if(p.charAt(1) == 'w') style += 'left:' + (m + plotOffset.left) + 'px;right:auto;'; {opacity: type.fillOpacity}
} );
else { // relative to the mouse  
if(p.charAt(0) == 'n') style += 'bottom:' + (m - plotOffset.top - y + this.canvasHeight) + 'px;top:auto;'; return options;
else if(p.charAt(0) == 's') style += 'top:' + (m + plotOffset.top + y) + 'px;bottom:auto;'; },
if(p.charAt(1) == 'e') style += 'left:' + (m + plotOffset.left + x) + 'px;right:auto;'; /**
else if(p.charAt(1) == 'w') style += 'right:' + (m - plotOffset.left - x + this.canvasWidth) + 'px;left:auto;'; * Calculates the coordinates from a mouse event object.
} * @param {Event} event - Mouse Event object.
  * @return {Object} Object with coordinates of the mouse.
mt.style.cssText = style; */
D.empty(mt); getEventPosition: function (e) {
D.insert(mt, content);  
D.show(mt); var
} d = document,
else { b = d.body,
D.hide(mt); de = d.documentElement,
} axes = this.axes,
}, plotOffset = this.plotOffset,
  lastMousePos = this.lastMousePos,
clip: function (ctx) { pointer = E.eventPointer(e),
  dx = pointer.x - lastMousePos.pageX,
var dy = pointer.y - lastMousePos.pageY,
o = this.plotOffset, r, rx, ry;
w = this.canvasWidth,  
h = this.canvasHeight; if ('ontouchstart' in this.el) {
  r = D.position(this.overlay);
ctx = ctx || this.ctx; rx = pointer.x - r.left - plotOffset.left;
  ry = pointer.y - r.top - plotOffset.top;
if (flotr.isIE && flotr.isIE < 9) { } else {
// Clipping for excanvas :-( r = this.overlay.getBoundingClientRect();
ctx.save(); rx = e.clientX - r.left - plotOffset.left - b.scrollLeft - de.scrollLeft;
ctx.fillStyle = this.processColor(this.options.ieBackgroundColor); ry = e.clientY - r.top - plotOffset.top - b.scrollTop - de.scrollTop;
ctx.fillRect(0, 0, w, o.top); }
ctx.fillRect(0, 0, o.left, h);  
ctx.fillRect(0, h - o.bottom, w, o.bottom); return {
ctx.fillRect(w - o.right, 0, o.right,h); x: axes.x.p2d(rx),
ctx.restore(); x2: axes.x2.p2d(rx),
} else { y: axes.y.p2d(ry),
ctx.clearRect(0, 0, w, o.top); y2: axes.y2.p2d(ry),
ctx.clearRect(0, 0, o.left, h); relX: rx,
ctx.clearRect(0, h - o.bottom, w, o.bottom); relY: ry,
ctx.clearRect(w - o.right, 0, o.right,h); dX: dx,
} dY: dy,
}, absX: pointer.x,
  absY: pointer.y,
_initMembers: function() { pageX: pointer.x,
this._handles = []; pageY: pointer.y
this.lastMousePos = {pageX: null, pageY: null }; };
this.plotOffset = {left: 0, right: 0, top: 0, bottom: 0}; },
this.ignoreClick = true; /**
this.prevHit = null; * Observes the 'click' event and fires the 'flotr:click' event.
}, * @param {Event} event - 'click' Event object.
  */
_initGraphTypes: function() { clickHandler: function (event) {
_.each(flotr.graphTypes, function(handler, graphType){ if (this.ignoreClick) {
this[graphType] = flotr.clone(handler); this.ignoreClick = false;
}, this); return this.ignoreClick;
}, }
  E.fire(this.el, 'flotr:click', [this.getEventPosition(event), this]);
_initEvents: function () { },
  /**
var * Observes mouse movement over the graph area. Fires the 'flotr:mousemove' event.
el = this.el, * @param {Event} event - 'mousemove' Event object.
touchendHandler, movement, touchend; */
  mouseMoveHandler: function (event) {
if ('ontouchstart' in el) { if (this.mouseDownMoveHandler) return;
  var pos = this.getEventPosition(event);
touchendHandler = _.bind(function (e) { E.fire(this.el, 'flotr:mousemove', [event, pos, this]);
touchend = true; this.lastMousePos = pos;
E.stopObserving(document, 'touchend', touchendHandler); },
E.fire(el, 'flotr:mouseup', [event, this]); /**
this.multitouches = null; * Observes the 'mousedown' event.
  * @param {Event} event - 'mousedown' Event object.
if (!movement) { */
this.clickHandler(e); mouseDownHandler: function (event) {
}  
}, this); /*
  // @TODO Context menu?
this.observe(this.overlay, 'touchstart', _.bind(function (e) { if(event.isRightClick()) {
movement = false; event.stop();
touchend = false;  
this.ignoreClick = false; var overlay = this.overlay;
  overlay.hide();
if (e.touches && e.touches.length > 1) {  
this.multitouches = e.touches; function cancelContextMenu () {
} overlay.show();
  E.stopObserving(document, 'mousemove', cancelContextMenu);
E.fire(el, 'flotr:mousedown', [event, this]); }
this.observe(document, 'touchend', touchendHandler); E.observe(document, 'mousemove', cancelContextMenu);
}, this)); return;
  }
this.observe(this.overlay, 'touchmove', _.bind(function (e) { */
   
var pos = this.getEventPosition(e); if (this.mouseUpHandler) return;
  this.mouseUpHandler = _.bind(function (e) {
e.preventDefault(); E.stopObserving(document, 'mouseup', this.mouseUpHandler);
  E.stopObserving(document, 'mousemove', this.mouseDownMoveHandler);
movement = true; this.mouseDownMoveHandler = null;
  this.mouseUpHandler = null;
if (this.multitouches || (e.touches && e.touches.length > 1)) { // @TODO why?
this.multitouches = e.touches; //e.stop();
} else { E.fire(this.el, 'flotr:mouseup', [e, this]);
if (!touchend) { }, this);
E.fire(el, 'flotr:mousemove', [event, pos, this]); this.mouseDownMoveHandler = _.bind(function (e) {
} var pos = this.getEventPosition(e);
} E.fire(this.el, 'flotr:mousemove', [event, pos, this]);
this.lastMousePos = pos; this.lastMousePos = pos;
}, this)); }, this);
  E.observe(document, 'mouseup', this.mouseUpHandler);
} else { E.observe(document, 'mousemove', this.mouseDownMoveHandler);
this. E.fire(this.el, 'flotr:mousedown', [event, this]);
observe(this.overlay, 'mousedown', _.bind(this.mouseDownHandler, this)). this.ignoreClick = false;
observe(el, 'mousemove', _.bind(this.mouseMoveHandler, this)). },
observe(this.overlay, 'click', _.bind(this.clickHandler, this)). drawTooltip: function (content, x, y, options) {
observe(el, 'mouseout', function () { var mt = this.getMouseTrack(),
E.fire(el, 'flotr:mouseout'); style = 'opacity:0.7;background-color:#000;color:#fff;display:none;position:absolute;padding:2px 8px;-moz-border-radius:4px;border-radius:4px;white-space:nowrap;',
}); p = options.position,
} m = options.margin,
}, plotOffset = this.plotOffset;
   
/** if (x !== null && y !== null) {
* Initializes the canvas and it's overlay canvas element. When the browser is IE, this makes use if (!options.relative) { // absolute to the canvas
* of excanvas. The overlay canvas is inserted for displaying interactions. After the canvas elements if (p.charAt(0) == 'n') style += 'top:' + (m + plotOffset.top) + 'px;bottom:auto;';
* are created, the elements are inserted into the container element. else if (p.charAt(0) == 's') style += 'bottom:' + (m + plotOffset.bottom) + 'px;top:auto;';
*/ if (p.charAt(1) == 'e') style += 'right:' + (m + plotOffset.right) + 'px;left:auto;';
_initCanvas: function(){ else if (p.charAt(1) == 'w') style += 'left:' + (m + plotOffset.left) + 'px;right:auto;';
var el = this.el, }
o = this.options, else { // relative to the mouse
children = el.children, if (p.charAt(0) == 'n') style += 'bottom:' + (m - plotOffset.top - y + this.canvasHeight) + 'px;top:auto;';
removedChildren = [], else if (p.charAt(0) == 's') style += 'top:' + (m + plotOffset.top + y) + 'px;bottom:auto;';
child, i, if (p.charAt(1) == 'e') style += 'left:' + (m + plotOffset.left + x) + 'px;right:auto;';
size, style; else if (p.charAt(1) == 'w') style += 'right:' + (m - plotOffset.left - x + this.canvasWidth) + 'px;left:auto;';
  }
// Empty the el  
for (i = children.length; i--;) { mt.style.cssText = style;
child = children[i]; D.empty(mt);
if (!this.canvas && child.className === 'flotr-canvas') { D.insert(mt, content);
this.canvas = child; D.show(mt);
} else if (!this.overlay && child.className === 'flotr-overlay') { }
this.overlay = child; else {
} else { D.hide(mt);
removedChildren.push(child); }
} },
}  
for (i = removedChildren.length; i--;) { clip: function (ctx) {
el.removeChild(removedChildren[i]);  
} var
  o = this.plotOffset,
D.setStyles(el, {position: 'relative'}); // For positioning labels and overlay. w = this.canvasWidth,
size = {}; h = this.canvasHeight;
size.width = el.clientWidth;  
size.height = el.clientHeight; ctx = ctx || this.ctx;
   
if(size.width <= 0 || size.height <= 0 || o.resolution <= 0){ if (flotr.isIE && flotr.isIE < 9) {
throw 'Invalid dimensions for plot, width = ' + size.width + ', height = ' + size.height + ', resolution = ' + o.resolution; // Clipping for excanvas :-(
} ctx.save();
  ctx.fillStyle = this.processColor(this.options.ieBackgroundColor);
// Main canvas for drawing graph types ctx.fillRect(0, 0, w, o.top);
this.canvas = getCanvas(this.canvas, 'canvas'); ctx.fillRect(0, 0, o.left, h);
// Overlay canvas for interactive features ctx.fillRect(0, h - o.bottom, w, o.bottom);
this.overlay = getCanvas(this.overlay, 'overlay'); ctx.fillRect(w - o.right, 0, o.right, h);
this.ctx = getContext(this.canvas); ctx.restore();
this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); } else {
this.octx = getContext(this.overlay); ctx.clearRect(0, 0, w, o.top);
this.octx.clearRect(0, 0, this.overlay.width, this.overlay.height); ctx.clearRect(0, 0, o.left, h);
this.canvasHeight = size.height; ctx.clearRect(0, h - o.bottom, w, o.bottom);
this.canvasWidth = size.width; ctx.clearRect(w - o.right, 0, o.right, h);
this.textEnabled = !!this.ctx.drawText || !!this.ctx.fillText; // Enable text functions }
  },
function getCanvas(canvas, name){  
if(!canvas){ _initMembers: function () {
canvas = D.create('canvas'); this._handles = [];
if (typeof FlashCanvas != "undefined" && typeof canvas.getContext === 'function') { this.lastMousePos = {pageX: null, pageY: null };
FlashCanvas.initElement(canvas); this.plotOffset = {left: 0, right: 0, top: 0, bottom: 0};
} this.ignoreClick = true;
canvas.className = 'flotr-'+name; this.prevHit = null;
canvas.style.cssText = 'position:absolute;left:0px;top:0px;'; },
D.insert(el, canvas);  
} _initGraphTypes: function () {
_.each(size, function(size, attribute){ _.each(flotr.graphTypes, function (handler, graphType) {
D.show(canvas); this[graphType] = flotr.clone(handler);
if (name == 'canvas' && canvas.getAttribute(attribute) === size) { }, this);
return; },
}  
canvas.setAttribute(attribute, size * o.resolution); _initEvents: function () {
canvas.style[attribute] = size + 'px';  
}); var
canvas.context_ = null; // Reset the ExCanvas context el = this.el,
return canvas; touchendHandler, movement, touchend;
}  
  if ('ontouchstart' in el) {
function getContext(canvas){  
if(window.G_vmlCanvasManager) window.G_vmlCanvasManager.initElement(canvas); // For ExCanvas touchendHandler = _.bind(function (e) {
var context = canvas.getContext('2d'); touchend = true;
if(!window.G_vmlCanvasManager) context.scale(o.resolution, o.resolution); E.stopObserving(document, 'touchend', touchendHandler);
return context; E.fire(el, 'flotr:mouseup', [event, this]);
} this.multitouches = null;
},  
  if (!movement) {
_initPlugins: function(){ this.clickHandler(e);
// TODO Should be moved to flotr and mixed in. }
_.each(flotr.plugins, function(plugin, name){ }, this);
_.each(plugin.callbacks, function(fn, c){  
this.observe(this.el, c, _.bind(fn, this)); this.observe(this.overlay, 'touchstart', _.bind(function (e) {
}, this); movement = false;
this[name] = flotr.clone(plugin); touchend = false;
_.each(this[name], function(fn, p){ this.ignoreClick = false;
if (_.isFunction(fn))  
this[name][p] = _.bind(fn, this); if (e.touches && e.touches.length > 1) {
}, this); this.multitouches = e.touches;
}, this); }
},  
  E.fire(el, 'flotr:mousedown', [event, this]);
/** this.observe(document, 'touchend', touchendHandler);
* Sets options and initializes some variables and color specific values, used by the constructor. }, this));
* @param {Object} opts - options object  
*/ this.observe(this.overlay, 'touchmove', _.bind(function (e) {
_initOptions: function(opts){  
var options = flotr.clone(flotr.defaultOptions); var pos = this.getEventPosition(e);
options.x2axis = _.extend(_.clone(options.xaxis), options.x2axis);  
options.y2axis = _.extend(_.clone(options.yaxis), options.y2axis); e.preventDefault();
this.options = flotr.merge(opts || {}, options);  
  movement = true;
if (this.options.grid.minorVerticalLines === null &&  
this.options.xaxis.scaling === 'logarithmic') { if (this.multitouches || (e.touches && e.touches.length > 1)) {
this.options.grid.minorVerticalLines = true; this.multitouches = e.touches;
} } else {
if (this.options.grid.minorHorizontalLines === null && if (!touchend) {
this.options.yaxis.scaling === 'logarithmic') { E.fire(el, 'flotr:mousemove', [event, pos, this]);
this.options.grid.minorHorizontalLines = true; }
} }
  this.lastMousePos = pos;
E.fire(this.el, 'flotr:afterinitoptions', [this]); }, this));
   
this.axes = flotr.Axis.getAxes(this.options); } else {
  this.
// Initialize some variables used throughout this function. observe(this.overlay, 'mousedown', _.bind(this.mouseDownHandler, this)).
var assignedColors = [], observe(el, 'mousemove', _.bind(this.mouseMoveHandler, this)).
colors = [], observe(this.overlay, 'click', _.bind(this.clickHandler, this)).
ln = this.series.length, observe(el, 'mouseout', function () {
neededColors = this.series.length, E.fire(el, 'flotr:mouseout');
oc = this.options.colors, });
usedColors = [], }
variation = 0, },
c, i, j, s;  
  /**
// Collect user-defined colors from series. * Initializes the canvas and it's overlay canvas element. When the browser is IE, this makes use
for(i = neededColors - 1; i > -1; --i){ * of excanvas. The overlay canvas is inserted for displaying interactions. After the canvas elements
c = this.series[i].color; * are created, the elements are inserted into the container element.
if(c){ */
--neededColors; _initCanvas: function () {
if(_.isNumber(c)) assignedColors.push(c); var el = this.el,
else usedColors.push(flotr.Color.parse(c)); o = this.options,
} children = el.children,
} removedChildren = [],
  child, i,
// Calculate the number of colors that need to be generated. size, style;
for(i = assignedColors.length - 1; i > -1; --i)  
neededColors = Math.max(neededColors, assignedColors[i] + 1); // Empty the el
  for (i = children.length; i--;) {
// Generate needed number of colors. child = children[i];
for(i = 0; colors.length < neededColors;){ if (!this.canvas && child.className === 'flotr-canvas') {
c = (oc.length == i) ? new flotr.Color(100, 100, 100) : flotr.Color.parse(oc[i]); this.canvas = child;
  } else if (!this.overlay && child.className === 'flotr-overlay') {
// Make sure each serie gets a different color. this.overlay = child;
var sign = variation % 2 == 1 ? -1 : 1, } else {
factor = 1 + sign * Math.ceil(variation / 2) * 0.2; removedChildren.push(child);
c.scale(factor, factor, factor); }
  }
/** for (i = removedChildren.length; i--;) {
* @todo if we're getting too close to something else, we should probably skip this one el.removeChild(removedChildren[i]);
*/ }
colors.push(c);  
  D.setStyles(el, {position: 'relative'}); // For positioning labels and overlay.
if(++i >= oc.length){ size = {};
i = 0; size.width = el.clientWidth;
++variation; size.height = el.clientHeight;
}  
} if (size.width <= 0 || size.height <= 0 || o.resolution <= 0) {
  throw 'Invalid dimensions for plot, width = ' + size.width + ', height = ' + size.height + ', resolution = ' + o.resolution;
// Fill the options with the generated colors. }
for(i = 0, j = 0; i < ln; ++i){  
s = this.series[i]; // Main canvas for drawing graph types
  this.canvas = getCanvas(this.canvas, 'canvas');
// Assign the color. // Overlay canvas for interactive features
if (!s.color){ this.overlay = getCanvas(this.overlay, 'overlay');
s.color = colors[j++].toString(); this.ctx = getContext(this.canvas);
}else if(_.isNumber(s.color)){ this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
s.color = colors[s.color].toString(); this.octx = getContext(this.overlay);
} this.octx.clearRect(0, 0, this.overlay.width, this.overlay.height);
  this.canvasHeight = size.height;
// Every series needs an axis this.canvasWidth = size.width;
if (!s.xaxis) s.xaxis = this.axes.x; this.textEnabled = !!this.ctx.drawText || !!this.ctx.fillText; // Enable text functions
if (s.xaxis == 1) s.xaxis = this.axes.x;  
else if (s.xaxis == 2) s.xaxis = this.axes.x2; function getCanvas(canvas, name) {
  if (!canvas) {
if (!s.yaxis) s.yaxis = this.axes.y; canvas = D.create('canvas');
if (s.yaxis == 1) s.yaxis = this.axes.y; if (typeof FlashCanvas != "undefined" && typeof canvas.getContext === 'function') {
else if (s.yaxis == 2) s.yaxis = this.axes.y2; FlashCanvas.initElement(canvas);
  }
// Apply missing options to the series. canvas.className = 'flotr-' + name;
for (var t in flotr.graphTypes){ canvas.style.cssText = 'position:absolute;left:0px;top:0px;';
s[t] = _.extend(_.clone(this.options[t]), s[t]); D.insert(el, canvas);
} }
s.mouse = _.extend(_.clone(this.options.mouse), s.mouse); _.each(size, function (size, attribute) {
  D.show(canvas);
if (_.isUndefined(s.shadowSize)) s.shadowSize = this.options.shadowSize; if (name == 'canvas' && canvas.getAttribute(attribute) === size) {
} return;
}, }
  canvas.setAttribute(attribute, size * o.resolution);
_setEl: function(el) { canvas.style[attribute] = size + 'px';
if (!el) throw 'The target container doesn\'t exist'; });
else if (el.graph instanceof Graph) el.graph.destroy(); canvas.context_ = null; // Reset the ExCanvas context
else if (!el.clientWidth) throw 'The target container must be visible'; return canvas;
  }
el.graph = this;  
this.el = el; function getContext(canvas) {
} if (window.G_vmlCanvasManager) window.G_vmlCanvasManager.initElement(canvas); // For ExCanvas
}; var context = canvas.getContext('2d');
  if (!window.G_vmlCanvasManager) context.scale(o.resolution, o.resolution);
Flotr.Graph = Graph; return context;
  }
  },
   
  _initPlugins: function () {
  // TODO Should be moved to flotr and mixed in.
  _.each(flotr.plugins, function (plugin, name) {
  _.each(plugin.callbacks, function (fn, c) {
  this.observe(this.el, c, _.bind(fn, this));
  }, this);
  this[name] = flotr.clone(plugin);
  _.each(this[name], function (fn, p) {
  if (_.isFunction(fn))
  this[name][p] = _.bind(fn, this);
  }, this);
  }, this);
  },
   
  /**
  * Sets options and initializes some variables and color specific values, used by the constructor.
  * @param {Object} opts - options object
  */
  _initOptions: function (opts) {
  var options = flotr.clone(flotr.defaultOptions);
  options.x2axis = _.extend(_.clone(options.xaxis), options.x2axis);
  options.y2axis = _.extend(_.clone(options.yaxis), options.y2axis);
  this.options = flotr.merge(opts || {}, options);
   
  if (this.options.grid.minorVerticalLines === null &&
  this.options.xaxis.scaling === 'logarithmic') {
  this.options.grid.minorVerticalLines = true;
  }
  if (this.options.grid.minorHorizontalLines === null &&
  this.options.yaxis.scaling === 'logarithmic') {
  this.options.grid.minorHorizontalLines = true;
  }
   
  E.fire(this.el, 'flotr:afterinitoptions', [this]);
   
  this.axes = flotr.Axis.getAxes(this.options);
   
  // Initialize some variables used throughout this function.
  var assignedColors = [],
  colors = [],
  ln = this.series.length,
  neededColors = this.series.length,
  oc = this.options.colors,
  usedColors = [],
  variation = 0,
  c, i, j, s;
   
  // Collect user-defined colors from series.
  for (i = neededColors - 1; i > -1; --i) {
  c = this.series[i].color;
  if (c) {
  --neededColors;
  if (_.isNumber(c)) assignedColors.push(c);
  else usedColors.push(flotr.Color.parse(c));
  }
  }
   
  // Calculate the number of colors that need to be generated.
  for (i = assignedColors.length - 1; i > -1; --i)
  neededColors = Math.max(neededColors, assignedColors[i] + 1);
   
  // Generate needed number of colors.
  for (i = 0; colors.length < neededColors;) {
  c = (oc.length == i) ? new flotr.Color(100, 100, 100) : flotr.Color.parse(oc[i]);
   
  // Make sure each serie gets a different color.
  var sign = variation % 2 == 1 ? -1 : 1,
  factor = 1 + sign * Math.ceil(variation / 2) * 0.2;
  c.scale(factor, factor, factor);
   
  /**
  * @todo if we're getting too close to something else, we should probably skip this one
  */
  colors.push(c);
   
  if (++i >= oc.length) {
  i = 0;
  ++variation;
  }
  }
   
  // Fill the options with the generated colors.
  for (i = 0, j = 0; i < ln; ++i) {
  s = this.series[i];
   
  // Assign the color.
  if (!s.color) {
  s.color = colors[j++].toString();
  } else if (_.isNumber(s.color)) {
  s.color = colors[s.color].toString();
  }
   
  // Every series needs an axis
  if (!s.xaxis) s.xaxis = this.axes.x;
  if (s.xaxis == 1) s.xaxis = this.axes.x;
  else if (s.xaxis == 2) s.xaxis = this.axes.x2;
   
  if (!s.yaxis) s.yaxis = this.axes.y;
  if (s.yaxis == 1) s.yaxis = this.axes.y;
  else if (s.yaxis == 2) s.yaxis = this.axes.y2;
   
  // Apply missing options to the series.
  for (var t in flotr.graphTypes) {
  s[t] = _.extend(_.clone(this.options[t]), s[t]);
  }
  s.mouse = _.extend(_.clone(this.options.mouse), s.mouse);
   
  if (_.isUndefined(s.shadowSize)) s.shadowSize = this.options.shadowSize;
  }
  },
   
  _setEl: function (el) {
  if (!el) throw 'The target container doesn\'t exist';
  else if (el.graph instanceof Graph) el.graph.destroy();
  else if (!el.clientWidth) throw 'The target container must be visible';
   
  el.graph = this;
  this.el = el;
  }
  };
   
  Flotr.Graph = Graph;
   
})(); })();
   
/** /**
* Flotr Axis Library * Flotr Axis Library
*/ */
   
(function () { (function () {
   
var var
_ = Flotr._, _ = Flotr._,
LOGARITHMIC = 'logarithmic'; LOGARITHMIC = 'logarithmic';
   
function Axis (o) { function Axis(o) {
   
this.orientation = 1; this.orientation = 1;
this.offset = 0; this.offset = 0;
this.datamin = Number.MAX_VALUE; this.datamin = Number.MAX_VALUE;
this.datamax = -Number.MAX_VALUE; this.datamax = -Number.MAX_VALUE;
   
_.extend(this, o); _.extend(this, o);
   
this._setTranslations(); this._setTranslations();
} }
   
   
// Prototype // Prototype
Axis.prototype = { Axis.prototype = {
   
setScale : function () { setScale: function () {
var length = this.length; var length = this.length;
if (this.options.scaling == LOGARITHMIC) { if (this.options.scaling == LOGARITHMIC) {
this.scale = length / (log(this.max, this.options.base) - log(this.min, this.options.base)); this.scale = length / (log(this.max, this.options.base) - log(this.min, this.options.base));
} else { } else {
this.scale = length / (this.max - this.min); this.scale = length / (this.max - this.min);
  }
  },
   
  calculateTicks: function () {
  var options = this.options;
   
  this.ticks = [];
  this.minorTicks = [];
   
  // User Ticks
  if (options.ticks) {
  this._cleanUserTicks(options.ticks, this.ticks);
  this._cleanUserTicks(options.minorTicks || [], this.minorTicks);
  }
  else {
  if (options.mode == 'time') {
  this._calculateTimeTicks();
  } else if (options.scaling === 'logarithmic') {
  this._calculateLogTicks();
  } else {
  this._calculateTicks();
  }
  }
   
  // Ticks to strings
  _.each(this.ticks, function (tick) {
  tick.label += '';
  });
  _.each(this.minorTicks, function (tick) {
  tick.label += '';
  });
  },
   
  /**
  * Calculates the range of an axis to apply autoscaling.
  */
  calculateRange: function () {
   
  if (!this.used) return;
   
  var axis = this,
  o = axis.options,
  min = o.min !== null ? o.min : axis.datamin,
  max = o.max !== null ? o.max : axis.datamax,
  margin = o.autoscaleMargin;
   
  if (o.scaling == 'logarithmic') {
  if (min <= 0) min = axis.datamin;
   
  // Let it widen later on
  if (max <= 0) max = min;
  }
   
  if (max == min) {
  var widen = max ? 0.01 : 1.00;
  if (o.min === null) min -= widen;
  if (o.max === null) max += widen;
  }
   
  if (o.scaling === 'logarithmic') {
  if (min < 0) min = max / o.base; // Could be the result of widening
   
  var maxexp = Math.log(max);
  if (o.base != Math.E) maxexp /= Math.log(o.base);
  maxexp = Math.ceil(maxexp);
   
  var minexp = Math.log(min);
  if (o.base != Math.E) minexp /= Math.log(o.base);
  minexp = Math.ceil(minexp);
   
  axis.tickSize = Flotr.getTickSize(o.noTicks, minexp, maxexp, o.tickDecimals === null ? 0 : o.tickDecimals);
   
  // Try to determine a suitable amount of miniticks based on the length of a decade
  if (o.minorTickFreq === null) {
  if (maxexp - minexp > 10)
  o.minorTickFreq = 0;
  else if (maxexp - minexp > 5)
  o.minorTickFreq = 2;
  else
  o.minorTickFreq = 5;
  }
  } else {
  axis.tickSize = Flotr.getTickSize(o.noTicks, min, max, o.tickDecimals);
  }
   
  axis.min = min;
  axis.max = max; //extendRange may use axis.min or axis.max, so it should be set before it is caled
   
  // Autoscaling. @todo This probably fails with log scale. Find a testcase and fix it
  if (o.min === null && o.autoscale) {
  axis.min -= axis.tickSize * margin;
  // Make sure we don't go below zero if all values are positive.
  if (axis.min < 0 && axis.datamin >= 0) axis.min = 0;
  axis.min = axis.tickSize * Math.floor(axis.min / axis.tickSize);
  }
   
  if (o.max === null && o.autoscale) {
  axis.max += axis.tickSize * margin;
  if (axis.max > 0 && axis.datamax <= 0 && axis.datamax != axis.datamin) axis.max = 0;
  axis.max = axis.tickSize * Math.ceil(axis.max / axis.tickSize);
  }
   
  if (axis.min == axis.max) axis.max = axis.min + 1;
  },
   
  calculateTextDimensions: function (T, options) {
   
  var maxLabel = '',
  length,
  i;
   
  if (this.options.showLabels) {
  for (i = 0; i < this.ticks.length; ++i) {
  length = this.ticks[i].label.length;
  if (length > maxLabel.length) {
  maxLabel = this.ticks[i].label;
  }
  }
  }
   
  this.maxLabel = T.dimensions(
  maxLabel,
  {size: options.fontSize, angle: Flotr.toRad(this.options.labelsAngle)},
  'font-size:smaller;',
  'flotr-grid-label'
  );
   
  this.titleSize = T.dimensions(
  this.options.title,
  {size: options.fontSize * 1.2, angle: Flotr.toRad(this.options.titleAngle)},
  'font-weight:bold;',
  'flotr-axis-title'
  );
  },
   
  _cleanUserTicks: function (ticks, axisTicks) {
   
  var axis = this, options = this.options,
  v, i, label, tick;
   
  if (_.isFunction(ticks)) ticks = ticks({min: axis.min, max: axis.max});
   
  for (i = 0; i < ticks.length; ++i) {
  tick = ticks[i];
  if (typeof(tick) === 'object') {
  v = tick[0];
  label = (tick.length > 1) ? tick[1] : options.tickFormatter(v, {min: axis.min, max: axis.max});
  } else {
  v = tick;
  label = options.tickFormatter(v, {min: this.min, max: this.max});
  }
  axisTicks[i] = { v: v, label: label };
  }
  },
   
  _calculateTimeTicks: function () {
  this.ticks = Flotr.Date.generator(this);
  },
   
  _calculateLogTicks: function () {
   
  var axis = this,
  o = axis.options,
  v,
  decadeStart;
   
  var max = Math.log(axis.max);
  if (o.base != Math.E) max /= Math.log(o.base);
  max = Math.ceil(max);
   
  var min = Math.log(axis.min);
  if (o.base != Math.E) min /= Math.log(o.base);
  min = Math.ceil(min);
   
  for (i = min; i < max; i += axis.tickSize) {
  decadeStart = (o.base == Math.E) ? Math.exp(i) : Math.pow(o.base, i);
  // Next decade begins here:
  var decadeEnd = decadeStart * ((o.base == Math.E) ? Math.exp(axis.tickSize) : Math.pow(o.base, axis.tickSize));
  var stepSize = (decadeEnd - decadeStart) / o.minorTickFreq;
   
  axis.ticks.push({v: decadeStart, label: o.tickFormatter(decadeStart, {min: axis.min, max: axis.max})});
  for (v = decadeStart + stepSize; v < decadeEnd; v += stepSize)
  axis.minorTicks.push({v: v, label: o.tickFormatter(v, {min: axis.min, max: axis.max})});
  }
   
  // Always show the value at the would-be start of next decade (end of this decade)
  decadeStart = (o.base == Math.E) ? Math.exp(i) : Math.pow(o.base, i);
  axis.ticks.push({v: decadeStart, label: o.tickFormatter(decadeStart, {min: axis.min, max: axis.max})});
  },
   
  _calculateTicks: function () {
   
  var axis = this,
  o = axis.options,
  tickSize = axis.tickSize,
  min = axis.min,
  max = axis.max,
  start = tickSize * Math.ceil(min / tickSize), // Round to nearest multiple of tick size.
  decimals,
  minorTickSize,
  v, v2,
  i, j;
   
  if (o.minorTickFreq)
  minorTickSize = tickSize / o.minorTickFreq;
   
  // Then store all possible ticks.
  for (i = 0; (v = v2 = start + i * tickSize) <= max; ++i) {
   
  // Round (this is always needed to fix numerical instability).
  decimals = o.tickDecimals;
  if (decimals === null) decimals = 1 - Math.floor(Math.log(tickSize) / Math.LN10);
  if (decimals < 0) decimals = 0;
   
  v = v.toFixed(decimals);
  axis.ticks.push({ v: v, label: o.tickFormatter(v, {min: axis.min, max: axis.max}) });
   
  if (o.minorTickFreq) {
  for (j = 0; j < o.minorTickFreq && (i * tickSize + j * minorTickSize) < max; ++j) {
  v = v2 + j * minorTickSize;
  axis.minorTicks.push({ v: v, label: o.tickFormatter(v, {min: axis.min, max: axis.max}) });
  }
  }
  }
   
  },
   
  _setTranslations: function (logarithmic) {
  this.d2p = (logarithmic ? d2pLog : d2p);
  this.p2d = (logarithmic ? p2dLog : p2d);
  }
  };
   
   
  // Static Methods
  _.extend(Axis, {
  getAxes: function (options) {
  return {
  x: new Axis({options: options.xaxis, n: 1, length: this.plotWidth}),
  x2: new Axis({options: options.x2axis, n: 2, length: this.plotWidth}),
  y: new Axis({options: options.yaxis, n: 1, length: this.plotHeight, offset: this.plotHeight, orientation: -1}),
  y2: new Axis({options: options.y2axis, n: 2, length: this.plotHeight, offset: this.plotHeight, orientation: -1})
  };
  }
  });
   
   
  // Helper Methods
   
  function d2p(dataValue) {
  return this.offset + this.orientation * (dataValue - this.min) * this.scale;
} }
},  
  function p2d(pointValue) {
calculateTicks : function () { return (this.offset + this.orientation * pointValue) / this.scale + this.min;
var options = this.options;  
   
this.ticks = [];  
this.minorTicks = [];  
   
// User Ticks  
if(options.ticks){  
this._cleanUserTicks(options.ticks, this.ticks);  
this._cleanUserTicks(options.minorTicks || [], this.minorTicks);  
} }
else {  
if (options.mode == 'time') { function d2pLog(dataValue) {
this._calculateTimeTicks(); return this.offset + this.orientation * (log(dataValue, this.options.base) - log(this.min, this.options.base)) * this.scale;
} else if (options.scaling === 'logarithmic') {  
this._calculateLogTicks();  
} else {  
this._calculateTicks();  
}  
} }
   
// Ticks to strings function p2dLog(pointValue) {
_.each(this.ticks, function (tick) { tick.label += ''; }); return exp((this.offset + this.orientation * pointValue) / this.scale + log(this.min, this.options.base), this.options.base);
_.each(this.minorTicks, function (tick) { tick.label += ''; });  
},  
   
/**  
* Calculates the range of an axis to apply autoscaling.  
*/  
calculateRange: function () {  
   
if (!this.used) return;  
   
var axis = this,  
o = axis.options,  
min = o.min !== null ? o.min : axis.datamin,  
max = o.max !== null ? o.max : axis.datamax,  
margin = o.autoscaleMargin;  
   
if (o.scaling == 'logarithmic') {  
if (min <= 0) min = axis.datamin;  
   
// Let it widen later on  
if (max <= 0) max = min;  
} }
   
if (max == min) { function log(value, base) {
var widen = max ? 0.01 : 1.00; value = Math.log(Math.max(value, Number.MIN_VALUE));
if (o.min === null) min -= widen; if (base !== Math.E)
if (o.max === null) max += widen; value /= Math.log(base);
  return value;
} }
   
if (o.scaling === 'logarithmic') { function exp(value, base) {
if (min < 0) min = max / o.base; // Could be the result of widening return (base === Math.E) ? Math.exp(value) : Math.pow(base, value);
   
var maxexp = Math.log(max);  
if (o.base != Math.E) maxexp /= Math.log(o.base);  
maxexp = Math.ceil(maxexp);  
   
var minexp = Math.log(min);  
if (o.base != Math.E) minexp /= Math.log(o.base);  
minexp = Math.ceil(minexp);  
   
axis.tickSize = Flotr.getTickSize(o.noTicks, minexp, maxexp, o.tickDecimals === null ? 0 : o.tickDecimals);  
   
// Try to determine a suitable amount of miniticks based on the length of a decade  
if (o.minorTickFreq === null) {  
if (maxexp - minexp > 10)  
o.minorTickFreq = 0;  
else if (maxexp - minexp > 5)  
o.minorTickFreq = 2;  
else  
o.minorTickFreq = 5;  
}  
} else {  
axis.tickSize = Flotr.getTickSize(o.noTicks, min, max, o.tickDecimals);  
} }
   
axis.min = min; Flotr.Axis = Axis;
axis.max = max; //extendRange may use axis.min or axis.max, so it should be set before it is caled  
   
// Autoscaling. @todo This probably fails with log scale. Find a testcase and fix it  
if(o.min === null && o.autoscale){  
axis.min -= axis.tickSize * margin;  
// Make sure we don't go below zero if all values are positive.  
if(axis.min < 0 && axis.datamin >= 0) axis.min = 0;  
axis.min = axis.tickSize * Math.floor(axis.min / axis.tickSize);  
}  
   
if(o.max === null && o.autoscale){  
axis.max += axis.tickSize * margin;  
if(axis.max > 0 && axis.datamax <= 0 && axis.datamax != axis.datamin) axis.max = 0;  
axis.max = axis.tickSize * Math.ceil(axis.max / axis.tickSize);  
}  
   
if (axis.min == axis.max) axis.max = axis.min + 1;  
},  
   
calculateTextDimensions : function (T, options) {  
   
var maxLabel = '',  
length,  
i;  
   
if (this.options.showLabels) {  
for (i = 0; i < this.ticks.length; ++i) {  
length = this.ticks[i].label.length;  
if (length > maxLabel.length){  
maxLabel = this.ticks[i].label;  
}  
}  
}  
   
this.maxLabel = T.dimensions(  
maxLabel,  
{size:options.fontSize, angle: Flotr.toRad(this.options.labelsAngle)},  
'font-size:smaller;',  
'flotr-grid-label'  
);  
   
this.titleSize = T.dimensions(  
this.options.title,  
{size:options.fontSize*1.2, angle: Flotr.toRad(this.options.titleAngle)},  
'font-weight:bold;',  
'flotr-axis-title'  
);  
},  
   
_cleanUserTicks : function (ticks, axisTicks) {  
   
var axis = this, options = this.options,  
v, i, label, tick;  
   
if(_.isFunction(ticks)) ticks = ticks({min : axis.min, max : axis.max});  
   
for(i = 0; i < ticks.length; ++i){  
tick = ticks[i];  
if(typeof(tick) === 'object'){  
v = tick[0];  
label = (tick.length > 1) ? tick[1] : options.tickFormatter(v, {min : axis.min, max : axis.max});  
} else {  
v = tick;  
label = options.tickFormatter(v, {min : this.min, max : this.max});  
}  
axisTicks[i] = { v: v, label: label };  
}  
},  
   
_calculateTimeTicks : function () {  
this.ticks = Flotr.Date.generator(this);  
},  
   
_calculateLogTicks : function () {  
   
var axis = this,  
o = axis.options,  
v,  
decadeStart;  
   
var max = Math.log(axis.max);  
if (o.base != Math.E) max /= Math.log(o.base);  
max = Math.ceil(max);  
   
var min = Math.log(axis.min);  
if (o.base != Math.E) min /= Math.log(o.base);  
min = Math.ceil(min);  
   
for (i = min; i < max; i += axis.tickSize) {  
decadeStart = (o.base == Math.E) ? Math.exp(i) : Math.pow(o.base, i);  
// Next decade begins here:  
var decadeEnd = decadeStart * ((o.base == Math.E) ? Math.exp(axis.tickSize) : Math.pow(o.base, axis.tickSize));  
var stepSize = (decadeEnd - decadeStart) / o.minorTickFreq;  
   
axis.ticks.push({v: decadeStart, label: o.tickFormatter(decadeStart, {min : axis.min, max : axis.max})});  
for (v = decadeStart + stepSize; v < decadeEnd; v += stepSize)  
axis.minorTicks.push({v: v, label: o.tickFormatter(v, {min : axis.min, max : axis.max})});  
}  
   
// Always show the value at the would-be start of next decade (end of this decade)  
decadeStart = (o.base == Math.E) ? Math.exp(i) : Math.pow(o.base, i);  
axis.ticks.push({v: decadeStart, label: o.tickFormatter(decadeStart, {min : axis.min, max : axis.max})});  
},  
   
_calculateTicks : function () {  
   
var axis = this,  
o = axis.options,  
tickSize = axis.tickSize,  
min = axis.min,  
max = axis.max,  
start = tickSize * Math.ceil(min / tickSize), // Round to nearest multiple of tick size.  
decimals,  
minorTickSize,  
v, v2,  
i, j;  
   
if (o.minorTickFreq)  
minorTickSize = tickSize / o.minorTickFreq;  
   
// Then store all possible ticks.  
for (i = 0; (v = v2 = start + i * tickSize) <= max; ++i){  
   
// Round (this is always needed to fix numerical instability).  
decimals = o.tickDecimals;  
if (decimals === null) decimals = 1 - Math.floor(Math.log(tickSize) / Math.LN10);  
if (decimals < 0) decimals = 0;  
   
v = v.toFixed(decimals);  
axis.ticks.push({ v: v, label: o.tickFormatter(v, {min : axis.min, max : axis.max}) });  
   
if (o.minorTickFreq) {  
for (j = 0; j < o.minorTickFreq && (i * tickSize + j * minorTickSize) < max; ++j) {  
v = v2 + j * minorTickSize;  
axis.minorTicks.push({ v: v, label: o.tickFormatter(v, {min : axis.min, max : axis.max}) });  
}  
}  
}  
   
},  
   
_setTranslations : function (logarithmic) {  
this.d2p = (logarithmic ? d2pLog : d2p);  
this.p2d = (logarithmic ? p2dLog : p2d);  
}  
};  
   
   
// Static Methods  
_.extend(Axis, {  
getAxes : function (options) {  
return {  
x: new Axis({options: options.xaxis, n: 1, length: this.plotWidth}),  
x2: new Axis({options: options.x2axis, n: 2, length: this.plotWidth}),  
y: new Axis({options: options.yaxis, n: 1, length: this.plotHeight, offset: this.plotHeight, orientation: -1}),  
y2: new Axis({options: options.y2axis, n: 2, length: this.plotHeight, offset: this.plotHeight, orientation: -1})  
};  
}  
});  
   
   
// Helper Methods  
   
function d2p (dataValue) {  
return this.offset + this.orientation * (dataValue - this.min) * this.scale;  
}  
   
function p2d (pointValue) {  
return (this.offset + this.orientation * pointValue) / this.scale + this.min;  
}  
   
function d2pLog (dataValue) {  
return this.offset + this.orientation * (log(dataValue, this.options.base) - log(this.min, this.options.base)) * this.scale;  
}  
   
function p2dLog (pointValue) {  
return exp((this.offset + this.orientation * pointValue) / this.scale + log(this.min, this.options.base), this.options.base);  
}  
   
function log (value, base) {  
value = Math.log(Math.max(value, Number.MIN_VALUE));  
if (base !== Math.E)  
value /= Math.log(base);  
return value;  
}  
   
function exp (value, base) {  
return (base === Math.E) ? Math.exp(value) : Math.pow(base, value);  
}  
   
Flotr.Axis = Axis;  
   
})(); })();
   
/** /**
* Flotr Series Library * Flotr Series Library
*/ */
   
(function () { (function () {
   
var  
_ = Flotr._;  
   
function Series (o) {  
_.extend(this, o);  
}  
   
Series.prototype = {  
   
getRange: function () {  
   
var var
data = this.data, _ = Flotr._;
length = data.length,  
xmin = Number.MAX_VALUE, function Series(o) {
ymin = Number.MAX_VALUE, _.extend(this, o);
xmax = -Number.MAX_VALUE,  
ymax = -Number.MAX_VALUE,  
xused = false,  
yused = false,  
x, y, i;  
   
if (length < 0 || this.hide) return false;  
   
for (i = 0; i < length; i++) {  
x = data[i][0];  
y = data[i][1];  
if (x < xmin) { xmin = x; xused = true; }  
if (x > xmax) { xmax = x; xused = true; }  
if (y < ymin) { ymin = y; yused = true; }  
if (y > ymax) { ymax = y; yused = true; }  
} }
   
return { Series.prototype = {
xmin : xmin,  
xmax : xmax, getRange: function () {
ymin : ymin,  
ymax : ymax, var
xused : xused, data = this.data,
yused : yused length = data.length,
}; xmin = Number.MAX_VALUE,
} ymin = Number.MAX_VALUE,
}; xmax = -Number.MAX_VALUE,
  ymax = -Number.MAX_VALUE,
_.extend(Series, { xused = false,
/** yused = false,
* Collects dataseries from input and parses the series into the right format. It returns an Array x, y, i;
* of Objects each having at least the 'data' key set.  
* @param {Array, Object} data - Object or array of dataseries if (length < 0 || this.hide) return false;
* @return {Array} Array of Objects parsed into the right format ({(...,) data: [[x1,y1], [x2,y2], ...] (, ...)})  
*/ for (i = 0; i < length; i++) {
getSeries: function(data){ x = data[i][0];
return _.map(data, function(s){ y = data[i][1];
var series; if (x < xmin) {
if (s.data) { xmin = x;
series = new Series(); xused = true;
_.extend(series, s); }
} else { if (x > xmax) {
series = new Series({data:s}); xmax = x;
} xused = true;
return series; }
  if (y < ymin) {
  ymin = y;
  yused = true;
  }
  if (y > ymax) {
  ymax = y;
  yused = true;
  }
  }
   
  return {
  xmin: xmin,
  xmax: xmax,
  ymin: ymin,
  ymax: ymax,
  xused: xused,
  yused: yused
  };
  }
  };
   
  _.extend(Series, {
  /**
  * Collects dataseries from input and parses the series into the right format. It returns an Array
  * of Objects each having at least the 'data' key set.
  * @param {Array, Object} data - Object or array of dataseries
  * @return {Array} Array of Objects parsed into the right format ({(...,) data: [[x1,y1], [x2,y2], ...] (, ...)})
  */
  getSeries: function (data) {
  return _.map(data, function (s) {
  var series;
  if (s.data) {
  series = new Series();
  _.extend(series, s);
  } else {
  series = new Series({data: s});
  }
  return series;
  });
  }
}); });
}  
}); Flotr.Series = Series;
   
Flotr.Series = Series;  
   
})(); })();
   
/** Lines **/ /** Lines **/
Flotr.addType('lines', { Flotr.addType('lines', {
options: { options: {
show: false, // => setting to true will show lines, false will hide show: false, // => setting to true will show lines, false will hide
lineWidth: 2, // => line width in pixels lineWidth: 2, // => line width in pixels
fill: false, // => true to fill the area from the line to the x axis, false for (transparent) no fill fill: false, // => true to fill the area from the line to the x axis, false for (transparent) no fill
fillBorder: false, // => draw a border around the fill fillBorder: false, // => draw a border around the fill
fillColor: null, // => fill color fillColor: null, // => fill color
fillOpacity: 0.4, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill fillOpacity: 0.4, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill
steps: false, // => draw steps steps: false, // => draw steps
stacked: false // => setting to true will show stacked lines, false will show normal lines stacked: false // => setting to true will show stacked lines, false will show normal lines
}, },
   
stack : { stack: {
values : [] values: []
}, },
   
/** /**
* Draws lines series in the canvas element. * Draws lines series in the canvas element.
* @param {Object} options * @param {Object} options
*/ */
draw : function (options) { draw: function (options) {
   
var var
context = options.context, context = options.context,
lineWidth = options.lineWidth, lineWidth = options.lineWidth,
shadowSize = options.shadowSize, shadowSize = options.shadowSize,
offset; offset;
   
context.save(); context.save();
context.lineJoin = 'round'; context.lineJoin = 'round';
   
if (shadowSize) { if (shadowSize) {
   
context.lineWidth = shadowSize / 2; context.lineWidth = shadowSize / 2;
offset = lineWidth / 2 + context.lineWidth / 2; offset = lineWidth / 2 + context.lineWidth / 2;
   
// @TODO do this instead with a linear gradient // @TODO do this instead with a linear gradient
context.strokeStyle = "rgba(0,0,0,0.1)"; context.strokeStyle = "rgba(0,0,0,0.1)";
this.plot(options, offset + shadowSize / 2, false); this.plot(options, offset + shadowSize / 2, false);
   
context.strokeStyle = "rgba(0,0,0,0.2)"; context.strokeStyle = "rgba(0,0,0,0.2)";
this.plot(options, offset, false); this.plot(options, offset, false);
  }
   
  context.lineWidth = lineWidth;
  context.strokeStyle = options.color;
   
  this.plot(options, 0, true);
   
  context.restore();
  },
   
  plot: function (options, shadowOffset, incStack) {
   
  var
  context = options.context,
  width = options.width,
  height = options.height,
  xScale = options.xScale,
  yScale = options.yScale,
  data = options.data,
  stack = options.stacked ? this.stack : false,
  length = data.length - 1,
  prevx = null,
  prevy = null,
  zero = yScale(0),
  start = null,
  x1, x2, y1, y2, stack1, stack2, i;
   
  if (length < 1) return;
   
  context.beginPath();
   
  for (i = 0; i < length; ++i) {
   
  // To allow empty values
  if (data[i][1] === null || data[i + 1][1] === null) {
  if (options.fill) {
  if (i > 0 && data[i][1]) {
  context.stroke();
  fill();
  start = null;
  context.closePath();
  context.beginPath();
  }
  }
  continue;
  }
   
  // Zero is infinity for log scales
  // TODO handle zero for logarithmic
  // if (xa.options.scaling === 'logarithmic' && (data[i][0] <= 0 || data[i+1][0] <= 0)) continue;
  // if (ya.options.scaling === 'logarithmic' && (data[i][1] <= 0 || data[i+1][1] <= 0)) continue;
   
  x1 = xScale(data[i][0]);
  x2 = xScale(data[i + 1][0]);
   
  if (start === null) start = data[i];
   
  if (stack) {
   
  stack1 = stack.values[data[i][0]] || 0;
  stack2 = stack.values[data[i + 1][0]] || stack.values[data[i][0]] || 0;
   
  y1 = yScale(data[i][1] + stack1);
  y2 = yScale(data[i + 1][1] + stack2);
   
  if (incStack) {
  stack.values[data[i][0]] = data[i][1] + stack1;
   
  if (i == length - 1)
  stack.values[data[i + 1][0]] = data[i + 1][1] + stack2;
  }
  }
  else {
  y1 = yScale(data[i][1]);
  y2 = yScale(data[i + 1][1]);
  }
   
  if (
  (y1 > height && y2 > height) ||
  (y1 < 0 && y2 < 0) ||
  (x1 < 0 && x2 < 0) ||
  (x1 > width && x2 > width)
  ) continue;
   
  if ((prevx != x1) || (prevy != y1 + shadowOffset))
  context.moveTo(x1, y1 + shadowOffset);
   
  prevx = x2;
  prevy = y2 + shadowOffset;
  if (options.steps) {
  context.lineTo(prevx + shadowOffset / 2, y1 + shadowOffset);
  context.lineTo(prevx + shadowOffset / 2, prevy);
  } else {
  context.lineTo(prevx, prevy);
  }
  }
   
  if (!options.fill || options.fill && !options.fillBorder) context.stroke();
   
  fill();
   
  function fill() {
  // TODO stacked lines
  if (!shadowOffset && options.fill && start) {
  x1 = xScale(start[0]);
  context.fillStyle = options.fillStyle;
  context.lineTo(x2, zero);
  context.lineTo(x1, zero);
  context.lineTo(x1, yScale(start[1]));
  context.fill();
  if (options.fillBorder) {
  context.stroke();
  }
  }
  }
   
  context.closePath();
  },
   
  // Perform any pre-render precalculations (this should be run on data first)
  // - Pie chart total for calculating measures
  // - Stacks for lines and bars
  // precalculate : function () {
  // }
  //
  //
  // Get any bounds after pre calculation (axis can fetch this if does not have explicit min/max)
  // getBounds : function () {
  // }
  // getMin : function () {
  // }
  // getMax : function () {
  // }
  //
  //
  // Padding around rendered elements
  // getPadding : function () {
  // }
   
  extendYRange: function (axis, data, options, lines) {
   
  var o = axis.options;
   
  // If stacked and auto-min
  if (options.stacked && ((!o.max && o.max !== 0) || (!o.min && o.min !== 0))) {
   
  var
  newmax = axis.max,
  newmin = axis.min,
  positiveSums = lines.positiveSums || {},
  negativeSums = lines.negativeSums || {},
  x, j;
   
  for (j = 0; j < data.length; j++) {
   
  x = data[j][0] + '';
   
  // Positive
  if (data[j][1] > 0) {
  positiveSums[x] = (positiveSums[x] || 0) + data[j][1];
  newmax = Math.max(newmax, positiveSums[x]);
  }
   
  // Negative
  else {
  negativeSums[x] = (negativeSums[x] || 0) + data[j][1];
  newmin = Math.min(newmin, negativeSums[x]);
  }
  }
   
  lines.negativeSums = negativeSums;
  lines.positiveSums = positiveSums;
   
  axis.max = newmax;
  axis.min = newmin;
  }
   
  if (options.steps) {
   
  this.hit = function (options) {
  var
  data = options.data,
  args = options.args,
  yScale = options.yScale,
  mouse = args[0],
  length = data.length,
  n = args[1],
  x = mouse.x,
  relY = mouse.relY,
  i;
   
  for (i = 0; i < length - 1; i++) {
  if (x >= data[i][0] && x <= data[i + 1][0]) {
  if (Math.abs(yScale(data[i][1]) - relY) < 8) {
  n.x = data[i][0];
  n.y = data[i][1];
  n.index = i;
  n.seriesIndex = options.index;
  }
  break;
  }
  }
  };
   
  this.drawHit = function (options) {
  var
  context = options.context,
  args = options.args,
  data = options.data,
  xScale = options.xScale,
  index = args.index,
  x = xScale(args.x),
  y = options.yScale(args.y),
  x2;
   
  if (data.length - 1 > index) {
  x2 = options.xScale(data[index + 1][0]);
  context.save();
  context.strokeStyle = options.color;
  context.lineWidth = options.lineWidth;
  context.beginPath();
  context.moveTo(x, y);
  context.lineTo(x2, y);
  context.stroke();
  context.closePath();
  context.restore();
  }
  };
   
  this.clearHit = function (options) {
  var
  context = options.context,
  args = options.args,
  data = options.data,
  xScale = options.xScale,
  width = options.lineWidth,
  index = args.index,
  x = xScale(args.x),
  y = options.yScale(args.y),
  x2;
   
  if (data.length - 1 > index) {
  x2 = options.xScale(data[index + 1][0]);
  context.clearRect(x - width, y - width, x2 - x + 2 * width, 2 * width);
  }
  };
  }
} }
   
context.lineWidth = lineWidth;  
context.strokeStyle = options.color;  
   
this.plot(options, 0, true);  
   
context.restore();  
},  
   
plot : function (options, shadowOffset, incStack) {  
   
var  
context = options.context,  
width = options.width,  
height = options.height,  
xScale = options.xScale,  
yScale = options.yScale,  
data = options.data,  
stack = options.stacked ? this.stack : false,  
length = data.length - 1,  
prevx = null,  
prevy = null,  
zero = yScale(0),  
start = null,  
x1, x2, y1, y2, stack1, stack2, i;  
   
if (length < 1) return;  
   
context.beginPath();  
   
for (i = 0; i < length; ++i) {  
   
// To allow empty values  
if (data[i][1] === null || data[i+1][1] === null) {  
if (options.fill) {  
if (i > 0 && data[i][1]) {  
context.stroke();  
fill();  
start = null;  
context.closePath();  
context.beginPath();  
}  
}  
continue;  
}  
   
// Zero is infinity for log scales  
// TODO handle zero for logarithmic  
// if (xa.options.scaling === 'logarithmic' && (data[i][0] <= 0 || data[i+1][0] <= 0)) continue;  
// if (ya.options.scaling === 'logarithmic' && (data[i][1] <= 0 || data[i+1][1] <= 0)) continue;  
   
x1 = xScale(data[i][0]);  
x2 = xScale(data[i+1][0]);  
   
if (start === null) start = data[i];  
   
if (stack) {  
   
stack1 = stack.values[data[i][0]] || 0;  
stack2 = stack.values[data[i+1][0]] || stack.values[data[i][0]] || 0;  
   
y1 = yScale(data[i][1] + stack1);  
y2 = yScale(data[i+1][1] + stack2);  
   
if(incStack){  
stack.values[data[i][0]] = data[i][1]+stack1;  
   
if(i == length-1)  
stack.values[data[i+1][0]] = data[i+1][1]+stack2;  
}  
}  
else{  
y1 = yScale(data[i][1]);  
y2 = yScale(data[i+1][1]);  
}  
   
if (  
(y1 > height && y2 > height) ||  
(y1 < 0 && y2 < 0) ||  
(x1 < 0 && x2 < 0) ||  
(x1 > width && x2 > width)  
) continue;  
   
if((prevx != x1) || (prevy != y1 + shadowOffset))  
context.moveTo(x1, y1 + shadowOffset);  
   
prevx = x2;  
prevy = y2 + shadowOffset;  
if (options.steps) {  
context.lineTo(prevx + shadowOffset / 2, y1 + shadowOffset);  
context.lineTo(prevx + shadowOffset / 2, prevy);  
} else {  
context.lineTo(prevx, prevy);  
}  
}  
   
if (!options.fill || options.fill && !options.fillBorder) context.stroke();  
   
fill();  
   
function fill () {  
// TODO stacked lines  
if(!shadowOffset && options.fill && start){  
x1 = xScale(start[0]);  
context.fillStyle = options.fillStyle;  
context.lineTo(x2, zero);  
context.lineTo(x1, zero);  
context.lineTo(x1, yScale(start[1]));  
context.fill();  
if (options.fillBorder) {  
context.stroke();  
}  
}  
}  
   
context.closePath();  
},  
   
// Perform any pre-render precalculations (this should be run on data first)  
// - Pie chart total for calculating measures  
// - Stacks for lines and bars  
// precalculate : function () {  
// }  
//  
//  
// Get any bounds after pre calculation (axis can fetch this if does not have explicit min/max)  
// getBounds : function () {  
// }  
// getMin : function () {  
// }  
// getMax : function () {  
// }  
//  
//  
// Padding around rendered elements  
// getPadding : function () {  
// }  
   
extendYRange : function (axis, data, options, lines) {  
   
var o = axis.options;  
   
// If stacked and auto-min  
if (options.stacked && ((!o.max && o.max !== 0) || (!o.min && o.min !== 0))) {  
   
var  
newmax = axis.max,  
newmin = axis.min,  
positiveSums = lines.positiveSums || {},  
negativeSums = lines.negativeSums || {},  
x, j;  
   
for (j = 0; j < data.length; j++) {  
   
x = data[j][0] + '';  
   
// Positive  
if (data[j][1] > 0) {  
positiveSums[x] = (positiveSums[x] || 0) + data[j][1];  
newmax = Math.max(newmax, positiveSums[x]);  
}  
   
// Negative  
else {  
negativeSums[x] = (negativeSums[x] || 0) + data[j][1];  
newmin = Math.min(newmin, negativeSums[x]);  
}  
}  
   
lines.negativeSums = negativeSums;  
lines.positiveSums = positiveSums;  
   
axis.max = newmax;  
axis.min = newmin;  
}  
   
if (options.steps) {  
   
this.hit = function (options) {  
var  
data = options.data,  
args = options.args,  
yScale = options.yScale,  
mouse = args[0],  
length = data.length,  
n = args[1],  
x = mouse.x,  
relY = mouse.relY,  
i;  
   
for (i = 0; i < length - 1; i++) {  
if (x >= data[i][0] && x <= data[i+1][0]) {  
if (Math.abs(yScale(data[i][1]) - relY) < 8) {  
n.x = data[i][0];  
n.y = data[i][1];  
n.index = i;  
n.seriesIndex = options.index;  
}  
break;  
}  
}  
};  
   
this.drawHit = function (options) {  
var  
context = options.context,  
args = options.args,  
data = options.data,  
xScale = options.xScale,  
index = args.index,  
x = xScale(args.x),  
y = options.yScale(args.y),  
x2;  
   
if (data.length - 1 > index) {  
x2 = options.xScale(data[index + 1][0]);  
context.save();  
context.strokeStyle = options.color;  
context.lineWidth = options.lineWidth;  
context.beginPath();  
context.moveTo(x, y);  
context.lineTo(x2, y);  
context.stroke();  
context.closePath();  
context.restore();  
}  
};  
   
this.clearHit = function (options) {  
var  
context = options.context,  
args = options.args,  
data = options.data,  
xScale = options.xScale,  
width = options.lineWidth,  
index = args.index,  
x = xScale(args.x),  
y = options.yScale(args.y),  
x2;  
   
if (data.length - 1 > index) {  
x2 = options.xScale(data[index + 1][0]);  
context.clearRect(x - width, y - width, x2 - x + 2 * width, 2 * width);  
}  
};  
}  
}  
   
}); });
   
/** Bars **/ /** Bars **/
Flotr.addType('bars', { Flotr.addType('bars', {
   
options: { options: {
show: false, // => setting to true will show bars, false will hide show: false, // => setting to true will show bars, false will hide
lineWidth: 2, // => in pixels lineWidth: 2, // => in pixels
barWidth: 1, // => in units of the x axis barWidth: 1, // => in units of the x axis
fill: true, // => true to fill the area from the line to the x axis, false for (transparent) no fill fill: true, // => true to fill the area from the line to the x axis, false for (transparent) no fill
fillColor: null, // => fill color fillColor: null, // => fill color
fillOpacity: 0.4, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill fillOpacity: 0.4, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill
horizontal: false, // => horizontal bars (x and y inverted) horizontal: false, // => horizontal bars (x and y inverted)
stacked: false, // => stacked bar charts stacked: false, // => stacked bar charts
centered: true, // => center the bars to their x axis value centered: true, // => center the bars to their x axis value
topPadding: 0.1, // => top padding in percent topPadding: 0.1, // => top padding in percent
grouped: false // => groups bars together which share x value, hit not supported. grouped: false // => groups bars together which share x value, hit not supported.
}, },
   
stack : { stack: {
positive : [], positive: [],
negative : [], negative: [],
_positive : [], // Shadow _positive: [], // Shadow
_negative : [] // Shadow _negative: [] // Shadow
}, },
   
draw : function (options) { draw: function (options) {
var var
context = options.context; context = options.context;
   
this.current += 1; this.current += 1;
   
context.save();  
context.lineJoin = 'miter';  
// @TODO linewidth not interpreted the right way.  
context.lineWidth = options.lineWidth;  
context.strokeStyle = options.color;  
if (options.fill) context.fillStyle = options.fillStyle;  
   
this.plot(options);  
   
context.restore();  
},  
   
plot : function (options) {  
   
var  
data = options.data,  
context = options.context,  
shadowSize = options.shadowSize,  
i, geometry, left, top, width, height;  
   
if (data.length < 1) return;  
   
this.translate(context, options.horizontal);  
   
for (i = 0; i < data.length; i++) {  
   
geometry = this.getBarGeometry(data[i][0], data[i][1], options);  
if (geometry === null) continue;  
   
left = geometry.left;  
top = geometry.top;  
width = geometry.width;  
height = geometry.height;  
   
if (options.fill) context.fillRect(left, top, width, height);  
if (shadowSize) {  
context.save(); context.save();
context.fillStyle = 'rgba(0,0,0,0.05)'; context.lineJoin = 'miter';
context.fillRect(left + shadowSize, top + shadowSize, width, height); // @TODO linewidth not interpreted the right way.
  context.lineWidth = options.lineWidth;
  context.strokeStyle = options.color;
  if (options.fill) context.fillStyle = options.fillStyle;
   
  this.plot(options);
   
context.restore(); context.restore();
} },
if (options.lineWidth) {  
context.strokeRect(left, top, width, height); plot: function (options) {
}  
  var
  data = options.data,
  context = options.context,
  shadowSize = options.shadowSize,
  i, geometry, left, top, width, height;
   
  if (data.length < 1) return;
   
  this.translate(context, options.horizontal);
   
  for (i = 0; i < data.length; i++) {
   
  geometry = this.getBarGeometry(data[i][0], data[i][1], options);
  if (geometry === null) continue;
   
  left = geometry.left;
  top = geometry.top;
  width = geometry.width;
  height = geometry.height;
   
  if (options.fill) context.fillRect(left, top, width, height);
  if (shadowSize) {
  context.save();
  context.fillStyle = 'rgba(0,0,0,0.05)';
  context.fillRect(left + shadowSize, top + shadowSize, width, height);
  context.restore();
  }
  if (options.lineWidth) {
  context.strokeRect(left, top, width, height);
  }
  }
  },
   
  translate: function (context, horizontal) {
  if (horizontal) {
  context.rotate(-Math.PI / 2);
  context.scale(-1, 1);
  }
  },
   
  getBarGeometry: function (x, y, options) {
   
  var
  horizontal = options.horizontal,
  barWidth = options.barWidth,
  centered = options.centered,
  stack = options.stacked ? this.stack : false,
  lineWidth = options.lineWidth,
  bisection = centered ? barWidth / 2 : 0,
  xScale = horizontal ? options.yScale : options.xScale,
  yScale = horizontal ? options.xScale : options.yScale,
  xValue = horizontal ? y : x,
  yValue = horizontal ? x : y,
  stackOffset = 0,
  stackValue, left, right, top, bottom;
   
  if (options.grouped) {
  this.current / this.groups
  xValue = xValue - bisection;
  barWidth = barWidth / this.groups;
  bisection = barWidth / 2;
  xValue = xValue + barWidth * this.current - bisection;
  }
   
  // Stacked bars
  if (stack) {
  stackValue = yValue > 0 ? stack.positive : stack.negative;
  stackOffset = stackValue[xValue] || stackOffset;
  stackValue[xValue] = stackOffset + yValue;
  }
   
  left = xScale(xValue - bisection);
  right = xScale(xValue + barWidth - bisection);
  top = yScale(yValue + stackOffset);
  bottom = yScale(stackOffset);
   
  // TODO for test passing... probably looks better without this
  if (bottom < 0) bottom = 0;
   
  // TODO Skipping...
  // if (right < xa.min || left > xa.max || top < ya.min || bottom > ya.max) continue;
   
  return (x === null || y === null) ? null : {
  x: xValue,
  y: yValue,
  xScale: xScale,
  yScale: yScale,
  top: top,
  left: Math.min(left, right) - lineWidth / 2,
  width: Math.abs(right - left) - lineWidth,
  height: bottom - top
  };
  },
   
  hit: function (options) {
  var
  data = options.data,
  args = options.args,
  mouse = args[0],
  n = args[1],
  x = mouse.x,
  y = mouse.y,
  hitGeometry = this.getBarGeometry(x, y, options),
  width = hitGeometry.width / 2,
  left = hitGeometry.left,
  geometry, i;
   
  for (i = data.length; i--;) {
  geometry = this.getBarGeometry(data[i][0], data[i][1], options);
  if (geometry.y > hitGeometry.y && Math.abs(left - geometry.left) < width) {
  n.x = data[i][0];
  n.y = data[i][1];
  n.index = i;
  n.seriesIndex = options.index;
  }
  }
  },
   
  drawHit: function (options) {
  // TODO hits for stacked bars; implement using calculateStack option?
  var
  context = options.context,
  args = options.args,
  geometry = this.getBarGeometry(args.x, args.y, options),
  left = geometry.left,
  top = geometry.top,
  width = geometry.width,
  height = geometry.height;
   
  context.save();
  context.strokeStyle = options.color;
  context.lineWidth = options.lineWidth;
  this.translate(context, options.horizontal);
   
  // Draw highlight
  context.beginPath();
  context.moveTo(left, top + height);
  context.lineTo(left, top);
  context.lineTo(left + width, top);
  context.lineTo(left + width, top + height);
  if (options.fill) {
  context.fillStyle = options.fillStyle;
  context.fill();
  }
  context.stroke();
  context.closePath();
   
  context.restore();
  },
   
  clearHit: function (options) {
  var
  context = options.context,
  args = options.args,
  geometry = this.getBarGeometry(args.x, args.y, options),
  left = geometry.left,
  width = geometry.width,
  top = geometry.top,
  height = geometry.height,
  lineWidth = 2 * options.lineWidth;
   
  context.save();
  this.translate(context, options.horizontal);
  context.clearRect(
  left - lineWidth,
  Math.min(top, top + height) - lineWidth,
  width + 2 * lineWidth,
  Math.abs(height) + 2 * lineWidth
  );
  context.restore();
  },
   
  extendXRange: function (axis, data, options, bars) {
  this._extendRange(axis, data, options, bars);
  this.groups = (this.groups + 1) || 1;
  this.current = 0;
  },
   
  extendYRange: function (axis, data, options, bars) {
  this._extendRange(axis, data, options, bars);
  },
  _extendRange: function (axis, data, options, bars) {
   
  var
  max = axis.options.max;
   
  if (_.isNumber(max) || _.isString(max)) return;
   
  var
  newmin = axis.min,
  newmax = axis.max,
  horizontal = options.horizontal,
  orientation = axis.orientation,
  positiveSums = this.positiveSums || {},
  negativeSums = this.negativeSums || {},
  value, datum, index, j;
   
  // Sides of bars
  if ((orientation == 1 && !horizontal) || (orientation == -1 && horizontal)) {
  if (options.centered) {
  newmax = Math.max(axis.datamax + options.barWidth, newmax);
  newmin = Math.min(axis.datamin - options.barWidth, newmin);
  }
  }
   
  if (options.stacked &&
  ((orientation == 1 && horizontal) || (orientation == -1 && !horizontal))) {
   
  for (j = data.length; j--;) {
  value = data[j][(orientation == 1 ? 1 : 0)] + '';
  datum = data[j][(orientation == 1 ? 0 : 1)];
   
  // Positive
  if (datum > 0) {
  positiveSums[value] = (positiveSums[value] || 0) + datum;
  newmax = Math.max(newmax, positiveSums[value]);
  }
   
  // Negative
  else {
  negativeSums[value] = (negativeSums[value] || 0) + datum;
  newmin = Math.min(newmin, negativeSums[value]);
  }
  }
  }
   
  // End of bars
  if ((orientation == 1 && horizontal) || (orientation == -1 && !horizontal)) {
  if (options.topPadding && (axis.max === axis.datamax || (options.stacked && this.stackMax !== newmax))) {
  newmax += options.topPadding * (newmax - newmin);
  }
  }
   
  this.stackMin = newmin;
  this.stackMax = newmax;
  this.negativeSums = negativeSums;
  this.positiveSums = positiveSums;
   
  axis.max = newmax;
  axis.min = newmin;
} }
},  
   
translate : function (context, horizontal) {  
if (horizontal) {  
context.rotate(-Math.PI / 2);  
context.scale(-1, 1);  
}  
},  
   
getBarGeometry : function (x, y, options) {  
   
var  
horizontal = options.horizontal,  
barWidth = options.barWidth,  
centered = options.centered,  
stack = options.stacked ? this.stack : false,  
lineWidth = options.lineWidth,  
bisection = centered ? barWidth / 2 : 0,  
xScale = horizontal ? options.yScale : options.xScale,  
yScale = horizontal ? options.xScale : options.yScale,  
xValue = horizontal ? y : x,  
yValue = horizontal ? x : y,  
stackOffset = 0,  
stackValue, left, right, top, bottom;  
   
if (options.grouped) {  
this.current / this.groups  
xValue = xValue - bisection;  
barWidth = barWidth / this.groups;  
bisection = barWidth / 2;  
xValue = xValue + barWidth * this.current - bisection;  
}  
   
// Stacked bars  
if (stack) {  
stackValue = yValue > 0 ? stack.positive : stack.negative;  
stackOffset = stackValue[xValue] || stackOffset;  
stackValue[xValue] = stackOffset + yValue;  
}  
   
left = xScale(xValue - bisection);  
right = xScale(xValue + barWidth - bisection);  
top = yScale(yValue + stackOffset);  
bottom = yScale(stackOffset);  
   
// TODO for test passing... probably looks better without this  
if (bottom < 0) bottom = 0;  
   
// TODO Skipping...  
// if (right < xa.min || left > xa.max || top < ya.min || bottom > ya.max) continue;  
   
return (x === null || y === null) ? null : {  
x : xValue,  
y : yValue,  
xScale : xScale,  
yScale : yScale,  
top : top,  
left : Math.min(left, right) - lineWidth / 2,  
width : Math.abs(right - left) - lineWidth,  
height : bottom - top  
};  
},  
   
hit : function (options) {  
var  
data = options.data,  
args = options.args,  
mouse = args[0],  
n = args[1],  
x = mouse.x,  
y = mouse.y,  
hitGeometry = this.getBarGeometry(x, y, options),  
width = hitGeometry.width / 2,  
left = hitGeometry.left,  
geometry, i;  
   
for (i = data.length; i--;) {  
geometry = this.getBarGeometry(data[i][0], data[i][1], options);  
if (geometry.y > hitGeometry.y && Math.abs(left - geometry.left) < width) {  
n.x = data[i][0];  
n.y = data[i][1];  
n.index = i;  
n.seriesIndex = options.index;  
}  
}  
},  
   
drawHit : function (options) {  
// TODO hits for stacked bars; implement using calculateStack option?  
var  
context = options.context,  
args = options.args,  
geometry = this.getBarGeometry(args.x, args.y, options),  
left = geometry.left,  
top = geometry.top,  
width = geometry.width,  
height = geometry.height;  
   
context.save();  
context.strokeStyle = options.color;  
context.lineWidth = options.lineWidth;  
this.translate(context, options.horizontal);  
   
// Draw highlight  
context.beginPath();  
context.moveTo(left, top + height);  
context.lineTo(left, top);  
context.lineTo(left + width, top);  
context.lineTo(left + width, top + height);  
if (options.fill) {  
context.fillStyle = options.fillStyle;  
context.fill();  
}  
context.stroke();  
context.closePath();  
   
context.restore();  
},  
   
clearHit: function (options) {  
var  
context = options.context,  
args = options.args,  
geometry = this.getBarGeometry(args.x, args.y, options),  
left = geometry.left,  
width = geometry.width,  
top = geometry.top,  
height = geometry.height,  
lineWidth = 2 * options.lineWidth;  
   
context.save();  
this.translate(context, options.horizontal);  
context.clearRect(  
left - lineWidth,  
Math.min(top, top + height) - lineWidth,  
width + 2 * lineWidth,  
Math.abs(height) + 2 * lineWidth  
);  
context.restore();  
},  
   
extendXRange : function (axis, data, options, bars) {  
this._extendRange(axis, data, options, bars);  
this.groups = (this.groups + 1) || 1;  
this.current = 0;  
},  
   
extendYRange : function (axis, data, options, bars) {  
this._extendRange(axis, data, options, bars);  
},  
_extendRange: function (axis, data, options, bars) {  
   
var  
max = axis.options.max;  
   
if (_.isNumber(max) || _.isString(max)) return;  
   
var  
newmin = axis.min,  
newmax = axis.max,  
horizontal = options.horizontal,  
orientation = axis.orientation,  
positiveSums = this.positiveSums || {},  
negativeSums = this.negativeSums || {},  
value, datum, index, j;  
   
// Sides of bars  
if ((orientation == 1 && !horizontal) || (orientation == -1 && horizontal)) {  
if (options.centered) {  
newmax = Math.max(axis.datamax + options.barWidth, newmax);  
newmin = Math.min(axis.datamin - options.barWidth, newmin);  
}  
}  
   
if (options.stacked &&  
((orientation == 1 && horizontal) || (orientation == -1 && !horizontal))){  
   
for (j = data.length; j--;) {  
value = data[j][(orientation == 1 ? 1 : 0)]+'';  
datum = data[j][(orientation == 1 ? 0 : 1)];  
   
// Positive  
if (datum > 0) {  
positiveSums[value] = (positiveSums[value] || 0) + datum;  
newmax = Math.max(newmax, positiveSums[value]);  
}  
   
// Negative  
else {  
negativeSums[value] = (negativeSums[value] || 0) + datum;  
newmin = Math.min(newmin, negativeSums[value]);  
}  
}  
}  
   
// End of bars  
if ((orientation == 1 && horizontal) || (orientation == -1 && !horizontal)) {  
if (options.topPadding && (axis.max === axis.datamax || (options.stacked && this.stackMax !== newmax))) {  
newmax += options.topPadding * (newmax - newmin);  
}  
}  
   
this.stackMin = newmin;  
this.stackMax = newmax;  
this.negativeSums = negativeSums;  
this.positiveSums = positiveSums;  
   
axis.max = newmax;  
axis.min = newmin;  
}  
   
}); });
   
/** Bubbles **/ /** Bubbles **/
Flotr.addType('bubbles', { Flotr.addType('bubbles', {
options: { options: {
show: false, // => setting to true will show radar chart, false will hide show: false, // => setting to true will show radar chart, false will hide
lineWidth: 2, // => line width in pixels lineWidth: 2, // => line width in pixels
fill: true, // => true to fill the area from the line to the x axis, false for (transparent) no fill fill: true, // => true to fill the area from the line to the x axis, false for (transparent) no fill
fillOpacity: 0.4, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill fillOpacity: 0.4, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill
baseRadius: 2 // => ratio of the radar, against the plot size baseRadius: 2 // => ratio of the radar, against the plot size
}, },
draw : function (options) { draw: function (options) {
var var
context = options.context, context = options.context,
shadowSize = options.shadowSize; shadowSize = options.shadowSize;
   
context.save(); context.save();
context.lineWidth = options.lineWidth; context.lineWidth = options.lineWidth;
   
// Shadows // Shadows
context.fillStyle = 'rgba(0,0,0,0.05)'; context.fillStyle = 'rgba(0,0,0,0.05)';
context.strokeStyle = 'rgba(0,0,0,0.05)'; context.strokeStyle = 'rgba(0,0,0,0.05)';
this.plot(options, shadowSize / 2); this.plot(options, shadowSize / 2);
context.strokeStyle = 'rgba(0,0,0,0.1)'; context.strokeStyle = 'rgba(0,0,0,0.1)';
this.plot(options, shadowSize / 4); this.plot(options, shadowSize / 4);
   
// Chart // Chart
context.strokeStyle = options.color; context.strokeStyle = options.color;
context.fillStyle = options.fillStyle; context.fillStyle = options.fillStyle;
this.plot(options); this.plot(options);
   
context.restore(); context.restore();
}, },
plot : function (options, offset) { plot: function (options, offset) {
   
var var
data = options.data, data = options.data,
context = options.context, context = options.context,
geometry, geometry,
i, x, y, z; i, x, y, z;
   
offset = offset || 0; offset = offset || 0;
   
for (i = 0; i < data.length; ++i){ for (i = 0; i < data.length; ++i) {
   
geometry = this.getGeometry(data[i], options); geometry = this.getGeometry(data[i], options);
   
context.beginPath(); context.beginPath();
context.arc(geometry.x + offset, geometry.y + offset, geometry.z, 0, 2 * Math.PI, true); context.arc(geometry.x + offset, geometry.y + offset, geometry.z, 0, 2 * Math.PI, true);
context.stroke(); context.stroke();
if (options.fill) context.fill(); if (options.fill) context.fill();
context.closePath(); context.closePath();
  }
  },
  getGeometry: function (point, options) {
  return {
  x: options.xScale(point[0]),
  y: options.yScale(point[1]),
  z: point[2] * options.baseRadius
  };
  },
  hit: function (options) {
  var
  data = options.data,
  args = options.args,
  mouse = args[0],
  n = args[1],
  x = mouse.x,
  y = mouse.y,
  distance,
  geometry,
  dx, dy;
   
  n.best = n.best || Number.MAX_VALUE;
   
  for (i = data.length; i--;) {
  geometry = this.getGeometry(data[i], options);
   
  dx = geometry.x - options.xScale(x);
  dy = geometry.y - options.yScale(y);
  distance = Math.sqrt(dx * dx + dy * dy);
   
  if (distance < geometry.z && geometry.z < n.best) {
  n.x = data[i][0];
  n.y = data[i][1];
  n.index = i;
  n.seriesIndex = options.index;
  n.best = geometry.z;
  }
  }
  },
  drawHit: function (options) {
   
  var
  context = options.context,
  geometry = this.getGeometry(options.data[options.args.index], options);
   
  context.save();
  context.lineWidth = options.lineWidth;
  context.fillStyle = options.fillStyle;
  context.strokeStyle = options.color;
  context.beginPath();
  context.arc(geometry.x, geometry.y, geometry.z, 0, 2 * Math.PI, true);
  context.fill();
  context.stroke();
  context.closePath();
  context.restore();
  },
  clearHit: function (options) {
   
  var
  context = options.context,
  geometry = this.getGeometry(options.data[options.args.index], options),
  offset = geometry.z + options.lineWidth;
   
  context.save();
  context.clearRect(
  geometry.x - offset,
  geometry.y - offset,
  2 * offset,
  2 * offset
  );
  context.restore();
} }
}, // TODO Add a hit calculation method (like pie)
getGeometry : function (point, options) {  
return {  
x : options.xScale(point[0]),  
y : options.yScale(point[1]),  
z : point[2] * options.baseRadius  
};  
},  
hit : function (options) {  
var  
data = options.data,  
args = options.args,  
mouse = args[0],  
n = args[1],  
x = mouse.x,  
y = mouse.y,  
distance,  
geometry,  
dx, dy;  
   
n.best = n.best || Number.MAX_VALUE;  
   
for (i = data.length; i--;) {  
geometry = this.getGeometry(data[i], options);  
   
dx = geometry.x - options.xScale(x);  
dy = geometry.y - options.yScale(y);  
distance = Math.sqrt(dx * dx + dy * dy);  
   
if (distance < geometry.z && geometry.z < n.best) {  
n.x = data[i][0];  
n.y = data[i][1];  
n.index = i;  
n.seriesIndex = options.index;  
n.best = geometry.z;  
}  
}  
},  
drawHit : function (options) {  
   
var  
context = options.context,  
geometry = this.getGeometry(options.data[options.args.index], options);  
   
context.save();  
context.lineWidth = options.lineWidth;  
context.fillStyle = options.fillStyle;  
context.strokeStyle = options.color;  
context.beginPath();  
context.arc(geometry.x, geometry.y, geometry.z, 0, 2 * Math.PI, true);  
context.fill();  
context.stroke();  
context.closePath();  
context.restore();  
},  
clearHit : function (options) {  
   
var  
context = options.context,  
geometry = this.getGeometry(options.data[options.args.index], options),  
offset = geometry.z + options.lineWidth;  
   
context.save();  
context.clearRect(  
geometry.x - offset,  
geometry.y - offset,  
2 * offset,  
2 * offset  
);  
context.restore();  
}  
// TODO Add a hit calculation method (like pie)  
}); });
   
/** Candles **/ /** Candles **/
Flotr.addType('candles', { Flotr.addType('candles', {
options: { options: {
show: false, // => setting to true will show candle sticks, false will hide show: false, // => setting to true will show candle sticks, false will hide
lineWidth: 1, // => in pixels lineWidth: 1, // => in pixels
wickLineWidth: 1, // => in pixels wickLineWidth: 1, // => in pixels
candleWidth: 0.6, // => in units of the x axis candleWidth: 0.6, // => in units of the x axis
fill: true, // => true to fill the area from the line to the x axis, false for (transparent) no fill fill: true, // => true to fill the area from the line to the x axis, false for (transparent) no fill
upFillColor: '#00A8F0',// => up sticks fill color upFillColor: '#00A8F0',// => up sticks fill color
downFillColor: '#CB4B4B',// => down sticks fill color downFillColor: '#CB4B4B',// => down sticks fill color
fillOpacity: 0.5, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill fillOpacity: 0.5, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill
// TODO Test this barcharts option. // TODO Test this barcharts option.
barcharts: false // => draw as barcharts (not standard bars but financial barcharts) barcharts: false // => draw as barcharts (not standard bars but financial barcharts)
}, },
   
draw : function (options) { draw: function (options) {
   
var var
context = options.context; context = options.context;
   
context.save();  
context.lineJoin = 'miter';  
context.lineCap = 'butt';  
// @TODO linewidth not interpreted the right way.  
context.lineWidth = options.wickLineWidth || options.lineWidth;  
   
this.plot(options);  
   
context.restore();  
},  
   
plot : function (options) {  
   
var  
data = options.data,  
context = options.context,  
xScale = options.xScale,  
yScale = options.yScale,  
width = options.candleWidth / 2,  
shadowSize = options.shadowSize,  
lineWidth = options.lineWidth,  
wickLineWidth = options.wickLineWidth,  
pixelOffset = (wickLineWidth % 2) / 2,  
color,  
datum, x, y,  
open, high, low, close,  
left, right, bottom, top, bottom2, top2,  
i;  
   
if (data.length < 1) return;  
   
for (i = 0; i < data.length; i++) {  
datum = data[i];  
x = datum[0];  
open = datum[1];  
high = datum[2];  
low = datum[3];  
close = datum[4];  
left = xScale(x - width);  
right = xScale(x + width);  
bottom = yScale(low);  
top = yScale(high);  
bottom2 = yScale(Math.min(open, close));  
top2 = yScale(Math.max(open, close));  
   
/*  
// TODO skipping  
if(right < xa.min || left > xa.max || top < ya.min || bottom > ya.max)  
continue;  
*/  
   
color = options[open > close ? 'downFillColor' : 'upFillColor'];  
   
// Fill the candle.  
// TODO Test the barcharts option  
if (options.fill && !options.barcharts) {  
context.fillStyle = 'rgba(0,0,0,0.05)';  
context.fillRect(left + shadowSize, top2 + shadowSize, right - left, bottom2 - top2);  
context.save(); context.save();
context.globalAlpha = options.fillOpacity; context.lineJoin = 'miter';
context.fillStyle = color; context.lineCap = 'butt';
context.fillRect(left, top2 + lineWidth, right - left, bottom2 - top2); // @TODO linewidth not interpreted the right way.
  context.lineWidth = options.wickLineWidth || options.lineWidth;
   
  this.plot(options);
   
context.restore(); context.restore();
} },
   
// Draw candle outline/border, high, low. plot: function (options) {
if (lineWidth || wickLineWidth) {  
  var
x = Math.floor((left + right) / 2) + pixelOffset; data = options.data,
  context = options.context,
context.strokeStyle = color; xScale = options.xScale,
context.beginPath(); yScale = options.yScale,
  width = options.candleWidth / 2,
// TODO Again with the bartcharts shadowSize = options.shadowSize,
if (options.barcharts) { lineWidth = options.lineWidth,
  wickLineWidth = options.wickLineWidth,
context.moveTo(x, Math.floor(top + width)); pixelOffset = (wickLineWidth % 2) / 2,
context.lineTo(x, Math.floor(bottom + width)); color,
  datum, x, y,
y = Math.floor(open + width) + 0.5; open, high, low, close,
context.moveTo(Math.floor(left) + pixelOffset, y); left, right, bottom, top, bottom2, top2,
context.lineTo(x, y); i;
   
y = Math.floor(close + width) + 0.5; if (data.length < 1) return;
context.moveTo(Math.floor(right) + pixelOffset, y);  
context.lineTo(x, y); for (i = 0; i < data.length; i++) {
} else { datum = data[i];
context.strokeRect(left, top2 + lineWidth, right - left, bottom2 - top2); x = datum[0];
  open = datum[1];
context.moveTo(x, Math.floor(top2 + lineWidth)); high = datum[2];
context.lineTo(x, Math.floor(top + lineWidth)); low = datum[3];
context.moveTo(x, Math.floor(bottom2 + lineWidth)); close = datum[4];
context.lineTo(x, Math.floor(bottom + lineWidth)); left = xScale(x - width);
} right = xScale(x + width);
  bottom = yScale(low);
context.closePath(); top = yScale(high);
context.stroke(); bottom2 = yScale(Math.min(open, close));
} top2 = yScale(Math.max(open, close));
   
  /*
  // TODO skipping
  if(right < xa.min || left > xa.max || top < ya.min || bottom > ya.max)
  continue;
  */
   
  color = options[open > close ? 'downFillColor' : 'upFillColor'];
   
  // Fill the candle.
  // TODO Test the barcharts option
  if (options.fill && !options.barcharts) {
  context.fillStyle = 'rgba(0,0,0,0.05)';
  context.fillRect(left + shadowSize, top2 + shadowSize, right - left, bottom2 - top2);
  context.save();
  context.globalAlpha = options.fillOpacity;
  context.fillStyle = color;
  context.fillRect(left, top2 + lineWidth, right - left, bottom2 - top2);
  context.restore();
  }
   
  // Draw candle outline/border, high, low.
  if (lineWidth || wickLineWidth) {
   
  x = Math.floor((left + right) / 2) + pixelOffset;
   
  context.strokeStyle = color;
  context.beginPath();
   
  // TODO Again with the bartcharts
  if (options.barcharts) {
   
  context.moveTo(x, Math.floor(top + width));
  context.lineTo(x, Math.floor(bottom + width));
   
  y = Math.floor(open + width) + 0.5;
  context.moveTo(Math.floor(left) + pixelOffset, y);
  context.lineTo(x, y);
   
  y = Math.floor(close + width) + 0.5;
  context.moveTo(Math.floor(right) + pixelOffset, y);
  context.lineTo(x, y);
  } else {
  context.strokeRect(left, top2 + lineWidth, right - left, bottom2 - top2);
   
  context.moveTo(x, Math.floor(top2 + lineWidth));
  context.lineTo(x, Math.floor(top + lineWidth));
  context.moveTo(x, Math.floor(bottom2 + lineWidth));
  context.lineTo(x, Math.floor(bottom + lineWidth));
  }
   
  context.closePath();
  context.stroke();
  }
  }
  },
  extendXRange: function (axis, data, options) {
  if (axis.options.max === null) {
  axis.max = Math.max(axis.datamax + 0.5, axis.max);
  axis.min = Math.min(axis.datamin - 0.5, axis.min);
  }
} }
},  
extendXRange: function (axis, data, options) {  
if (axis.options.max === null) {  
axis.max = Math.max(axis.datamax + 0.5, axis.max);  
axis.min = Math.min(axis.datamin - 0.5, axis.min);  
}  
}  
}); });
   
/** Gantt /** Gantt
* Base on data in form [s,y,d] where: * Base on data in form [s,y,d] where:
* y - executor or simply y value * y - executor or simply y value
* s - task start value * s - task start value
* d - task duration * d - task duration
* **/ * **/
Flotr.addType('gantt', { Flotr.addType('gantt', {
options: { options: {
show: false, // => setting to true will show gantt, false will hide show: false, // => setting to true will show gantt, false will hide
lineWidth: 2, // => in pixels lineWidth: 2, // => in pixels
barWidth: 1, // => in units of the x axis barWidth: 1, // => in units of the x axis
fill: true, // => true to fill the area from the line to the x axis, false for (transparent) no fill fill: true, // => true to fill the area from the line to the x axis, false for (transparent) no fill
fillColor: null, // => fill color fillColor: null, // => fill color
fillOpacity: 0.4, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill fillOpacity: 0.4, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill
centered: true // => center the bars to their x axis value centered: true // => center the bars to their x axis value
}, },
/**  
* Draws gantt series in the canvas element.  
* @param {Object} series - Series with options.gantt.show = true.  
*/  
draw: function(series) {  
var ctx = this.ctx,  
bw = series.gantt.barWidth,  
lw = Math.min(series.gantt.lineWidth, bw);  
   
ctx.save();  
ctx.translate(this.plotOffset.left, this.plotOffset.top);  
ctx.lineJoin = 'miter';  
   
/** /**
* @todo linewidth not interpreted the right way. * Draws gantt series in the canvas element.
  * @param {Object} series - Series with options.gantt.show = true.
*/ */
ctx.lineWidth = lw; draw: function (series) {
ctx.strokeStyle = series.color; var ctx = this.ctx,
  bw = series.gantt.barWidth,
ctx.save(); lw = Math.min(series.gantt.lineWidth, bw);
this.gantt.plotShadows(series, bw, 0, series.gantt.fill);  
ctx.restore(); ctx.save();
  ctx.translate(this.plotOffset.left, this.plotOffset.top);
if(series.gantt.fill){ ctx.lineJoin = 'miter';
var color = series.gantt.fillColor || series.color;  
ctx.fillStyle = this.processColor(color, {opacity: series.gantt.fillOpacity}); /**
  * @todo linewidth not interpreted the right way.
  */
  ctx.lineWidth = lw;
  ctx.strokeStyle = series.color;
   
  ctx.save();
  this.gantt.plotShadows(series, bw, 0, series.gantt.fill);
  ctx.restore();
   
  if (series.gantt.fill) {
  var color = series.gantt.fillColor || series.color;
  ctx.fillStyle = this.processColor(color, {opacity: series.gantt.fillOpacity});
  }
   
  this.gantt.plot(series, bw, 0, series.gantt.fill);
  ctx.restore();
  },
  plot: function (series, barWidth, offset, fill) {
  var data = series.data;
  if (data.length < 1) return;
   
  var xa = series.xaxis,
  ya = series.yaxis,
  ctx = this.ctx, i;
   
  for (i = 0; i < data.length; i++) {
  var y = data[i][0],
  s = data[i][1],
  d = data[i][2],
  drawLeft = true, drawTop = true, drawRight = true;
   
  if (s === null || d === null) continue;
   
  var left = s,
  right = s + d,
  bottom = y - (series.gantt.centered ? barWidth / 2 : 0),
  top = y + barWidth - (series.gantt.centered ? barWidth / 2 : 0);
   
  if (right < xa.min || left > xa.max || top < ya.min || bottom > ya.max)
  continue;
   
  if (left < xa.min) {
  left = xa.min;
  drawLeft = false;
  }
   
  if (right > xa.max) {
  right = xa.max;
  if (xa.lastSerie != series)
  drawTop = false;
  }
   
  if (bottom < ya.min)
  bottom = ya.min;
   
  if (top > ya.max) {
  top = ya.max;
  if (ya.lastSerie != series)
  drawTop = false;
  }
   
  /**
  * Fill the bar.
  */
  if (fill) {
  ctx.beginPath();
  ctx.moveTo(xa.d2p(left), ya.d2p(bottom) + offset);
  ctx.lineTo(xa.d2p(left), ya.d2p(top) + offset);
  ctx.lineTo(xa.d2p(right), ya.d2p(top) + offset);
  ctx.lineTo(xa.d2p(right), ya.d2p(bottom) + offset);
  ctx.fill();
  ctx.closePath();
  }
   
  /**
  * Draw bar outline/border.
  */
  if (series.gantt.lineWidth && (drawLeft || drawRight || drawTop)) {
  ctx.beginPath();
  ctx.moveTo(xa.d2p(left), ya.d2p(bottom) + offset);
   
  ctx[drawLeft ? 'lineTo' : 'moveTo'](xa.d2p(left), ya.d2p(top) + offset);
  ctx[drawTop ? 'lineTo' : 'moveTo'](xa.d2p(right), ya.d2p(top) + offset);
  ctx[drawRight ? 'lineTo' : 'moveTo'](xa.d2p(right), ya.d2p(bottom) + offset);
   
  ctx.stroke();
  ctx.closePath();
  }
  }
  },
  plotShadows: function (series, barWidth, offset) {
  var data = series.data;
  if (data.length < 1) return;
   
  var i, y, s, d,
  xa = series.xaxis,
  ya = series.yaxis,
  ctx = this.ctx,
  sw = this.options.shadowSize;
   
  for (i = 0; i < data.length; i++) {
  y = data[i][0];
  s = data[i][1];
  d = data[i][2];
   
  if (s === null || d === null) continue;
   
  var left = s,
  right = s + d,
  bottom = y - (series.gantt.centered ? barWidth / 2 : 0),
  top = y + barWidth - (series.gantt.centered ? barWidth / 2 : 0);
   
  if (right < xa.min || left > xa.max || top < ya.min || bottom > ya.max)
  continue;
   
  if (left < xa.min) left = xa.min;
  if (right > xa.max) right = xa.max;
  if (bottom < ya.min) bottom = ya.min;
  if (top > ya.max) top = ya.max;
   
  var width = xa.d2p(right) - xa.d2p(left) - ((xa.d2p(right) + sw <= this.plotWidth) ? 0 : sw);
  var height = ya.d2p(bottom) - ya.d2p(top) - ((ya.d2p(bottom) + sw <= this.plotHeight) ? 0 : sw );
   
  ctx.fillStyle = 'rgba(0,0,0,0.05)';
  ctx.fillRect(Math.min(xa.d2p(left) + sw, this.plotWidth), Math.min(ya.d2p(top) + sw, this.plotHeight), width, height);
  }
  },
  extendXRange: function (axis) {
  if (axis.options.max === null) {
  var newmin = axis.min,
  newmax = axis.max,
  i, j, x, s, g,
  stackedSumsPos = {},
  stackedSumsNeg = {},
  lastSerie = null;
   
  for (i = 0; i < this.series.length; ++i) {
  s = this.series[i];
  g = s.gantt;
   
  if (g.show && s.xaxis == axis) {
  for (j = 0; j < s.data.length; j++) {
  if (g.show) {
  y = s.data[j][0] + '';
  stackedSumsPos[y] = Math.max((stackedSumsPos[y] || 0), s.data[j][1] + s.data[j][2]);
  lastSerie = s;
  }
  }
  for (j in stackedSumsPos) {
  newmax = Math.max(stackedSumsPos[j], newmax);
  }
  }
  }
  axis.lastSerie = lastSerie;
  axis.max = newmax;
  axis.min = newmin;
  }
  },
  extendYRange: function (axis) {
  if (axis.options.max === null) {
  var newmax = Number.MIN_VALUE,
  newmin = Number.MAX_VALUE,
  i, j, s, g,
  stackedSumsPos = {},
  stackedSumsNeg = {},
  lastSerie = null;
   
  for (i = 0; i < this.series.length; ++i) {
  s = this.series[i];
  g = s.gantt;
   
  if (g.show && !s.hide && s.yaxis == axis) {
  var datamax = Number.MIN_VALUE, datamin = Number.MAX_VALUE;
  for (j = 0; j < s.data.length; j++) {
  datamax = Math.max(datamax, s.data[j][0]);
  datamin = Math.min(datamin, s.data[j][0]);
  }
   
  if (g.centered) {
  newmax = Math.max(datamax + 0.5, newmax);
  newmin = Math.min(datamin - 0.5, newmin);
  }
  else {
  newmax = Math.max(datamax + 1, newmax);
  newmin = Math.min(datamin, newmin);
  }
  // For normal horizontal bars
  if (g.barWidth + datamax > newmax) {
  newmax = axis.max + g.barWidth;
  }
  }
  }
  axis.lastSerie = lastSerie;
  axis.max = newmax;
  axis.min = newmin;
  axis.tickSize = Flotr.getTickSize(axis.options.noTicks, newmin, newmax, axis.options.tickDecimals);
  }
} }
   
this.gantt.plot(series, bw, 0, series.gantt.fill);  
ctx.restore();  
},  
plot: function(series, barWidth, offset, fill){  
var data = series.data;  
if(data.length < 1) return;  
   
var xa = series.xaxis,  
ya = series.yaxis,  
ctx = this.ctx, i;  
   
for(i = 0; i < data.length; i++){  
var y = data[i][0],  
s = data[i][1],  
d = data[i][2],  
drawLeft = true, drawTop = true, drawRight = true;  
   
if (s === null || d === null) continue;  
   
var left = s,  
right = s + d,  
bottom = y - (series.gantt.centered ? barWidth/2 : 0),  
top = y + barWidth - (series.gantt.centered ? barWidth/2 : 0);  
   
if(right < xa.min || left > xa.max || top < ya.min || bottom > ya.max)  
continue;  
   
if(left < xa.min){  
left = xa.min;  
drawLeft = false;  
}  
   
if(right > xa.max){  
right = xa.max;  
if (xa.lastSerie != series)  
drawTop = false;  
}  
   
if(bottom < ya.min)  
bottom = ya.min;  
   
if(top > ya.max){  
top = ya.max;  
if (ya.lastSerie != series)  
drawTop = false;  
}  
   
/**  
* Fill the bar.  
*/  
if(fill){  
ctx.beginPath();  
ctx.moveTo(xa.d2p(left), ya.d2p(bottom) + offset);  
ctx.lineTo(xa.d2p(left), ya.d2p(top) + offset);  
ctx.lineTo(xa.d2p(right), ya.d2p(top) + offset);  
ctx.lineTo(xa.d2p(right), ya.d2p(bottom) + offset);  
ctx.fill();  
ctx.closePath();  
}  
   
/**  
* Draw bar outline/border.  
*/  
if(series.gantt.lineWidth && (drawLeft || drawRight || drawTop)){  
ctx.beginPath();  
ctx.moveTo(xa.d2p(left), ya.d2p(bottom) + offset);  
   
ctx[drawLeft ?'lineTo':'moveTo'](xa.d2p(left), ya.d2p(top) + offset);  
ctx[drawTop ?'lineTo':'moveTo'](xa.d2p(right), ya.d2p(top) + offset);  
ctx[drawRight?'lineTo':'moveTo'](xa.d2p(right), ya.d2p(bottom) + offset);  
   
ctx.stroke();  
ctx.closePath();  
}  
}  
},  
plotShadows: function(series, barWidth, offset){  
var data = series.data;  
if(data.length < 1) return;  
   
var i, y, s, d,  
xa = series.xaxis,  
ya = series.yaxis,  
ctx = this.ctx,  
sw = this.options.shadowSize;  
   
for(i = 0; i < data.length; i++){  
y = data[i][0];  
s = data[i][1];  
d = data[i][2];  
   
if (s === null || d === null) continue;  
   
var left = s,  
right = s + d,  
bottom = y - (series.gantt.centered ? barWidth/2 : 0),  
top = y + barWidth - (series.gantt.centered ? barWidth/2 : 0);  
   
if(right < xa.min || left > xa.max || top < ya.min || bottom > ya.max)  
continue;  
   
if(left < xa.min) left = xa.min;  
if(right > xa.max) right = xa.max;  
if(bottom < ya.min) bottom = ya.min;  
if(top > ya.max) top = ya.max;  
   
var width = xa.d2p(right)-xa.d2p(left)-((xa.d2p(right)+sw <= this.plotWidth) ? 0 : sw);  
var height = ya.d2p(bottom)-ya.d2p(top)-((ya.d2p(bottom)+sw <= this.plotHeight) ? 0 : sw );  
   
ctx.fillStyle = 'rgba(0,0,0,0.05)';  
ctx.fillRect(Math.min(xa.d2p(left)+sw, this.plotWidth), Math.min(ya.d2p(top)+sw, this.plotHeight), width, height);  
}  
},  
extendXRange: function(axis) {  
if(axis.options.max === null){  
var newmin = axis.min,  
newmax = axis.max,  
i, j, x, s, g,  
stackedSumsPos = {},  
stackedSumsNeg = {},  
lastSerie = null;  
   
for(i = 0; i < this.series.length; ++i){  
s = this.series[i];  
g = s.gantt;  
   
if(g.show && s.xaxis == axis) {  
for (j = 0; j < s.data.length; j++) {  
if (g.show) {  
y = s.data[j][0]+'';  
stackedSumsPos[y] = Math.max((stackedSumsPos[y] || 0), s.data[j][1]+s.data[j][2]);  
lastSerie = s;  
}  
}  
for (j in stackedSumsPos) {  
newmax = Math.max(stackedSumsPos[j], newmax);  
}  
}  
}  
axis.lastSerie = lastSerie;  
axis.max = newmax;  
axis.min = newmin;  
}  
},  
extendYRange: function(axis){  
if(axis.options.max === null){  
var newmax = Number.MIN_VALUE,  
newmin = Number.MAX_VALUE,  
i, j, s, g,  
stackedSumsPos = {},  
stackedSumsNeg = {},  
lastSerie = null;  
   
for(i = 0; i < this.series.length; ++i){  
s = this.series[i];  
g = s.gantt;  
   
if (g.show && !s.hide && s.yaxis == axis) {  
var datamax = Number.MIN_VALUE, datamin = Number.MAX_VALUE;  
for(j=0; j < s.data.length; j++){  
datamax = Math.max(datamax,s.data[j][0]);  
datamin = Math.min(datamin,s.data[j][0]);  
}  
   
if (g.centered) {  
newmax = Math.max(datamax + 0.5, newmax);  
newmin = Math.min(datamin - 0.5, newmin);  
}  
else {  
newmax = Math.max(datamax + 1, newmax);  
newmin = Math.min(datamin, newmin);  
}  
// For normal horizontal bars  
if (g.barWidth + datamax > newmax){  
newmax = axis.max + g.barWidth;  
}  
}  
}  
axis.lastSerie = lastSerie;  
axis.max = newmax;  
axis.min = newmin;  
axis.tickSize = Flotr.getTickSize(axis.options.noTicks, newmin, newmax, axis.options.tickDecimals);  
}  
}  
}); });
   
/** Markers **/ /** Markers **/
/** /**
* Formats the marker labels. * Formats the marker labels.
* @param {Object} obj - Marker value Object {x:..,y:..} * @param {Object} obj - Marker value Object {x:..,y:..}
* @return {String} Formatted marker string * @return {String} Formatted marker string
*/ */
(function () { (function () {
   
Flotr.defaultMarkerFormatter = function(obj){ Flotr.defaultMarkerFormatter = function (obj) {
return (Math.round(obj.y*100)/100)+''; return (Math.round(obj.y * 100) / 100) + '';
}; };
   
Flotr.addType('markers', { Flotr.addType('markers', {
options: { options: {
show: false, // => setting to true will show markers, false will hide show: false, // => setting to true will show markers, false will hide
lineWidth: 1, // => line width of the rectangle around the marker lineWidth: 1, // => line width of the rectangle around the marker
color: '#000000', // => text color color: '#000000', // => text color
fill: false, // => fill or not the marekers' rectangles fill: false, // => fill or not the marekers' rectangles
fillColor: "#FFFFFF", // => fill color fillColor: "#FFFFFF", // => fill color
fillOpacity: 0.4, // => fill opacity fillOpacity: 0.4, // => fill opacity
stroke: false, // => draw the rectangle around the markers stroke: false, // => draw the rectangle around the markers
position: 'ct', // => the markers position (vertical align: b, m, t, horizontal align: l, c, r) position: 'ct', // => the markers position (vertical align: b, m, t, horizontal align: l, c, r)
verticalMargin: 0, // => the margin between the point and the text. verticalMargin: 0, // => the margin between the point and the text.
labelFormatter: Flotr.defaultMarkerFormatter, labelFormatter: Flotr.defaultMarkerFormatter,
fontSize: Flotr.defaultOptions.fontSize, fontSize: Flotr.defaultOptions.fontSize,
stacked: false, // => true if markers should be stacked stacked: false, // => true if markers should be stacked
stackingType: 'b', // => define staching behavior, (b- bars like, a - area like) (see Issue 125 for details) stackingType: 'b', // => define staching behavior, (b- bars like, a - area like) (see Issue 125 for details)
horizontal: false // => true if markers should be horizontal (For now only in a case on horizontal stacked bars, stacks should be calculated horizontaly) horizontal: false // => true if markers should be horizontal (For now only in a case on horizontal stacked bars, stacks should be calculated horizontaly)
}, },
   
// TODO test stacked markers. // TODO test stacked markers.
stack : { stack: {
positive : [], positive: [],
negative : [], negative: [],
values : [] values: []
}, },
   
draw : function (options) { draw: function (options) {
   
var var
data = options.data, data = options.data,
context = options.context, context = options.context,
stack = options.stacked ? options.stack : false, stack = options.stacked ? options.stack : false,
stackType = options.stackingType, stackType = options.stackingType,
stackOffsetNeg, stackOffsetNeg,
stackOffsetPos, stackOffsetPos,
stackOffset, stackOffset,
i, x, y, label; i, x, y, label;
   
context.save(); context.save();
context.lineJoin = 'round'; context.lineJoin = 'round';
context.lineWidth = options.lineWidth; context.lineWidth = options.lineWidth;
context.strokeStyle = 'rgba(0,0,0,0.5)'; context.strokeStyle = 'rgba(0,0,0,0.5)';
context.fillStyle = options.fillStyle; context.fillStyle = options.fillStyle;
   
function stackPos (a, b) { function stackPos(a, b) {
stackOffsetPos = stack.negative[a] || 0; stackOffsetPos = stack.negative[a] || 0;
stackOffsetNeg = stack.positive[a] || 0; stackOffsetNeg = stack.positive[a] || 0;
if (b > 0) { if (b > 0) {
stack.positive[a] = stackOffsetPos + b; stack.positive[a] = stackOffsetPos + b;
return stackOffsetPos + b; return stackOffsetPos + b;
} else { } else {
stack.negative[a] = stackOffsetNeg + b; stack.negative[a] = stackOffsetNeg + b;
return stackOffsetNeg + b; return stackOffsetNeg + b;
} }
  }
   
  for (i = 0; i < data.length; ++i) {
   
  x = data[i][0];
  y = data[i][1];
   
  if (stack) {
  if (stackType == 'b') {
  if (options.horizontal) y = stackPos(y, x);
  else x = stackPos(x, y);
  } else if (stackType == 'a') {
  stackOffset = stack.values[x] || 0;
  stack.values[x] = stackOffset + y;
  y = stackOffset + y;
  }
  }
   
  label = options.labelFormatter({x: x, y: y, index: i, data: data});
  this.plot(options.xScale(x), options.yScale(y), label, options);
  }
  context.restore();
  },
  plot: function (x, y, label, options) {
  var context = options.context;
  if (isImage(label) && !label.complete) {
  throw 'Marker image not loaded.';
  } else {
  this._plot(x, y, label, options);
  }
  },
   
  _plot: function (x, y, label, options) {
  var context = options.context,
  margin = 2,
  left = x,
  top = y,
  dim;
   
  if (isImage(label))
  dim = {height: label.height, width: label.width};
  else
  dim = options.text.canvas(label);
   
  dim.width = Math.floor(dim.width + margin * 2);
  dim.height = Math.floor(dim.height + margin * 2);
   
  if (options.position.indexOf('c') != -1) left -= dim.width / 2 + margin;
  else if (options.position.indexOf('l') != -1) left -= dim.width;
   
  if (options.position.indexOf('m') != -1) top -= dim.height / 2 + margin;
  else if (options.position.indexOf('t') != -1) top -= dim.height + options.verticalMargin;
  else top += options.verticalMargin;
   
  left = Math.floor(left) + 0.5;
  top = Math.floor(top) + 0.5;
   
  if (options.fill)
  context.fillRect(left, top, dim.width, dim.height);
   
  if (options.stroke)
  context.strokeRect(left, top, dim.width, dim.height);
   
  if (isImage(label))
  context.drawImage(label, left + margin, top + margin);
  else
  Flotr.drawText(context, label, left + margin, top + margin, {textBaseline: 'top', textAlign: 'left', size: options.fontSize, color: options.color});
  }
  });
   
  function isImage(i) {
  return typeof i === 'object' && i.constructor && (Image ? true : i.constructor === Image);
} }
   
for (i = 0; i < data.length; ++i) {  
   
x = data[i][0];  
y = data[i][1];  
   
if (stack) {  
if (stackType == 'b') {  
if (options.horizontal) y = stackPos(y, x);  
else x = stackPos(x, y);  
} else if (stackType == 'a') {  
stackOffset = stack.values[x] || 0;  
stack.values[x] = stackOffset + y;  
y = stackOffset + y;  
}  
}  
   
label = options.labelFormatter({x: x, y: y, index: i, data : data});  
this.plot(options.xScale(x), options.yScale(y), label, options);  
}  
context.restore();  
},  
plot: function(x, y, label, options) {  
var context = options.context;  
if (isImage(label) && !label.complete) {  
throw 'Marker image not loaded.';  
} else {  
this._plot(x, y, label, options);  
}  
},  
   
_plot: function(x, y, label, options) {  
var context = options.context,  
margin = 2,  
left = x,  
top = y,  
dim;  
   
if (isImage(label))  
dim = {height : label.height, width: label.width};  
else  
dim = options.text.canvas(label);  
   
dim.width = Math.floor(dim.width+margin*2);  
dim.height = Math.floor(dim.height+margin*2);  
   
if (options.position.indexOf('c') != -1) left -= dim.width/2 + margin;  
else if (options.position.indexOf('l') != -1) left -= dim.width;  
   
if (options.position.indexOf('m') != -1) top -= dim.height/2 + margin;  
else if (options.position.indexOf('t') != -1) top -= dim.height + options.verticalMargin;  
else top += options.verticalMargin;  
   
left = Math.floor(left)+0.5;  
top = Math.floor(top)+0.5;  
   
if(options.fill)  
context.fillRect(left, top, dim.width, dim.height);  
   
if(options.stroke)  
context.strokeRect(left, top, dim.width, dim.height);  
   
if (isImage(label))  
context.drawImage(label, left+margin, top+margin);  
else  
Flotr.drawText(context, label, left+margin, top+margin, {textBaseline: 'top', textAlign: 'left', size: options.fontSize, color: options.color});  
}  
});  
   
function isImage (i) {  
return typeof i === 'object' && i.constructor && (Image ? true : i.constructor === Image);  
}  
   
})(); })();
   
/** Pie **/ /** Pie **/
/** /**
* Formats the pies labels. * Formats the pies labels.
* @param {Object} slice - Slice object * @param {Object} slice - Slice object
* @return {String} Formatted pie label string * @return {String} Formatted pie label string
*/ */
(function () { (function () {
   
var  
_ = Flotr._;  
   
Flotr.defaultPieLabelFormatter = function (total, value) {  
return (100 * value / total).toFixed(2)+'%';  
};  
   
Flotr.addType('pie', {  
options: {  
show: false, // => setting to true will show bars, false will hide  
lineWidth: 1, // => in pixels  
fill: true, // => true to fill the area from the line to the x axis, false for (transparent) no fill  
fillColor: null, // => fill color  
fillOpacity: 0.6, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill  
explode: 6, // => the number of pixels the splices will be far from the center  
sizeRatio: 0.6, // => the size ratio of the pie relative to the plot  
startAngle: Math.PI/4, // => the first slice start angle  
labelFormatter: Flotr.defaultPieLabelFormatter,  
pie3D: false, // => whether to draw the pie in 3 dimenstions or not (ineffective)  
pie3DviewAngle: (Math.PI/2 * 0.8),  
pie3DspliceThickness: 20  
},  
   
draw : function (options) {  
   
// TODO 3D charts what?  
   
var var
data = options.data, _ = Flotr._;
context = options.context,  
canvas = context.canvas, Flotr.defaultPieLabelFormatter = function (total, value) {
lineWidth = options.lineWidth, return (100 * value / total).toFixed(2) + '%';
shadowSize = options.shadowSize, };
sizeRatio = options.sizeRatio,  
height = options.height, Flotr.addType('pie', {
width = options.width, options: {
explode = options.explode, show: false, // => setting to true will show bars, false will hide
color = options.color, lineWidth: 1, // => in pixels
fill = options.fill, fill: true, // => true to fill the area from the line to the x axis, false for (transparent) no fill
fillStyle = options.fillStyle, fillColor: null, // => fill color
radius = Math.min(canvas.width, canvas.height) * sizeRatio / 2, fillOpacity: 0.6, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill
value = data[0][1], explode: 6, // => the number of pixels the splices will be far from the center
html = [], sizeRatio: 0.6, // => the size ratio of the pie relative to the plot
vScale = 1,//Math.cos(series.pie.viewAngle); startAngle: Math.PI / 4, // => the first slice start angle
measure = Math.PI * 2 * value / this.total, labelFormatter: Flotr.defaultPieLabelFormatter,
startAngle = this.startAngle || (2 * Math.PI * options.startAngle), // TODO: this initial startAngle is already in radians (fixing will be test-unstable) pie3D: false, // => whether to draw the pie in 3 dimenstions or not (ineffective)
endAngle = startAngle + measure, pie3DviewAngle: (Math.PI / 2 * 0.8),
bisection = startAngle + measure / 2, pie3DspliceThickness: 20
label = options.labelFormatter(this.total, value), },
//plotTickness = Math.sin(series.pie.viewAngle)*series.pie.spliceThickness / vScale;  
explodeCoeff = explode + radius + 4, draw: function (options) {
distX = Math.cos(bisection) * explodeCoeff,  
distY = Math.sin(bisection) * explodeCoeff, // TODO 3D charts what?
textAlign = distX < 0 ? 'right' : 'left',  
textBaseline = distY > 0 ? 'top' : 'bottom', var
style, data = options.data,
x, y, context = options.context,
distX, distY; canvas = context.canvas,
  lineWidth = options.lineWidth,
context.save(); shadowSize = options.shadowSize,
context.translate(width / 2, height / 2); sizeRatio = options.sizeRatio,
context.scale(1, vScale); height = options.height,
  width = options.width,
x = Math.cos(bisection) * explode; explode = options.explode,
y = Math.sin(bisection) * explode; color = options.color,
  fill = options.fill,
// Shadows fillStyle = options.fillStyle,
if (shadowSize > 0) { radius = Math.min(canvas.width, canvas.height) * sizeRatio / 2,
this.plotSlice(x + shadowSize, y + shadowSize, radius, startAngle, endAngle, context); value = data[0][1],
if (fill) { html = [],
context.fillStyle = 'rgba(0,0,0,0.1)'; vScale = 1,//Math.cos(series.pie.viewAngle);
context.fill(); measure = Math.PI * 2 * value / this.total,
} startAngle = this.startAngle || (2 * Math.PI * options.startAngle), // TODO: this initial startAngle is already in radians (fixing will be test-unstable)
} endAngle = startAngle + measure,
  bisection = startAngle + measure / 2,
this.plotSlice(x, y, radius, startAngle, endAngle, context); label = options.labelFormatter(this.total, value),
if (fill) { //plotTickness = Math.sin(series.pie.viewAngle)*series.pie.spliceThickness / vScale;
context.fillStyle = fillStyle; explodeCoeff = explode + radius + 4,
context.fill(); distX = Math.cos(bisection) * explodeCoeff,
} distY = Math.sin(bisection) * explodeCoeff,
context.lineWidth = lineWidth; textAlign = distX < 0 ? 'right' : 'left',
context.strokeStyle = color; textBaseline = distY > 0 ? 'top' : 'bottom',
context.stroke(); style,
  x, y,
style = { distX, distY;
size : options.fontSize * 1.2,  
color : options.fontColor, context.save();
weight : 1.5 context.translate(width / 2, height / 2);
}; context.scale(1, vScale);
   
if (label) { x = Math.cos(bisection) * explode;
if (options.htmlText || !options.textEnabled) { y = Math.sin(bisection) * explode;
divStyle = 'position:absolute;' + textBaseline + ':' + (height / 2 + (textBaseline === 'top' ? distY : -distY)) + 'px;';  
divStyle += textAlign + ':' + (width / 2 + (textAlign === 'right' ? -distX : distX)) + 'px;'; // Shadows
html.push('<div style="', divStyle, '" class="flotr-grid-label">', label, '</div>'); if (shadowSize > 0) {
} this.plotSlice(x + shadowSize, y + shadowSize, radius, startAngle, endAngle, context);
else { if (fill) {
style.textAlign = textAlign; context.fillStyle = 'rgba(0,0,0,0.1)';
style.textBaseline = textBaseline; context.fill();
Flotr.drawText(context, label, distX, distY, style); }
} }
}  
  this.plotSlice(x, y, radius, startAngle, endAngle, context);
if (options.htmlText || !options.textEnabled) { if (fill) {
var div = Flotr.DOM.node('<div style="color:' + options.fontColor + '" class="flotr-labels"></div>'); context.fillStyle = fillStyle;
Flotr.DOM.insert(div, html.join('')); context.fill();
Flotr.DOM.insert(options.element, div); }
} context.lineWidth = lineWidth;
  context.strokeStyle = color;
context.restore(); context.stroke();
   
// New start angle style = {
this.startAngle = endAngle; size: options.fontSize * 1.2,
this.slices = this.slices || []; color: options.fontColor,
this.slices.push({ weight: 1.5
radius : Math.min(canvas.width, canvas.height) * sizeRatio / 2, };
x : x,  
y : y, if (label) {
explode : explode, if (options.htmlText || !options.textEnabled) {
start : startAngle, divStyle = 'position:absolute;' + textBaseline + ':' + (height / 2 + (textBaseline === 'top' ? distY : -distY)) + 'px;';
end : endAngle divStyle += textAlign + ':' + (width / 2 + (textAlign === 'right' ? -distX : distX)) + 'px;';
  html.push('<div style="', divStyle, '" class="flotr-grid-label">', label, '</div>');
  }
  else {
  style.textAlign = textAlign;
  style.textBaseline = textBaseline;
  Flotr.drawText(context, label, distX, distY, style);
  }
  }
   
  if (options.htmlText || !options.textEnabled) {
  var div = Flotr.DOM.node('<div style="color:' + options.fontColor + '" class="flotr-labels"></div>');
  Flotr.DOM.insert(div, html.join(''));
  Flotr.DOM.insert(options.element, div);
  }
   
  context.restore();
   
  // New start angle
  this.startAngle = endAngle;
  this.slices = this.slices || [];
  this.slices.push({
  radius: Math.min(canvas.width, canvas.height) * sizeRatio / 2,
  x: x,
  y: y,
  explode: explode,
  start: startAngle,
  end: endAngle
  });
  },
  plotSlice: function (x, y, radius, startAngle, endAngle, context) {
  context.beginPath();
  context.moveTo(x, y);
  context.arc(x, y, radius, startAngle, endAngle, false);
  context.lineTo(x, y);
  context.closePath();
  },
  hit: function (options) {
   
  var
  data = options.data[0],
  args = options.args,
  index = options.index,
  mouse = args[0],
  n = args[1],
  slice = this.slices[index],
  x = mouse.relX - options.width / 2,
  y = mouse.relY - options.height / 2,
  r = Math.sqrt(x * x + y * y),
  theta = Math.atan(y / x),
  circle = Math.PI * 2,
  explode = slice.explode || options.explode,
  start = slice.start % circle,
  end = slice.end % circle;
   
  if (x < 0) {
  theta += Math.PI;
  } else if (x > 0 && y < 0) {
  theta += circle;
  }
   
  if (r < slice.radius + explode && r > explode) {
  if ((start >= end && (theta < end || theta > start)) ||
  (theta > start && theta < end)) {
   
  // TODO Decouple this from hit plugin (chart shouldn't know what n means)
  n.x = data[0];
  n.y = data[1];
  n.sAngle = start;
  n.eAngle = end;
  n.index = 0;
  n.seriesIndex = index;
  n.fraction = data[1] / this.total;
  }
  }
  },
  drawHit: function (options) {
  var
  context = options.context,
  slice = this.slices[options.args.seriesIndex];
   
  context.save();
  context.translate(options.width / 2, options.height / 2);
  this.plotSlice(slice.x, slice.y, slice.radius, slice.start, slice.end, context);
  context.stroke();
  context.restore();
  },
  clearHit: function (options) {
  var
  context = options.context,
  slice = this.slices[options.args.seriesIndex],
  padding = 2 * options.lineWidth,
  radius = slice.radius + padding;
   
  context.save();
  context.translate(options.width / 2, options.height / 2);
  context.clearRect(
  slice.x - radius,
  slice.y - radius,
  2 * radius + padding,
  2 * radius + padding
  );
  context.restore();
  },
  extendYRange: function (axis, data) {
  this.total = (this.total || 0) + data[0][1];
  }
}); });
},  
plotSlice : function (x, y, radius, startAngle, endAngle, context) {  
context.beginPath();  
context.moveTo(x, y);  
context.arc(x, y, radius, startAngle, endAngle, false);  
context.lineTo(x, y);  
context.closePath();  
},  
hit : function (options) {  
   
var  
data = options.data[0],  
args = options.args,  
index = options.index,  
mouse = args[0],  
n = args[1],  
slice = this.slices[index],  
x = mouse.relX - options.width / 2,  
y = mouse.relY - options.height / 2,  
r = Math.sqrt(x * x + y * y),  
theta = Math.atan(y / x),  
circle = Math.PI * 2,  
explode = slice.explode || options.explode,  
start = slice.start % circle,  
end = slice.end % circle;  
   
if (x < 0) {  
theta += Math.PI;  
} else if (x > 0 && y < 0) {  
theta += circle;  
}  
   
if (r < slice.radius + explode && r > explode) {  
if ((start >= end && (theta < end || theta > start)) ||  
(theta > start && theta < end)) {  
   
// TODO Decouple this from hit plugin (chart shouldn't know what n means)  
n.x = data[0];  
n.y = data[1];  
n.sAngle = start;  
n.eAngle = end;  
n.index = 0;  
n.seriesIndex = index;  
n.fraction = data[1] / this.total;  
}  
}  
},  
drawHit: function (options) {  
var  
context = options.context,  
slice = this.slices[options.args.seriesIndex];  
   
context.save();  
context.translate(options.width / 2, options.height / 2);  
this.plotSlice(slice.x, slice.y, slice.radius, slice.start, slice.end, context);  
context.stroke();  
context.restore();  
},  
clearHit : function (options) {  
var  
context = options.context,  
slice = this.slices[options.args.seriesIndex],  
padding = 2 * options.lineWidth,  
radius = slice.radius + padding;  
   
context.save();  
context.translate(options.width / 2, options.height / 2);  
context.clearRect(  
slice.x - radius,  
slice.y - radius,  
2 * radius + padding,  
2 * radius + padding  
);  
context.restore();  
},  
extendYRange : function (axis, data) {  
this.total = (this.total || 0) + data[0][1];  
}  
});  
})(); })();
   
/** Points **/ /** Points **/
Flotr.addType('points', { Flotr.addType('points', {
options: { options: {
show: false, // => setting to true will show points, false will hide show: false, // => setting to true will show points, false will hide
radius: 3, // => point radius (pixels) radius: 3, // => point radius (pixels)
lineWidth: 2, // => line width in pixels lineWidth: 2, // => line width in pixels
fill: true, // => true to fill the points with a color, false for (transparent) no fill fill: true, // => true to fill the points with a color, false for (transparent) no fill
fillColor: '#FFFFFF', // => fill color fillColor: '#FFFFFF', // => fill color
fillOpacity: 0.4 // => opacity of color inside the points fillOpacity: 0.4 // => opacity of color inside the points
}, },
   
draw : function (options) { draw: function (options) {
var var
context = options.context, context = options.context,
lineWidth = options.lineWidth, lineWidth = options.lineWidth,
shadowSize = options.shadowSize; shadowSize = options.shadowSize;
   
context.save(); context.save();
   
if (shadowSize > 0) { if (shadowSize > 0) {
context.lineWidth = shadowSize / 2; context.lineWidth = shadowSize / 2;
   
context.strokeStyle = 'rgba(0,0,0,0.1)'; context.strokeStyle = 'rgba(0,0,0,0.1)';
this.plot(options, shadowSize / 2 + context.lineWidth / 2); this.plot(options, shadowSize / 2 + context.lineWidth / 2);
   
context.strokeStyle = 'rgba(0,0,0,0.2)'; context.strokeStyle = 'rgba(0,0,0,0.2)';
this.plot(options, context.lineWidth / 2); this.plot(options, context.lineWidth / 2);
  }
   
  context.lineWidth = options.lineWidth;
  context.strokeStyle = options.color;
  context.fillStyle = options.fillColor || options.color;
   
  this.plot(options);
  context.restore();
  },
   
  plot: function (options, offset) {
  var
  data = options.data,
  context = options.context,
  xScale = options.xScale,
  yScale = options.yScale,
  i, x, y;
   
  for (i = data.length - 1; i > -1; --i) {
  y = data[i][1];
  if (y === null) continue;
   
  x = xScale(data[i][0]);
  y = yScale(y);
   
  if (x < 0 || x > options.width || y < 0 || y > options.height) continue;
   
  context.beginPath();
  if (offset) {
  context.arc(x, y + offset, options.radius, 0, Math.PI, false);
  } else {
  context.arc(x, y, options.radius, 0, 2 * Math.PI, true);
  if (options.fill) context.fill();
  }
  context.stroke();
  context.closePath();
  }
} }
   
context.lineWidth = options.lineWidth;  
context.strokeStyle = options.color;  
context.fillStyle = options.fillColor || options.color;  
   
this.plot(options);  
context.restore();  
},  
   
plot : function (options, offset) {  
var  
data = options.data,  
context = options.context,  
xScale = options.xScale,  
yScale = options.yScale,  
i, x, y;  
   
for (i = data.length - 1; i > -1; --i) {  
y = data[i][1];  
if (y === null) continue;  
   
x = xScale(data[i][0]);  
y = yScale(y);  
   
if (x < 0 || x > options.width || y < 0 || y > options.height) continue;  
   
context.beginPath();  
if (offset) {  
context.arc(x, y + offset, options.radius, 0, Math.PI, false);  
} else {  
context.arc(x, y, options.radius, 0, 2 * Math.PI, true);  
if (options.fill) context.fill();  
}  
context.stroke();  
context.closePath();  
}  
}  
}); });
   
/** Radar **/ /** Radar **/
Flotr.addType('radar', { Flotr.addType('radar', {
options: { options: {
show: false, // => setting to true will show radar chart, false will hide show: false, // => setting to true will show radar chart, false will hide
lineWidth: 2, // => line width in pixels lineWidth: 2, // => line width in pixels
fill: true, // => true to fill the area from the line to the x axis, false for (transparent) no fill fill: true, // => true to fill the area from the line to the x axis, false for (transparent) no fill
fillOpacity: 0.4, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill fillOpacity: 0.4, // => opacity of the fill color, set to 1 for a solid fill, 0 hides the fill
radiusRatio: 0.90 // => ratio of the radar, against the plot size radiusRatio: 0.90 // => ratio of the radar, against the plot size
}, },
draw : function (options) { draw: function (options) {
  var
  context = options.context,
  shadowSize = options.shadowSize;
   
  context.save();
  context.translate(options.width / 2, options.height / 2);
  context.lineWidth = options.lineWidth;
   
  // Shadow
  context.fillStyle = 'rgba(0,0,0,0.05)';
  context.strokeStyle = 'rgba(0,0,0,0.05)';
  this.plot(options, shadowSize / 2);
  context.strokeStyle = 'rgba(0,0,0,0.1)';
  this.plot(options, shadowSize / 4);
   
  // Chart
  context.strokeStyle = options.color;
  context.fillStyle = options.fillStyle;
  this.plot(options);
   
  context.restore();
  },
  plot: function (options, offset) {
  var
  data = options.data,
  context = options.context,
  radius = Math.min(options.height, options.width) * options.radiusRatio / 2,
  step = 2 * Math.PI / data.length,
  angle = -Math.PI / 2,
  i, ratio;
   
  offset = offset || 0;
   
  context.beginPath();
  for (i = 0; i < data.length; ++i) {
  ratio = data[i][1] / this.max;
   
  context[i === 0 ? 'moveTo' : 'lineTo'](
  Math.cos(i * step + angle) * radius * ratio + offset,
  Math.sin(i * step + angle) * radius * ratio + offset
  );
  }
  context.closePath();
  if (options.fill) context.fill();
  context.stroke();
  },
  extendYRange: function (axis, data) {
  this.max = Math.max(axis.max, this.max || -Number.MAX_VALUE);
  }
  });
   
  Flotr.addType('timeline', {
  options: {
  show: false,
  lineWidth: 1,
  barWidth: 0.2,
  fill: true,
  fillColor: null,
  fillOpacity: 0.4,
  centered: true
  },
   
  draw: function (options) {
   
  var
  context = options.context;
   
  context.save();
  context.lineJoin = 'miter';
  context.lineWidth = options.lineWidth;
  context.strokeStyle = options.color;
  context.fillStyle = options.fillStyle;
   
  this.plot(options);
   
  context.restore();
  },
   
  plot: function (options) {
   
  var
  data = options.data,
  context = options.context,
  xScale = options.xScale,
  yScale = options.yScale,
  barWidth = options.barWidth,
  lineWidth = options.lineWidth,
  i;
   
  Flotr._.each(data, function (timeline) {
   
  var
  x = timeline[0],
  y = timeline[1],
  w = timeline[2],
  h = barWidth,
   
  xt = Math.ceil(xScale(x)),
  wt = Math.ceil(xScale(x + w)) - xt,
  yt = Math.round(yScale(y)),
  ht = Math.round(yScale(y - h)) - yt,
   
  x0 = xt - lineWidth / 2,
  y0 = Math.round(yt - ht / 2) - lineWidth / 2;
   
  context.strokeRect(x0, y0, wt, ht);
  context.fillRect(x0, y0, wt, ht);
   
  });
  },
   
  extendRange: function (series) {
   
  var
  data = series.data,
  xa = series.xaxis,
  ya = series.yaxis,
  w = series.timeline.barWidth;
   
  if (xa.options.min === null)
  xa.min = xa.datamin - w / 2;
   
  if (xa.options.max === null) {
   
  var
  max = xa.max;
   
  Flotr._.each(data, function (timeline) {
  max = Math.max(max, timeline[0] + timeline[2]);
  }, this);
   
  xa.max = max + w / 2;
  }
   
  if (ya.options.min === null)
  ya.min = ya.datamin - w;
  if (ya.options.min === null)
  ya.max = ya.datamax + w;
  }
   
  });
   
  (function () {
   
  var D = Flotr.DOM;
   
  Flotr.addPlugin('crosshair', {
  options: {
  mode: null, // => one of null, 'x', 'y' or 'xy'
  color: '#FF0000', // => crosshair color
  hideCursor: true // => hide the cursor when the crosshair is shown
  },
  callbacks: {
  'flotr:mousemove': function (e, pos) {
  if (this.options.crosshair.mode) {
  this.crosshair.clearCrosshair();
  this.crosshair.drawCrosshair(pos);
  }
  }
  },
  /**
  * Draws the selection box.
  */
  drawCrosshair: function (pos) {
  var octx = this.octx,
  options = this.options.crosshair,
  plotOffset = this.plotOffset,
  x = plotOffset.left + pos.relX + 0.5,
  y = plotOffset.top + pos.relY + 0.5;
   
  if (pos.relX < 0 || pos.relY < 0 || pos.relX > this.plotWidth || pos.relY > this.plotHeight) {
  this.el.style.cursor = null;
  D.removeClass(this.el, 'flotr-crosshair');
  return;
  }
   
  if (options.hideCursor) {
  this.el.style.cursor = 'none';
  D.addClass(this.el, 'flotr-crosshair');
  }
   
  octx.save();
  octx.strokeStyle = options.color;
  octx.lineWidth = 1;
  octx.beginPath();
   
  if (options.mode.indexOf('x') != -1) {
  octx.moveTo(x, plotOffset.top);
  octx.lineTo(x, plotOffset.top + this.plotHeight);
  }
   
  if (options.mode.indexOf('y') != -1) {
  octx.moveTo(plotOffset.left, y);
  octx.lineTo(plotOffset.left + this.plotWidth, y);
  }
   
  octx.stroke();
  octx.restore();
  },
  /**
  * Removes the selection box from the overlay canvas.
  */
  clearCrosshair: function () {
   
  var
  plotOffset = this.plotOffset,
  position = this.lastMousePos,
  context = this.octx;
   
  if (position) {
  context.clearRect(
  position.relX + plotOffset.left,
  plotOffset.top,
  1,
  this.plotHeight + 1
  );
  context.clearRect(
  plotOffset.left,
  position.relY + plotOffset.top,
  this.plotWidth + 1,
  1
  );
  }
  }
  });
  })();
   
  (function () {
   
var var
context = options.context, D = Flotr.DOM,
shadowSize = options.shadowSize; _ = Flotr._;
   
context.save(); function getImage(type, canvas, width, height) {
context.translate(options.width / 2, options.height / 2);  
context.lineWidth = options.lineWidth; // TODO add scaling for w / h
  var
// Shadow mime = 'image/' + type,
context.fillStyle = 'rgba(0,0,0,0.05)'; data = canvas.toDataURL(mime),
context.strokeStyle = 'rgba(0,0,0,0.05)'; image = new Image();
this.plot(options, shadowSize / 2); image.src = data;
context.strokeStyle = 'rgba(0,0,0,0.1)'; return image;
this.plot(options, shadowSize / 4); }
   
// Chart Flotr.addPlugin('download', {
context.strokeStyle = options.color;  
context.fillStyle = options.fillStyle; saveImage: function (type, width, height, replaceCanvas) {
this.plot(options); var image = null;
  if (Flotr.isIE && Flotr.isIE < 9) {
context.restore(); image = '<html><body>' + this.canvas.firstChild.innerHTML + '</body></html>';
}, return window.open().document.write(image);
plot : function (options, offset) { }
   
  if (type !== 'jpeg' && type !== 'png') return;
   
  image = getImage(type, this.canvas, width, height);
   
  if (_.isElement(image) && replaceCanvas) {
  this.download.restoreCanvas();
  D.hide(this.canvas);
  D.hide(this.overlay);
  D.setStyles({position: 'absolute'});
  D.insert(this.el, image);
  this.saveImageElement = image;
  } else {
  return window.open(image.src);
  }
  },
   
  restoreCanvas: function () {
  D.show(this.canvas);
  D.show(this.overlay);
  if (this.saveImageElement) this.el.removeChild(this.saveImageElement);
  this.saveImageElement = null;
  }
  });
   
  })();
   
  (function () {
   
  var E = Flotr.EventAdapter,
  _ = Flotr._;
   
  Flotr.addPlugin('graphGrid', {
   
  callbacks: {
  'flotr:beforedraw': function () {
  this.graphGrid.drawGrid();
  },
  'flotr:afterdraw': function () {
  this.graphGrid.drawOutline();
  }
  },
   
  drawGrid: function () {
   
  var
  ctx = this.ctx,
  options = this.options,
  grid = options.grid,
  verticalLines = grid.verticalLines,
  horizontalLines = grid.horizontalLines,
  minorVerticalLines = grid.minorVerticalLines,
  minorHorizontalLines = grid.minorHorizontalLines,
  plotHeight = this.plotHeight,
  plotWidth = this.plotWidth,
  a, v, i, j;
   
  if (verticalLines || minorVerticalLines ||
  horizontalLines || minorHorizontalLines) {
  E.fire(this.el, 'flotr:beforegrid', [this.axes.x, this.axes.y, options, this]);
  }
  ctx.save();
  ctx.lineWidth = 1;
  ctx.strokeStyle = grid.tickColor;
   
  function circularHorizontalTicks(ticks) {
  for (i = 0; i < ticks.length; ++i) {
  var ratio = ticks[i].v / a.max;
  for (j = 0; j <= sides; ++j) {
  ctx[j === 0 ? 'moveTo' : 'lineTo'](
  Math.cos(j * coeff + angle) * radius * ratio,
  Math.sin(j * coeff + angle) * radius * ratio
  );
  }
  }
  }
   
  function drawGridLines(ticks, callback) {
  _.each(_.pluck(ticks, 'v'), function (v) {
  // Don't show lines on upper and lower bounds.
  if ((v <= a.min || v >= a.max) ||
  (v == a.min || v == a.max) && grid.outlineWidth)
  return;
  callback(Math.floor(a.d2p(v)) + ctx.lineWidth / 2);
  });
  }
   
  function drawVerticalLines(x) {
  ctx.moveTo(x, 0);
  ctx.lineTo(x, plotHeight);
  }
   
  function drawHorizontalLines(y) {
  ctx.moveTo(0, y);
  ctx.lineTo(plotWidth, y);
  }
   
  if (grid.circular) {
  ctx.translate(this.plotOffset.left + plotWidth / 2, this.plotOffset.top + plotHeight / 2);
  var radius = Math.min(plotHeight, plotWidth) * options.radar.radiusRatio / 2,
  sides = this.axes.x.ticks.length,
  coeff = 2 * (Math.PI / sides),
  angle = -Math.PI / 2;
   
  // Draw grid lines in vertical direction.
  ctx.beginPath();
   
  a = this.axes.y;
   
  if (horizontalLines) {
  circularHorizontalTicks(a.ticks);
  }
  if (minorHorizontalLines) {
  circularHorizontalTicks(a.minorTicks);
  }
   
  if (verticalLines) {
  _.times(sides, function (i) {
  ctx.moveTo(0, 0);
  ctx.lineTo(Math.cos(i * coeff + angle) * radius, Math.sin(i * coeff + angle) * radius);
  });
  }
  ctx.stroke();
  }
  else {
  ctx.translate(this.plotOffset.left, this.plotOffset.top);
   
  // Draw grid background, if present in options.
  if (grid.backgroundColor) {
  ctx.fillStyle = this.processColor(grid.backgroundColor, {x1: 0, y1: 0, x2: plotWidth, y2: plotHeight});
  ctx.fillRect(0, 0, plotWidth, plotHeight);
  }
   
  ctx.beginPath();
   
  a = this.axes.x;
  if (verticalLines) drawGridLines(a.ticks, drawVerticalLines);
  if (minorVerticalLines) drawGridLines(a.minorTicks, drawVerticalLines);
   
  a = this.axes.y;
  if (horizontalLines) drawGridLines(a.ticks, drawHorizontalLines);
  if (minorHorizontalLines) drawGridLines(a.minorTicks, drawHorizontalLines);
   
  ctx.stroke();
  }
   
  ctx.restore();
  if (verticalLines || minorVerticalLines ||
  horizontalLines || minorHorizontalLines) {
  E.fire(this.el, 'flotr:aftergrid', [this.axes.x, this.axes.y, options, this]);
  }
  },
   
  drawOutline: function () {
  var
  that = this,
  options = that.options,
  grid = options.grid,
  outline = grid.outline,
  ctx = that.ctx,
  backgroundImage = grid.backgroundImage,
  plotOffset = that.plotOffset,
  leftOffset = plotOffset.left,
  topOffset = plotOffset.top,
  plotWidth = that.plotWidth,
  plotHeight = that.plotHeight,
  v, img, src, left, top, globalAlpha;
   
  if (!grid.outlineWidth) return;
   
  ctx.save();
   
  if (grid.circular) {
  ctx.translate(leftOffset + plotWidth / 2, topOffset + plotHeight / 2);
  var radius = Math.min(plotHeight, plotWidth) * options.radar.radiusRatio / 2,
  sides = this.axes.x.ticks.length,
  coeff = 2 * (Math.PI / sides),
  angle = -Math.PI / 2;
   
  // Draw axis/grid border.
  ctx.beginPath();
  ctx.lineWidth = grid.outlineWidth;
  ctx.strokeStyle = grid.color;
  ctx.lineJoin = 'round';
   
  for (i = 0; i <= sides; ++i) {
  ctx[i === 0 ? 'moveTo' : 'lineTo'](Math.cos(i * coeff + angle) * radius, Math.sin(i * coeff + angle) * radius);
  }
  //ctx.arc(0, 0, radius, 0, Math.PI*2, true);
   
  ctx.stroke();
  }
  else {
  ctx.translate(leftOffset, topOffset);
   
  // Draw axis/grid border.
  var lw = grid.outlineWidth,
  orig = 0.5 - lw + ((lw + 1) % 2 / 2),
  lineTo = 'lineTo',
  moveTo = 'moveTo';
  ctx.lineWidth = lw;
  ctx.strokeStyle = grid.color;
  ctx.lineJoin = 'miter';
  ctx.beginPath();
  ctx.moveTo(orig, orig);
  plotWidth = plotWidth - (lw / 2) % 1;
  plotHeight = plotHeight + lw / 2;
  ctx[outline.indexOf('n') !== -1 ? lineTo : moveTo](plotWidth, orig);
  ctx[outline.indexOf('e') !== -1 ? lineTo : moveTo](plotWidth, plotHeight);
  ctx[outline.indexOf('s') !== -1 ? lineTo : moveTo](orig, plotHeight);
  ctx[outline.indexOf('w') !== -1 ? lineTo : moveTo](orig, orig);
  ctx.stroke();
  ctx.closePath();
  }
   
  ctx.restore();
   
  if (backgroundImage) {
   
  src = backgroundImage.src || backgroundImage;
  left = (parseInt(backgroundImage.left, 10) || 0) + plotOffset.left;
  top = (parseInt(backgroundImage.top, 10) || 0) + plotOffset.top;
  img = new Image();
   
  img.onload = function () {
  ctx.save();
  if (backgroundImage.alpha) ctx.globalAlpha = backgroundImage.alpha;
  ctx.globalCompositeOperation = 'destination-over';
  ctx.drawImage(img, 0, 0, img.width, img.height, left, top, plotWidth, plotHeight);
  ctx.restore();
  };
   
  img.src = src;
  }
  }
  });
   
  })();
   
  (function () {
   
var var
data = options.data, D = Flotr.DOM,
context = options.context, _ = Flotr._,
radius = Math.min(options.height, options.width) * options.radiusRatio / 2, flotr = Flotr,
step = 2 * Math.PI / data.length, S_MOUSETRACK = 'opacity:0.7;background-color:#000;color:#fff;display:none;position:absolute;padding:2px 8px;-moz-border-radius:4px;border-radius:4px;white-space:nowrap;';
angle = -Math.PI / 2,  
i, ratio; Flotr.addPlugin('hit', {
  callbacks: {
offset = offset || 0; 'flotr:mousemove': function (e, pos) {
  this.hit.track(pos);
context.beginPath(); },
for (i = 0; i < data.length; ++i) { 'flotr:click': function (pos) {
ratio = data[i][1] / this.max; this.hit.track(pos);
  },
context[i === 0 ? 'moveTo' : 'lineTo']( 'flotr:mouseout': function () {
Math.cos(i * step + angle) * radius * ratio + offset, this.hit.clearHit();
Math.sin(i * step + angle) * radius * ratio + offset }
); },
} track: function (pos) {
context.closePath(); if (this.options.mouse.track || _.any(this.series, function (s) {
if (options.fill) context.fill(); return s.mouse && s.mouse.track;
context.stroke(); })) {
}, this.hit.hit(pos);
extendYRange : function (axis, data) { }
this.max = Math.max(axis.max, this.max || -Number.MAX_VALUE); },
} /**
}); * Try a method on a graph type. If the method exists, execute it.
  * @param {Object} series
Flotr.addType('timeline', { * @param {String} method Method name.
options: { * @param {Array} args Arguments applied to method.
show: false, * @return executed successfully or failed.
lineWidth: 1, */
barWidth: 0.2, executeOnType: function (s, method, args) {
fill: true, var
fillColor: null, success = false,
fillOpacity: 0.4, options;
centered: true  
}, if (!_.isArray(s)) s = [s];
   
draw : function (options) { function e(s, index) {
  _.each(_.keys(flotr.graphTypes), function (type) {
var if (s[type] && s[type].show && this[type][method]) {
context = options.context; options = this.getOptions(s, type);
   
context.save(); options.fill = !!s.mouse.fillColor;
context.lineJoin = 'miter'; options.fillStyle = this.processColor(s.mouse.fillColor || '#ffffff', {opacity: s.mouse.fillOpacity});
context.lineWidth = options.lineWidth; options.color = s.mouse.lineColor;
context.strokeStyle = options.color; options.context = this.octx;
context.fillStyle = options.fillStyle; options.index = index;
   
this.plot(options); if (args) options.args = args;
  this[type][method].call(this[type], options);
context.restore(); success = true;
}, }
  }, this);
plot : function (options) { }
   
var _.each(s, e, this);
data = options.data,  
context = options.context, return success;
xScale = options.xScale, },
yScale = options.yScale, /**
barWidth = options.barWidth, * Updates the mouse tracking point on the overlay.
lineWidth = options.lineWidth, */
i; drawHit: function (n) {
  var octx = this.octx,
Flotr._.each(data, function (timeline) { s = n.series;
   
var if (s.mouse.lineColor) {
x = timeline[0], octx.save();
y = timeline[1], octx.lineWidth = (s.points ? s.points.lineWidth : 1);
w = timeline[2], octx.strokeStyle = s.mouse.lineColor;
h = barWidth, octx.fillStyle = this.processColor(s.mouse.fillColor || '#ffffff', {opacity: s.mouse.fillOpacity});
  octx.translate(this.plotOffset.left, this.plotOffset.top);
xt = Math.ceil(xScale(x)),  
wt = Math.ceil(xScale(x + w)) - xt, if (!this.hit.executeOnType(s, 'drawHit', n)) {
yt = Math.round(yScale(y)), var xa = n.xaxis,
ht = Math.round(yScale(y - h)) - yt, ya = n.yaxis;
   
x0 = xt - lineWidth / 2, octx.beginPath();
y0 = Math.round(yt - ht / 2) - lineWidth / 2; // TODO fix this (points) should move to general testable graph mixin
  octx.arc(xa.d2p(n.x), ya.d2p(n.y), s.points.radius || s.mouse.radius, 0, 2 * Math.PI, true);
context.strokeRect(x0, y0, wt, ht); octx.fill();
context.fillRect(x0, y0, wt, ht); octx.stroke();
  octx.closePath();
  }
  octx.restore();
  this.clip(octx);
  }
  this.prevHit = n;
  },
  /**
  * Removes the mouse tracking point from the overlay.
  */
  clearHit: function () {
  var prev = this.prevHit,
  octx = this.octx,
  plotOffset = this.plotOffset;
  octx.save();
  octx.translate(plotOffset.left, plotOffset.top);
  if (prev) {
  if (!this.hit.executeOnType(prev.series, 'clearHit', this.prevHit)) {
  // TODO fix this (points) should move to general testable graph mixin
  var
  s = prev.series,
  lw = (s.points ? s.points.lineWidth : 1);
  offset = (s.points.radius || s.mouse.radius) + lw;
  octx.clearRect(
  prev.xaxis.d2p(prev.x) - offset,
  prev.yaxis.d2p(prev.y) - offset,
  offset * 2,
  offset * 2
  );
  }
  D.hide(this.mouseTrack);
  this.prevHit = null;
  }
  octx.restore();
  },
  /**
  * Retrieves the nearest data point from the mouse cursor. If it's within
  * a certain range, draw a point on the overlay canvas and display the x and y
  * value of the data.
  * @param {Object} mouse - Object that holds the relative x and y coordinates of the cursor.
  */
  hit: function (mouse) {
   
  var
  options = this.options,
  prevHit = this.prevHit,
  closest, sensibility, dataIndex, seriesIndex, series, value, xaxis, yaxis;
   
  if (this.series.length === 0) return;
   
  // Nearest data element.
  // dist, x, y, relX, relY, absX, absY, sAngle, eAngle, fraction, mouse,
  // xaxis, yaxis, series, index, seriesIndex
  n = {
  relX: mouse.relX,
  relY: mouse.relY,
  absX: mouse.absX,
  absY: mouse.absY
  };
   
  if (options.mouse.trackY && !options.mouse.trackAll &&
  this.hit.executeOnType(this.series, 'hit', [mouse, n])) {
   
  if (!_.isUndefined(n.seriesIndex)) {
  series = this.series[n.seriesIndex];
  n.series = series;
  n.mouse = series.mouse;
  n.xaxis = series.xaxis;
  n.yaxis = series.yaxis;
  }
  } else {
   
  closest = this.hit.closest(mouse);
   
  if (closest) {
   
  closest = options.mouse.trackY ? closest.point : closest.x;
  seriesIndex = closest.seriesIndex;
  series = this.series[seriesIndex];
  xaxis = series.xaxis;
  yaxis = series.yaxis;
  sensibility = 2 * series.mouse.sensibility;
   
  if
  (options.mouse.trackAll ||
  (closest.distanceX < sensibility / xaxis.scale &&
  (!options.mouse.trackY || closest.distanceY < sensibility / yaxis.scale))) {
  n.series = series;
  n.xaxis = series.xaxis;
  n.yaxis = series.yaxis;
  n.mouse = series.mouse;
  n.x = closest.x;
  n.y = closest.y;
  n.dist = closest.distance;
  n.index = closest.dataIndex;
  n.seriesIndex = seriesIndex;
  }
  }
  }
   
  if (!prevHit || (prevHit.index !== n.index || prevHit.seriesIndex !== n.seriesIndex)) {
  this.hit.clearHit();
  if (n.series && n.mouse && n.mouse.track) {
  this.hit.drawMouseTrack(n);
  this.hit.drawHit(n);
  Flotr.EventAdapter.fire(this.el, 'flotr:hit', [n, this]);
  }
  }
  },
   
  closest: function (mouse) {
   
  var
  series = this.series,
  options = this.options,
  relX = mouse.relX,
  relY = mouse.relY,
  compare = Number.MAX_VALUE,
  compareX = Number.MAX_VALUE,
  closest = {},
  closestX = {},
  check = false,
  serie, data,
  distance, distanceX, distanceY,
  mouseX, mouseY,
  x, y, i, j;
   
  function setClosest(o) {
  o.distance = distance;
  o.distanceX = distanceX;
  o.distanceY = distanceY;
  o.seriesIndex = i;
  o.dataIndex = j;
  o.x = x;
  o.y = y;
  }
   
  for (i = 0; i < series.length; i++) {
   
  serie = series[i];
  data = serie.data;
  mouseX = serie.xaxis.p2d(relX);
  mouseY = serie.yaxis.p2d(relY);
   
  if (data.length) check = true;
   
  for (j = data.length; j--;) {
   
  x = data[j][0];
  y = data[j][1];
   
  if (x === null || y === null) continue;
   
  // don't check if the point isn't visible in the current range
  if (x < serie.xaxis.min || x > serie.xaxis.max) continue;
   
  distanceX = Math.abs(x - mouseX);
  distanceY = Math.abs(y - mouseY);
   
  // Skip square root for speed
  distance = distanceX * distanceX + distanceY * distanceY;
   
  if (distance < compare) {
  compare = distance;
  setClosest(closest);
  }
   
  if (distanceX < compareX) {
  compareX = distanceX;
  setClosest(closestX);
  }
  }
  }
   
  return check ? {
  point: closest,
  x: closestX
  } : false;
  },
   
  drawMouseTrack: function (n) {
   
  var
  pos = '',
  s = n.series,
  p = n.mouse.position,
  m = n.mouse.margin,
  elStyle = S_MOUSETRACK,
  mouseTrack = this.mouseTrack,
  plotOffset = this.plotOffset,
  left = plotOffset.left,
  right = plotOffset.right,
  bottom = plotOffset.bottom,
  top = plotOffset.top,
  decimals = n.mouse.trackDecimals,
  options = this.options;
   
  // Create
  if (!mouseTrack) {
  mouseTrack = D.node('<div class="flotr-mouse-value"></div>');
  this.mouseTrack = mouseTrack;
  D.insert(this.el, mouseTrack);
  }
   
  if (!n.mouse.relative) { // absolute to the canvas
   
  if (p.charAt(0) == 'n') pos += 'top:' + (m + top) + 'px;bottom:auto;';
  else if (p.charAt(0) == 's') pos += 'bottom:' + (m + bottom) + 'px;top:auto;';
  if (p.charAt(1) == 'e') pos += 'right:' + (m + right) + 'px;left:auto;';
  else if (p.charAt(1) == 'w') pos += 'left:' + (m + left) + 'px;right:auto;';
   
  // Bars
  } else if (s.bars.show) {
  pos += 'bottom:' + (m - top - n.yaxis.d2p(n.y / 2) + this.canvasHeight) + 'px;top:auto;';
  pos += 'left:' + (m + left + n.xaxis.d2p(n.x - options.bars.barWidth / 2)) + 'px;right:auto;';
   
  // Pie
  } else if (s.pie.show) {
  var center = {
  x: (this.plotWidth) / 2,
  y: (this.plotHeight) / 2
  },
  radius = (Math.min(this.canvasWidth, this.canvasHeight) * s.pie.sizeRatio) / 2,
  bisection = n.sAngle < n.eAngle ? (n.sAngle + n.eAngle) / 2 : (n.sAngle + n.eAngle + 2 * Math.PI) / 2;
   
  pos += 'bottom:' + (m - top - center.y - Math.sin(bisection) * radius / 2 + this.canvasHeight) + 'px;top:auto;';
  pos += 'left:' + (m + left + center.x + Math.cos(bisection) * radius / 2) + 'px;right:auto;';
   
  // Default
  } else {
  if (p.charAt(0) == 'n') pos += 'bottom:' + (m - top - n.yaxis.d2p(n.y) + this.canvasHeight) + 'px;top:auto;';
  else if (p.charAt(0) == 's') pos += 'top:' + (m + top + n.yaxis.d2p(n.y)) + 'px;bottom:auto;';
  if (p.charAt(1) == 'e') pos += 'left:' + (m + left + n.xaxis.d2p(n.x)) + 'px;right:auto;';
  else if (p.charAt(1) == 'w') pos += 'right:' + (m - left - n.xaxis.d2p(n.x) + this.canvasWidth) + 'px;left:auto;';
  }
   
  elStyle += pos;
  mouseTrack.style.cssText = elStyle;
   
  if (!decimals || decimals < 0) decimals = 0;
   
  mouseTrack.innerHTML = n.mouse.trackFormatter({
  x: n.x.toFixed(decimals),
  y: n.y.toFixed(decimals),
  series: n.series,
  index: n.index,
  nearest: n,
  fraction: n.fraction
  });
   
  D.show(mouseTrack);
  }
   
}); });
},  
   
extendRange : function (series) {  
   
var  
data = series.data,  
xa = series.xaxis,  
ya = series.yaxis,  
w = series.timeline.barWidth;  
   
if (xa.options.min === null)  
xa.min = xa.datamin - w / 2;  
   
if (xa.options.max === null) {  
   
var  
max = xa.max;  
   
Flotr._.each(data, function (timeline) {  
max = Math.max(max, timeline[0] + timeline[2]);  
}, this);  
   
xa.max = max + w / 2;  
}  
   
if (ya.options.min === null)  
ya.min = ya.datamin - w;  
if (ya.options.min === null)  
ya.max = ya.datamax + w;  
}  
   
});  
   
(function () {  
   
var D = Flotr.DOM;  
   
Flotr.addPlugin('crosshair', {  
options: {  
mode: null, // => one of null, 'x', 'y' or 'xy'  
color: '#FF0000', // => crosshair color  
hideCursor: true // => hide the cursor when the crosshair is shown  
},  
callbacks: {  
'flotr:mousemove': function(e, pos) {  
if (this.options.crosshair.mode) {  
this.crosshair.clearCrosshair();  
this.crosshair.drawCrosshair(pos);  
}  
}  
},  
/**  
* Draws the selection box.  
*/  
drawCrosshair: function(pos) {  
var octx = this.octx,  
options = this.options.crosshair,  
plotOffset = this.plotOffset,  
x = plotOffset.left + pos.relX + 0.5,  
y = plotOffset.top + pos.relY + 0.5;  
   
if (pos.relX < 0 || pos.relY < 0 || pos.relX > this.plotWidth || pos.relY > this.plotHeight) {  
this.el.style.cursor = null;  
D.removeClass(this.el, 'flotr-crosshair');  
return;  
}  
   
if (options.hideCursor) {  
this.el.style.cursor = 'none';  
D.addClass(this.el, 'flotr-crosshair');  
}  
   
octx.save();  
octx.strokeStyle = options.color;  
octx.lineWidth = 1;  
octx.beginPath();  
   
if (options.mode.indexOf('x') != -1) {  
octx.moveTo(x, plotOffset.top);  
octx.lineTo(x, plotOffset.top + this.plotHeight);  
}  
   
if (options.mode.indexOf('y') != -1) {  
octx.moveTo(plotOffset.left, y);  
octx.lineTo(plotOffset.left + this.plotWidth, y);  
}  
   
octx.stroke();  
octx.restore();  
},  
/**  
* Removes the selection box from the overlay canvas.  
*/  
clearCrosshair: function() {  
   
var  
plotOffset = this.plotOffset,  
position = this.lastMousePos,  
context = this.octx;  
   
if (position) {  
context.clearRect(  
position.relX + plotOffset.left,  
plotOffset.top,  
1,  
this.plotHeight + 1  
);  
context.clearRect(  
plotOffset.left,  
position.relY + plotOffset.top,  
this.plotWidth + 1,  
1  
);  
}  
}  
});  
})(); })();
   
(function() { /**
   
var  
D = Flotr.DOM,  
_ = Flotr._;  
   
function getImage (type, canvas, width, height) {  
   
// TODO add scaling for w / h  
var  
mime = 'image/'+type,  
data = canvas.toDataURL(mime),  
image = new Image();  
image.src = data;  
return image;  
}  
   
Flotr.addPlugin('download', {  
   
saveImage: function (type, width, height, replaceCanvas) {  
var image = null;  
if (Flotr.isIE && Flotr.isIE < 9) {  
image = '<html><body>'+this.canvas.firstChild.innerHTML+'</body></html>';  
return window.open().document.write(image);  
}  
   
if (type !== 'jpeg' && type !== 'png') return;  
   
image = getImage(type, this.canvas, width, height);  
   
if (_.isElement(image) && replaceCanvas) {  
this.download.restoreCanvas();  
D.hide(this.canvas);  
D.hide(this.overlay);  
D.setStyles({position: 'absolute'});  
D.insert(this.el, image);  
this.saveImageElement = image;  
} else {  
return window.open(image.src);  
}  
},  
   
restoreCanvas: function() {  
D.show(this.canvas);  
D.show(this.overlay);  
if (this.saveImageElement) this.el.removeChild(this.saveImageElement);  
this.saveImageElement = null;  
}  
});  
   
})();  
   
(function () {  
   
var E = Flotr.EventAdapter,  
_ = Flotr._;  
   
Flotr.addPlugin('graphGrid', {  
   
callbacks: {  
'flotr:beforedraw' : function () {  
this.graphGrid.drawGrid();  
},  
'flotr:afterdraw' : function () {  
this.graphGrid.drawOutline();  
}  
},  
   
drawGrid: function(){  
   
var  
ctx = this.ctx,  
options = this.options,  
grid = options.grid,  
verticalLines = grid.verticalLines,  
horizontalLines = grid.horizontalLines,  
minorVerticalLines = grid.minorVerticalLines,  
minorHorizontalLines = grid.minorHorizontalLines,  
plotHeight = this.plotHeight,  
plotWidth = this.plotWidth,  
a, v, i, j;  
   
if(verticalLines || minorVerticalLines ||  
horizontalLines || minorHorizontalLines){  
E.fire(this.el, 'flotr:beforegrid', [this.axes.x, this.axes.y, options, this]);  
}  
ctx.save();  
ctx.lineWidth = 1;  
ctx.strokeStyle = grid.tickColor;  
   
function circularHorizontalTicks (ticks) {  
for(i = 0; i < ticks.length; ++i){  
var ratio = ticks[i].v / a.max;  
for(j = 0; j <= sides; ++j){  
ctx[j === 0 ? 'moveTo' : 'lineTo'](  
Math.cos(j*coeff+angle)*radius*ratio,  
Math.sin(j*coeff+angle)*radius*ratio  
);  
}  
}  
}  
function drawGridLines (ticks, callback) {  
_.each(_.pluck(ticks, 'v'), function(v){  
// Don't show lines on upper and lower bounds.  
if ((v <= a.min || v >= a.max) ||  
(v == a.min || v == a.max) && grid.outlineWidth)  
return;  
callback(Math.floor(a.d2p(v)) + ctx.lineWidth/2);  
});  
}  
function drawVerticalLines (x) {  
ctx.moveTo(x, 0);  
ctx.lineTo(x, plotHeight);  
}  
function drawHorizontalLines (y) {  
ctx.moveTo(0, y);  
ctx.lineTo(plotWidth, y);  
}  
   
if (grid.circular) {  
ctx.translate(this.plotOffset.left+plotWidth/2, this.plotOffset.top+plotHeight/2);  
var radius = Math.min(plotHeight, plotWidth)*options.radar.radiusRatio/2,  
sides = this.axes.x.ticks.length,  
coeff = 2*(Math.PI/sides),  
angle = -Math.PI/2;  
   
// Draw grid lines in vertical direction.  
ctx.beginPath();  
   
a = this.axes.y;  
   
if(horizontalLines){  
circularHorizontalTicks(a.ticks);  
}  
if(minorHorizontalLines){  
circularHorizontalTicks(a.minorTicks);  
}  
   
if(verticalLines){  
_.times(sides, function(i){  
ctx.moveTo(0, 0);  
ctx.lineTo(Math.cos(i*coeff+angle)*radius, Math.sin(i*coeff+angle)*radius);  
});  
}  
ctx.stroke();  
}  
else {  
ctx.translate(this.plotOffset.left, this.plotOffset.top);  
   
// Draw grid background, if present in options.  
if(grid.backgroundColor){  
ctx.fillStyle = this.processColor(grid.backgroundColor, {x1: 0, y1: 0, x2: plotWidth, y2: plotHeight});  
ctx.fillRect(0, 0, plotWidth, plotHeight);  
}  
   
ctx.beginPath();  
   
a = this.axes.x;  
if (verticalLines) drawGridLines(a.ticks, drawVerticalLines);  
if (minorVerticalLines) drawGridLines(a.minorTicks, drawVerticalLines);  
   
a = this.axes.y;  
if (horizontalLines) drawGridLines(a.ticks, drawHorizontalLines);  
if (minorHorizontalLines) drawGridLines(a.minorTicks, drawHorizontalLines);  
   
ctx.stroke();  
}  
   
ctx.restore();  
if(verticalLines || minorVerticalLines ||  
horizontalLines || minorHorizontalLines){  
E.fire(this.el, 'flotr:aftergrid', [this.axes.x, this.axes.y, options, this]);  
}  
},  
   
drawOutline: function(){  
var  
that = this,  
options = that.options,  
grid = options.grid,  
outline = grid.outline,  
ctx = that.ctx,  
backgroundImage = grid.backgroundImage,  
plotOffset = that.plotOffset,  
leftOffset = plotOffset.left,  
topOffset = plotOffset.top,  
plotWidth = that.plotWidth,  
plotHeight = that.plotHeight,  
v, img, src, left, top, globalAlpha;  
   
if (!grid.outlineWidth) return;  
   
ctx.save();  
   
if (grid.circular) {  
ctx.translate(leftOffset + plotWidth / 2, topOffset + plotHeight / 2);  
var radius = Math.min(plotHeight, plotWidth) * options.radar.radiusRatio / 2,  
sides = this.axes.x.ticks.length,  
coeff = 2*(Math.PI/sides),  
angle = -Math.PI/2;  
   
// Draw axis/grid border.  
ctx.beginPath();  
ctx.lineWidth = grid.outlineWidth;  
ctx.strokeStyle = grid.color;  
ctx.lineJoin = 'round';  
   
for(i = 0; i <= sides; ++i){  
ctx[i === 0 ? 'moveTo' : 'lineTo'](Math.cos(i*coeff+angle)*radius, Math.sin(i*coeff+angle)*radius);  
}  
//ctx.arc(0, 0, radius, 0, Math.PI*2, true);  
   
ctx.stroke();  
}  
else {  
ctx.translate(leftOffset, topOffset);  
   
// Draw axis/grid border.  
var lw = grid.outlineWidth,  
orig = 0.5-lw+((lw+1)%2/2),  
lineTo = 'lineTo',  
moveTo = 'moveTo';  
ctx.lineWidth = lw;  
ctx.strokeStyle = grid.color;  
ctx.lineJoin = 'miter';  
ctx.beginPath();  
ctx.moveTo(orig, orig);  
plotWidth = plotWidth - (lw / 2) % 1;  
plotHeight = plotHeight + lw / 2;  
ctx[outline.indexOf('n') !== -1 ? lineTo : moveTo](plotWidth, orig);  
ctx[outline.indexOf('e') !== -1 ? lineTo : moveTo](plotWidth, plotHeight);  
ctx[outline.indexOf('s') !== -1 ? lineTo : moveTo](orig, plotHeight);  
ctx[outline.indexOf('w') !== -1 ? lineTo : moveTo](orig, orig);  
ctx.stroke();  
ctx.closePath();  
}  
   
ctx.restore();  
   
if (backgroundImage) {  
   
src = backgroundImage.src || backgroundImage;  
left = (parseInt(backgroundImage.left, 10) || 0) + plotOffset.left;  
top = (parseInt(backgroundImage.top, 10) || 0) + plotOffset.top;  
img = new Image();  
   
img.onload = function() {  
ctx.save();  
if (backgroundImage.alpha) ctx.globalAlpha = backgroundImage.alpha;  
ctx.globalCompositeOperation = 'destination-over';  
ctx.drawImage(img, 0, 0, img.width, img.height, left, top, plotWidth, plotHeight);  
ctx.restore();  
};  
   
img.src = src;  
}  
}  
});  
   
})();  
   
(function () {  
   
var  
D = Flotr.DOM,  
_ = Flotr._,  
flotr = Flotr,  
S_MOUSETRACK = 'opacity:0.7;background-color:#000;color:#fff;display:none;position:absolute;padding:2px 8px;-moz-border-radius:4px;border-radius:4px;white-space:nowrap;';  
   
Flotr.addPlugin('hit', {  
callbacks: {  
'flotr:mousemove': function(e, pos) {  
this.hit.track(pos);  
},  
'flotr:click': function(pos) {  
this.hit.track(pos);  
},  
'flotr:mouseout': function() {  
this.hit.clearHit();  
}  
},  
track : function (pos) {  
if (this.options.mouse.track || _.any(this.series, function(s){return s.mouse && s.mouse.track;})) {  
this.hit.hit(pos);  
}  
},  
/**  
* Try a method on a graph type. If the method exists, execute it.  
* @param {Object} series  
* @param {String} method Method name.  
* @param {Array} args Arguments applied to method.  
* @return executed successfully or failed.  
*/  
executeOnType: function(s, method, args){  
var  
success = false,  
options;  
   
if (!_.isArray(s)) s = [s];  
   
function e(s, index) {  
_.each(_.keys(flotr.graphTypes), function (type) {  
if (s[type] && s[type].show && this[type][method]) {  
options = this.getOptions(s, type);  
   
options.fill = !!s.mouse.fillColor;  
options.fillStyle = this.processColor(s.mouse.fillColor || '#ffffff', {opacity: s.mouse.fillOpacity});  
options.color = s.mouse.lineColor;  
options.context = this.octx;  
options.index = index;  
   
if (args) options.args = args;  
this[type][method].call(this[type], options);  
success = true;  
}  
}, this);  
}  
_.each(s, e, this);  
   
return success;  
},  
/**  
* Updates the mouse tracking point on the overlay.  
*/  
drawHit: function(n){  
var octx = this.octx,  
s = n.series;  
   
if (s.mouse.lineColor) {  
octx.save();  
octx.lineWidth = (s.points ? s.points.lineWidth : 1);  
octx.strokeStyle = s.mouse.lineColor;  
octx.fillStyle = this.processColor(s.mouse.fillColor || '#ffffff', {opacity: s.mouse.fillOpacity});  
octx.translate(this.plotOffset.left, this.plotOffset.top);  
   
if (!this.hit.executeOnType(s, 'drawHit', n)) {  
var xa = n.xaxis,  
ya = n.yaxis;  
   
octx.beginPath();  
// TODO fix this (points) should move to general testable graph mixin  
octx.arc(xa.d2p(n.x), ya.d2p(n.y), s.points.radius || s.mouse.radius, 0, 2 * Math.PI, true);  
octx.fill();  
octx.stroke();  
octx.closePath();  
}  
octx.restore();  
this.clip(octx);  
}  
this.prevHit = n;  
},  
/**  
* Removes the mouse tracking point from the overlay.  
*/  
clearHit: function(){  
var prev = this.prevHit,  
octx = this.octx,  
plotOffset = this.plotOffset;  
octx.save();  
octx.translate(plotOffset.left, plotOffset.top);  
if (prev) {  
if (!this.hit.executeOnType(prev.series, 'clearHit', this.prevHit)) {  
// TODO fix this (points) should move to general testable graph mixin  
var  
s = prev.series,  
lw = (s.points ? s.points.lineWidth : 1);  
offset = (s.points.radius || s.mouse.radius) + lw;  
octx.clearRect(  
prev.xaxis.d2p(prev.x) - offset,  
prev.yaxis.d2p(prev.y) - offset,  
offset*2,  
offset*2  
);  
}  
D.hide(this.mouseTrack);  
this.prevHit = null;  
}  
octx.restore();  
},  
/**  
* Retrieves the nearest data point from the mouse cursor. If it's within  
* a certain range, draw a point on the overlay canvas and display the x and y  
* value of the data.  
* @param {Object} mouse - Object that holds the relative x and y coordinates of the cursor.  
*/  
hit: function(mouse){  
   
var  
options = this.options,  
prevHit = this.prevHit,  
closest, sensibility, dataIndex, seriesIndex, series, value, xaxis, yaxis;  
   
if (this.series.length === 0) return;  
   
// Nearest data element.  
// dist, x, y, relX, relY, absX, absY, sAngle, eAngle, fraction, mouse,  
// xaxis, yaxis, series, index, seriesIndex  
n = {  
relX : mouse.relX,  
relY : mouse.relY,  
absX : mouse.absX,  
absY : mouse.absY  
};  
   
if (options.mouse.trackY &&  
!options.mouse.trackAll &&  
this.hit.executeOnType(this.series, 'hit', [mouse, n]))  
{  
   
if (!_.isUndefined(n.seriesIndex)) {  
series = this.series[n.seriesIndex];  
n.series = series;  
n.mouse = series.mouse;  
n.xaxis = series.xaxis;  
n.yaxis = series.yaxis;  
}  
} else {  
   
closest = this.hit.closest(mouse);  
   
if (closest) {  
   
closest = options.mouse.trackY ? closest.point : closest.x;  
seriesIndex = closest.seriesIndex;  
series = this.series[seriesIndex];  
xaxis = series.xaxis;  
yaxis = series.yaxis;  
sensibility = 2 * series.mouse.sensibility;  
   
if  
(options.mouse.trackAll ||  
(closest.distanceX < sensibility / xaxis.scale &&  
(!options.mouse.trackY || closest.distanceY < sensibility / yaxis.scale)))  
{  
n.series = series;  
n.xaxis = series.xaxis;  
n.yaxis = series.yaxis;  
n.mouse = series.mouse;  
n.x = closest.x;  
n.y = closest.y;  
n.dist = closest.distance;  
n.index = closest.dataIndex;  
n.seriesIndex = seriesIndex;  
}  
}  
}  
   
if (!prevHit || (prevHit.index !== n.index || prevHit.seriesIndex !== n.seriesIndex)) {  
this.hit.clearHit();  
if (n.series && n.mouse && n.mouse.track) {  
this.hit.drawMouseTrack(n);  
this.hit.drawHit(n);  
Flotr.EventAdapter.fire(this.el, 'flotr:hit', [n, this]);  
}  
}  
},  
   
closest : function (mouse) {  
   
var  
series = this.series,  
options = this.options,  
relX = mouse.relX,  
relY = mouse.relY,  
compare = Number.MAX_VALUE,  
compareX = Number.MAX_VALUE,  
closest = {},  
closestX = {},  
check = false,  
serie, data,  
distance, distanceX, distanceY,  
mouseX, mouseY,  
x, y, i, j;  
   
function setClosest (o) {  
o.distance = distance;  
o.distanceX = distanceX;  
o.distanceY = distanceY;  
o.seriesIndex = i;  
o.dataIndex = j;  
o.x = x;  
o.y = y;  
}  
   
for (i = 0; i < series.length; i++) {  
   
serie = series[i];  
data = serie.data;  
mouseX = serie.xaxis.p2d(relX);  
mouseY = serie.yaxis.p2d(relY);  
   
if (data.length) check = true;  
   
for (j = data.length; j--;) {  
   
x = data[j][0];  
y = data[j][1];  
   
if (x === null || y === null) continue;  
   
// don't check if the point isn't visible in the current range  
if (x < serie.xaxis.min || x > serie.xaxis.max) continue;  
   
distanceX = Math.abs(x - mouseX);  
distanceY = Math.abs(y - mouseY);  
   
// Skip square root for speed  
distance = distanceX * distanceX + distanceY * distanceY;  
   
if (distance < compare) {  
compare = distance;  
setClosest(closest);  
}  
   
if (distanceX < compareX) {  
compareX = distanceX;  
setClosest(closestX);  
}  
}  
}  
   
return check ? {  
point : closest,  
x : closestX  
} : false;  
},  
   
drawMouseTrack : function (n) {  
   
var  
pos = '',  
s = n.series,  
p = n.mouse.position,  
m = n.mouse.margin,  
elStyle = S_MOUSETRACK,  
mouseTrack = this.mouseTrack,  
plotOffset = this.plotOffset,  
left = plotOffset.left,  
right = plotOffset.right,  
bottom = plotOffset.bottom,  
top = plotOffset.top,  
decimals = n.mouse.trackDecimals,  
options = this.options;  
   
// Create  
if (!mouseTrack) {  
mouseTrack = D.node('<div class="flotr-mouse-value"></div>');  
this.mouseTrack = mouseTrack;  
D.insert(this.el, mouseTrack);  
}  
   
if (!n.mouse.relative) { // absolute to the canvas  
   
if (p.charAt(0) == 'n') pos += 'top:' + (m + top) + 'px;bottom:auto;';  
else if (p.charAt(0) == 's') pos += 'bottom:' + (m + bottom) + 'px;top:auto;';  
if (p.charAt(1) == 'e') pos += 'right:' + (m + right) + 'px;left:auto;';  
else if (p.charAt(1) == 'w') pos += 'left:' + (m + left) + 'px;right:auto;';  
   
// Bars  
} else if (s.bars.show) {  
pos += 'bottom:' + (m - top - n.yaxis.d2p(n.y/2) + this.canvasHeight) + 'px;top:auto;';  
pos += 'left:' + (m + left + n.xaxis.d2p(n.x - options.bars.barWidth/2)) + 'px;right:auto;';  
   
// Pie  
} else if (s.pie.show) {  
var center = {  
x: (this.plotWidth)/2,  
y: (this.plotHeight)/2  
},  
radius = (Math.min(this.canvasWidth, this.canvasHeight) * s.pie.sizeRatio) / 2,  
bisection = n.sAngle<n.eAngle ? (n.sAngle + n.eAngle) / 2: (n.sAngle + n.eAngle + 2* Math.PI) / 2;  
   
pos += 'bottom:' + (m - top - center.y - Math.sin(bisection) * radius/2 + this.canvasHeight) + 'px;top:auto;';  
pos += 'left:' + (m + left + center.x + Math.cos(bisection) * radius/2) + 'px;right:auto;';  
   
// Default  
} else {  
if (p.charAt(0) == 'n') pos += 'bottom:' + (m - top - n.yaxis.d2p(n.y) + this.canvasHeight) + 'px;top:auto;';  
else if (p.charAt(0) == 's') pos += 'top:' + (m + top + n.yaxis.d2p(n.y)) + 'px;bottom:auto;';  
if (p.charAt(1) == 'e') pos += 'left:' + (m + left + n.xaxis.d2p(n.x)) + 'px;right:auto;';  
else if (p.charAt(1) == 'w') pos += 'right:' + (m - left - n.xaxis.d2p(n.x) + this.canvasWidth) + 'px;left:auto;';  
}  
   
elStyle += pos;  
mouseTrack.style.cssText = elStyle;  
   
if (!decimals || decimals < 0) decimals = 0;  
   
mouseTrack.innerHTML = n.mouse.trackFormatter({  
x: n.x.toFixed(decimals),  
y: n.y.toFixed(decimals),  
series: n.series,  
index: n.index,  
nearest: n,  
fraction: n.fraction  
});  
   
D.show(mouseTrack);  
}  
   
});  
})();  
   
/**  
* Selection Handles Plugin * Selection Handles Plugin
* *
* *
* Options * Options
* show - True enables the handles plugin. * show - True enables the handles plugin.
* drag - Left and Right drag handles * drag - Left and Right drag handles
* scroll - Scrolling handle * scroll - Scrolling handle
*/ */
(function () { (function () {
   
function isLeftClick (e, type) { function isLeftClick(e, type) {
return (e.which ? (e.which === 1) : (e.button === 0 || e.button === 1)); return (e.which ? (e.which === 1) : (e.button === 0 || e.button === 1));
}  
   
function boundX(x, graph) {  
return Math.min(Math.max(0, x), graph.plotWidth - 1);  
}  
   
function boundY(y, graph) {  
return Math.min(Math.max(0, y), graph.plotHeight);  
}  
   
var  
D = Flotr.DOM,  
E = Flotr.EventAdapter,  
_ = Flotr._;  
   
   
Flotr.addPlugin('selection', {  
   
options: {  
pinchOnly: null, // Only select on pinch  
mode: null, // => one of null, 'x', 'y' or 'xy'  
color: '#B6D9FF', // => selection box color  
fps: 20 // => frames-per-second  
},  
   
callbacks: {  
'flotr:mouseup' : function (event) {  
   
var  
options = this.options.selection,  
selection = this.selection,  
pointer = this.getEventPosition(event);  
   
if (!options || !options.mode) return;  
if (selection.interval) clearInterval(selection.interval);  
   
if (this.multitouches) {  
selection.updateSelection();  
} else  
if (!options.pinchOnly) {  
selection.setSelectionPos(selection.selection.second, pointer);  
}  
selection.clearSelection();  
   
if(selection.selecting && selection.selectionIsSane()){  
selection.drawSelection();  
selection.fireSelectEvent();  
this.ignoreClick = true;  
}  
},  
'flotr:mousedown' : function (event) {  
   
var  
options = this.options.selection,  
selection = this.selection,  
pointer = this.getEventPosition(event);  
   
if (!options || !options.mode) return;  
if (!options.mode || (!isLeftClick(event) && _.isUndefined(event.touches))) return;  
if (!options.pinchOnly) selection.setSelectionPos(selection.selection.first, pointer);  
if (selection.interval) clearInterval(selection.interval);  
   
this.lastMousePos.pageX = null;  
selection.selecting = false;  
selection.interval = setInterval(  
_.bind(selection.updateSelection, this),  
1000 / options.fps  
);  
},  
'flotr:destroy' : function (event) {  
clearInterval(this.selection.interval);  
} }
},  
  function boundX(x, graph) {
// TODO This isn't used. Maybe it belongs in the draw area and fire select event methods? return Math.min(Math.max(0, x), graph.plotWidth - 1);
getArea: function() {  
   
var s = this.selection.selection,  
first = s.first,  
second = s.second;  
   
return {  
x1: Math.min(first.x, second.x),  
x2: Math.max(first.x, second.x),  
y1: Math.min(first.y, second.y),  
y2: Math.max(first.y, second.y)  
};  
},  
   
selection: {first: {x: -1, y: -1}, second: {x: -1, y: -1}},  
prevSelection: null,  
interval: null,  
   
/**  
* Fires the 'flotr:select' event when the user made a selection.  
*/  
fireSelectEvent: function(name){  
var a = this.axes,  
s = this.selection.selection,  
x1, x2, y1, y2;  
   
name = name || 'select';  
   
x1 = a.x.p2d(s.first.x);  
x2 = a.x.p2d(s.second.x);  
y1 = a.y.p2d(s.first.y);  
y2 = a.y.p2d(s.second.y);  
   
E.fire(this.el, 'flotr:'+name, [{  
x1:Math.min(x1, x2),  
y1:Math.min(y1, y2),  
x2:Math.max(x1, x2),  
y2:Math.max(y1, y2),  
xfirst:x1, xsecond:x2, yfirst:y1, ysecond:y2  
}, this]);  
},  
   
/**  
* Allows the user the manually select an area.  
* @param {Object} area - Object with coordinates to select.  
*/  
setSelection: function(area, preventEvent){  
var options = this.options,  
xa = this.axes.x,  
ya = this.axes.y,  
vertScale = ya.scale,  
hozScale = xa.scale,  
selX = options.selection.mode.indexOf('x') != -1,  
selY = options.selection.mode.indexOf('y') != -1,  
s = this.selection.selection;  
   
this.selection.clearSelection();  
   
s.first.y = boundY((selX && !selY) ? 0 : (ya.max - area.y1) * vertScale, this);  
s.second.y = boundY((selX && !selY) ? this.plotHeight - 1: (ya.max - area.y2) * vertScale, this);  
s.first.x = boundX((selY && !selX) ? 0 : area.x1, this);  
s.second.x = boundX((selY && !selX) ? this.plotWidth : area.x2, this);  
   
this.selection.drawSelection();  
if (!preventEvent)  
this.selection.fireSelectEvent();  
},  
   
/**  
* Calculates the position of the selection.  
* @param {Object} pos - Position object.  
* @param {Event} event - Event object.  
*/  
setSelectionPos: function(pos, pointer) {  
var mode = this.options.selection.mode,  
selection = this.selection.selection;  
   
if(mode.indexOf('x') == -1) {  
pos.x = (pos == selection.first) ? 0 : this.plotWidth;  
}else{  
pos.x = boundX(pointer.relX, this);  
} }
   
if (mode.indexOf('y') == -1) { function boundY(y, graph) {
pos.y = (pos == selection.first) ? 0 : this.plotHeight - 1; return Math.min(Math.max(0, y), graph.plotHeight);
}else{  
pos.y = boundY(pointer.relY, this);  
} }
},  
/** var
* Draws the selection box. D = Flotr.DOM,
*/ E = Flotr.EventAdapter,
drawSelection: function() { _ = Flotr._;
   
this.selection.fireSelectEvent('selecting');  
  Flotr.addPlugin('selection', {
var s = this.selection.selection,  
octx = this.octx, options: {
options = this.options, pinchOnly: null, // Only select on pinch
plotOffset = this.plotOffset, mode: null, // => one of null, 'x', 'y' or 'xy'
prevSelection = this.selection.prevSelection; color: '#B6D9FF', // => selection box color
  fps: 20 // => frames-per-second
if (prevSelection && },
s.first.x == prevSelection.first.x &&  
s.first.y == prevSelection.first.y && callbacks: {
s.second.x == prevSelection.second.x && 'flotr:mouseup': function (event) {
s.second.y == prevSelection.second.y) {  
return; var
  options = this.options.selection,
  selection = this.selection,
  pointer = this.getEventPosition(event);
   
  if (!options || !options.mode) return;
  if (selection.interval) clearInterval(selection.interval);
   
  if (this.multitouches) {
  selection.updateSelection();
  } else if (!options.pinchOnly) {
  selection.setSelectionPos(selection.selection.second, pointer);
  }
  selection.clearSelection();
   
  if (selection.selecting && selection.selectionIsSane()) {
  selection.drawSelection();
  selection.fireSelectEvent();
  this.ignoreClick = true;
  }
  },
  'flotr:mousedown': function (event) {
   
  var
  options = this.options.selection,
  selection = this.selection,
  pointer = this.getEventPosition(event);
   
  if (!options || !options.mode) return;
  if (!options.mode || (!isLeftClick(event) && _.isUndefined(event.touches))) return;
  if (!options.pinchOnly) selection.setSelectionPos(selection.selection.first, pointer);
  if (selection.interval) clearInterval(selection.interval);
   
  this.lastMousePos.pageX = null;
  selection.selecting = false;
  selection.interval = setInterval(
  _.bind(selection.updateSelection, this),
  1000 / options.fps
  );
  },
  'flotr:destroy': function (event) {
  clearInterval(this.selection.interval);
  }
  },
   
  // TODO This isn't used. Maybe it belongs in the draw area and fire select event methods?
  getArea: function () {
   
  var s = this.selection.selection,
  first = s.first,
  second = s.second;
   
  return {
  x1: Math.min(first.x, second.x),
  x2: Math.max(first.x, second.x),
  y1: Math.min(first.y, second.y),
  y2: Math.max(first.y, second.y)
  };
  },
   
  selection: {first: {x: -1, y: -1}, second: {x: -1, y: -1}},
  prevSelection: null,
  interval: null,
   
  /**
  * Fires the 'flotr:select' event when the user made a selection.
  */
  fireSelectEvent: function (name) {
  var a = this.axes,
  s = this.selection.selection,
  x1, x2, y1, y2;
   
  name = name || 'select';
   
  x1 = a.x.p2d(s.first.x);
  x2 = a.x.p2d(s.second.x);
  y1 = a.y.p2d(s.first.y);
  y2 = a.y.p2d(s.second.y);
   
  E.fire(this.el, 'flotr:' + name, [
  {
  x1: Math.min(x1, x2),
  y1: Math.min(y1, y2),
  x2: Math.max(x1, x2),
  y2: Math.max(y1, y2),
  xfirst: x1, xsecond: x2, yfirst: y1, ysecond: y2
  },
  this
  ]);
  },
   
  /**
  * Allows the user the manually select an area.
  * @param {Object} area - Object with coordinates to select.
  */
  setSelection: function (area, preventEvent) {
  var options = this.options,
  xa = this.axes.x,
  ya = this.axes.y,
  vertScale = ya.scale,
  hozScale = xa.scale,
  selX = options.selection.mode.indexOf('x') != -1,
  selY = options.selection.mode.indexOf('y') != -1,
  s = this.selection.selection;
   
  this.selection.clearSelection();
   
  s.first.y = boundY((selX && !selY) ? 0 : (ya.max - area.y1) * vertScale, this);
  s.second.y = boundY((selX && !selY) ? this.plotHeight - 1 : (ya.max - area.y2) * vertScale, this);
  s.first.x = boundX((selY && !selX) ? 0 : area.x1, this);
  s.second.x = boundX((selY && !selX) ? this.plotWidth : area.x2, this);
   
  this.selection.drawSelection();
  if (!preventEvent)
  this.selection.fireSelectEvent();
  },
   
  /**
  * Calculates the position of the selection.
  * @param {Object} pos - Position object.
  * @param {Event} event - Event object.
  */
  setSelectionPos: function (pos, pointer) {
  var mode = this.options.selection.mode,
  selection = this.selection.selection;
   
  if (mode.indexOf('x') == -1) {
  pos.x = (pos == selection.first) ? 0 : this.plotWidth;
  } else {
  pos.x = boundX(pointer.relX, this);
  }
   
  if (mode.indexOf('y') == -1) {
  pos.y = (pos == selection.first) ? 0 : this.plotHeight - 1;
  } else {
  pos.y = boundY(pointer.relY, this);
  }
  },
  /**
  * Draws the selection box.
  */
  drawSelection: function () {
   
  this.selection.fireSelectEvent('selecting');
   
  var s = this.selection.selection,
  octx = this.octx,
  options = this.options,
  plotOffset = this.plotOffset,
  prevSelection = this.selection.prevSelection;
   
  if (prevSelection &&
  s.first.x == prevSelection.first.x &&
  s.first.y == prevSelection.first.y &&
  s.second.x == prevSelection.second.x &&
  s.second.y == prevSelection.second.y) {
  return;
  }
   
  octx.save();
  octx.strokeStyle = this.processColor(options.selection.color, {opacity: 0.8});
  octx.lineWidth = 1;
  octx.lineJoin = 'miter';
  octx.fillStyle = this.processColor(options.selection.color, {opacity: 0.4});
   
  this.selection.prevSelection = {
  first: { x: s.first.x, y: s.first.y },
  second: { x: s.second.x, y: s.second.y }
  };
   
  var x = Math.min(s.first.x, s.second.x),
  y = Math.min(s.first.y, s.second.y),
  w = Math.abs(s.second.x - s.first.x),
  h = Math.abs(s.second.y - s.first.y);
   
  octx.fillRect(x + plotOffset.left + 0.5, y + plotOffset.top + 0.5, w, h);
  octx.strokeRect(x + plotOffset.left + 0.5, y + plotOffset.top + 0.5, w, h);
  octx.restore();
  },
   
  /**
  * Updates (draws) the selection box.
  */
  updateSelection: function () {
  if (!this.lastMousePos.pageX) return;
   
  this.selection.selecting = true;
   
  if (this.multitouches) {
  this.selection.setSelectionPos(this.selection.selection.first, this.getEventPosition(this.multitouches[0]));
  this.selection.setSelectionPos(this.selection.selection.second, this.getEventPosition(this.multitouches[1]));
  } else if (this.options.selection.pinchOnly) {
  return;
  } else {
  this.selection.setSelectionPos(this.selection.selection.second, this.lastMousePos);
  }
   
  this.selection.clearSelection();
   
  if (this.selection.selectionIsSane()) {
  this.selection.drawSelection();
  }
  },
   
  /**
  * Removes the selection box from the overlay canvas.
  */
  clearSelection: function () {
  if (!this.selection.prevSelection) return;
   
  var prevSelection = this.selection.prevSelection,
  lw = 1,
  plotOffset = this.plotOffset,
  x = Math.min(prevSelection.first.x, prevSelection.second.x),
  y = Math.min(prevSelection.first.y, prevSelection.second.y),
  w = Math.abs(prevSelection.second.x - prevSelection.first.x),
  h = Math.abs(prevSelection.second.y - prevSelection.first.y);
   
  this.octx.clearRect(x + plotOffset.left - lw + 0.5,
  y + plotOffset.top - lw,
  w + 2 * lw + 0.5,
  h + 2 * lw + 0.5);
   
  this.selection.prevSelection = null;
  },
  /**
  * Determines whether or not the selection is sane and should be drawn.
  * @return {Boolean} - True when sane, false otherwise.
  */
  selectionIsSane: function () {
  var s = this.selection.selection;
  return Math.abs(s.second.x - s.first.x) >= 5 ||
  Math.abs(s.second.y - s.first.y) >= 5;
  }
   
  });
   
  })();
   
  (function () {
   
  var D = Flotr.DOM;
   
  Flotr.addPlugin('labels', {
   
  callbacks: {
  'flotr:afterdraw': function () {
  this.labels.draw();
  }
  },
   
  draw: function () {
  // Construct fixed width label boxes, which can be styled easily.
  var
  axis, tick, left, top, xBoxWidth,
  radius, sides, coeff, angle,
  div, i, html = '',
  noLabels = 0,
  options = this.options,
  ctx = this.ctx,
  a = this.axes,
  style = { size: options.fontSize };
   
  for (i = 0; i < a.x.ticks.length; ++i) {
  if (a.x.ticks[i].label) {
  ++noLabels;
  }
  }
  xBoxWidth = this.plotWidth / noLabels;
   
  if (options.grid.circular) {
  ctx.save();
  ctx.translate(this.plotOffset.left + this.plotWidth / 2,
  this.plotOffset.top + this.plotHeight / 2);
   
  radius = this.plotHeight * options.radar.radiusRatio / 2 + options.fontSize;
  sides = this.axes.x.ticks.length;
  coeff = 2 * (Math.PI / sides);
  angle = -Math.PI / 2;
   
  drawLabelCircular(this, a.x, false);
  drawLabelCircular(this, a.x, true);
  drawLabelCircular(this, a.y, false);
  drawLabelCircular(this, a.y, true);
  ctx.restore();
  }
   
  if (!options.HtmlText && this.textEnabled) {
  drawLabelNoHtmlText(this, a.x, 'center', 'top');
  drawLabelNoHtmlText(this, a.x2, 'center', 'bottom');
  drawLabelNoHtmlText(this, a.y, 'right', 'middle');
  drawLabelNoHtmlText(this, a.y2, 'left', 'middle');
   
  } else if ((
  a.x.options.showLabels ||
  a.x2.options.showLabels ||
  a.y.options.showLabels ||
  a.y2.options.showLabels) && !options.grid.circular
  ) {
   
  html = '';
   
  drawLabelHtml(this, a.x);
  drawLabelHtml(this, a.x2);
  drawLabelHtml(this, a.y);
  drawLabelHtml(this, a.y2);
   
  ctx.stroke();
  ctx.restore();
  div = D.create('div');
  D.setStyles(div, {
  fontSize: 'smaller',
  color: options.grid.color
  });
  div.className = 'flotr-labels';
  D.insert(this.el, div);
  D.insert(div, html);
  }
   
  function drawLabelCircular(graph, axis, minorTicks) {
  var
  ticks = minorTicks ? axis.minorTicks : axis.ticks,
  isX = axis.orientation === 1,
  isFirst = axis.n === 1,
  style, offset;
   
  style = {
  color: axis.options.color || options.grid.color,
  angle: Flotr.toRad(axis.options.labelsAngle),
  textBaseline: 'middle'
  };
   
  for (i = 0; i < ticks.length &&
  (minorTicks ? axis.options.showMinorLabels : axis.options.showLabels); ++i) {
  tick = ticks[i];
  tick.label += '';
  if (!tick.label || !tick.label.length) {
  continue;
  }
   
  x = Math.cos(i * coeff + angle) * radius;
  y = Math.sin(i * coeff + angle) * radius;
   
  style.textAlign = isX ? (Math.abs(x) < 0.1 ? 'center' : (x < 0 ? 'right' : 'left')) : 'left';
   
  Flotr.drawText(
  ctx, tick.label,
  isX ? x : 3,
  isX ? y : -(axis.ticks[i].v / axis.max) * (radius - options.fontSize),
  style
  );
  }
  }
   
  function drawLabelNoHtmlText(graph, axis, textAlign, textBaseline) {
  var
  isX = axis.orientation === 1,
  isFirst = axis.n === 1,
  style, offset;
   
  style = {
  color: axis.options.color || options.grid.color,
  textAlign: textAlign,
  textBaseline: textBaseline,
  angle: Flotr.toRad(axis.options.labelsAngle)
  };
  style = Flotr.getBestTextAlign(style.angle, style);
   
  for (i = 0; i < axis.ticks.length && continueShowingLabels(axis); ++i) {
   
  tick = axis.ticks[i];
  if (!tick.label || !tick.label.length) {
  continue;
  }
   
  offset = axis.d2p(tick.v);
  if (offset < 0 ||
  offset > (isX ? graph.plotWidth : graph.plotHeight)) {
  continue;
  }
   
  Flotr.drawText(
  ctx, tick.label,
  leftOffset(graph, isX, isFirst, offset),
  topOffset(graph, isX, isFirst, offset),
  style
  );
   
  // Only draw on axis y2
  if (!isX && !isFirst) {
  ctx.save();
  ctx.strokeStyle = style.color;
  ctx.beginPath();
  ctx.moveTo(graph.plotOffset.left + graph.plotWidth - 8, graph.plotOffset.top + axis.d2p(tick.v));
  ctx.lineTo(graph.plotOffset.left + graph.plotWidth, graph.plotOffset.top + axis.d2p(tick.v));
  ctx.stroke();
  ctx.restore();
  }
  }
   
  function continueShowingLabels(axis) {
  return axis.options.showLabels && axis.used;
  }
   
  function leftOffset(graph, isX, isFirst, offset) {
  return graph.plotOffset.left +
  (isX ? offset :
  (isFirst ?
  -options.grid.labelMargin :
  options.grid.labelMargin + graph.plotWidth));
  }
   
  function topOffset(graph, isX, isFirst, offset) {
  return graph.plotOffset.top +
  (isX ? options.grid.labelMargin : offset) +
  ((isX && isFirst) ? graph.plotHeight : 0);
  }
  }
   
  function drawLabelHtml(graph, axis) {
  var
  isX = axis.orientation === 1,
  isFirst = axis.n === 1,
  name = '',
  left, style, top,
  offset = graph.plotOffset;
   
  if (!isX && !isFirst) {
  ctx.save();
  ctx.strokeStyle = axis.options.color || options.grid.color;
  ctx.beginPath();
  }
   
  if (axis.options.showLabels && (isFirst ? true : axis.used)) {
  for (i = 0; i < axis.ticks.length; ++i) {
  tick = axis.ticks[i];
  if (!tick.label || !tick.label.length ||
  ((isX ? offset.left : offset.top) + axis.d2p(tick.v) < 0) ||
  ((isX ? offset.left : offset.top) + axis.d2p(tick.v) > (isX ? graph.canvasWidth : graph.canvasHeight))) {
  continue;
  }
  top = offset.top +
  (isX ?
  ((isFirst ? 1 : -1 ) * (graph.plotHeight + options.grid.labelMargin)) :
  axis.d2p(tick.v) - axis.maxLabel.height / 2);
  left = isX ? (offset.left + axis.d2p(tick.v) - xBoxWidth / 2) : 0;
   
  name = '';
  if (i === 0) {
  name = ' first';
  } else if (i === axis.ticks.length - 1) {
  name = ' last';
  }
  name += isX ? ' flotr-grid-label-x' : ' flotr-grid-label-y';
   
  html += [
  '<div style="position:absolute; text-align:' + (isX ? 'center' : 'right') + '; ',
  'top:' + top + 'px; ',
  ((!isX && !isFirst) ? 'right:' : 'left:') + left + 'px; ',
  'width:' + (isX ? xBoxWidth : ((isFirst ? offset.left : offset.right) - options.grid.labelMargin)) + 'px; ',
  axis.options.color ? ('color:' + axis.options.color + '; ') : ' ',
  '" class="flotr-grid-label' + name + '">' + tick.label + '</div>'
  ].join(' ');
   
  if (!isX && !isFirst) {
  ctx.moveTo(offset.left + graph.plotWidth - 8, offset.top + axis.d2p(tick.v));
  ctx.lineTo(offset.left + graph.plotWidth, offset.top + axis.d2p(tick.v));
  }
  }
  }
  }
  }
   
  });
  })();
   
  (function () {
   
  var
  D = Flotr.DOM,
  _ = Flotr._;
   
  Flotr.addPlugin('legend', {
  options: {
  show: true, // => setting to true will show the legend, hide otherwise
  noColumns: 1, // => number of colums in legend table // @todo: doesn't work for HtmlText = false
  labelFormatter: function (v) {
  return v;
  }, // => fn: string -> string
  labelBoxBorderColor: '#CCCCCC', // => border color for the little label boxes
  labelBoxWidth: 14,
  labelBoxHeight: 10,
  labelBoxMargin: 5,
  labelBoxOpacity: 0.4,
  container: null, // => container (as jQuery object) to put legend in, null means default on top of graph
  position: 'nw', // => position of default legend container within plot
  margin: 5, // => distance from grid edge to default legend container within plot
  backgroundColor: null, // => null means auto-detect
  backgroundOpacity: 0.85// => set to 0 to avoid background, set to 1 for a solid background
  },
  callbacks: {
  'flotr:afterinit': function () {
  this.legend.insertLegend();
  }
  },
  /**
  * Adds a legend div to the canvas container or draws it on the canvas.
  */
  insertLegend: function () {
   
  if (!this.options.legend.show)
  return;
   
  var series = this.series,
  plotOffset = this.plotOffset,
  options = this.options,
  legend = options.legend,
  fragments = [],
  rowStarted = false,
  ctx = this.ctx,
  itemCount = _.filter(series,function (s) {
  return (s.label && !s.hide);
  }).length,
  p = legend.position,
  m = legend.margin,
  i, label, color;
   
  if (itemCount) {
  if (!options.HtmlText && this.textEnabled && !legend.container) {
  var style = {
  size: options.fontSize * 1.1,
  color: options.grid.color
  };
   
  var lbw = legend.labelBoxWidth,
  lbh = legend.labelBoxHeight,
  lbm = legend.labelBoxMargin,
  offsetX = plotOffset.left + m,
  offsetY = plotOffset.top + m;
   
  // We calculate the labels' max width
  var labelMaxWidth = 0;
  for (i = series.length - 1; i > -1; --i) {
  if (!series[i].label || series[i].hide) continue;
  label = legend.labelFormatter(series[i].label);
  labelMaxWidth = Math.max(labelMaxWidth, this._text.measureText(label, style).width);
  }
   
  var legendWidth = Math.round(lbw + lbm * 3 + labelMaxWidth),
  legendHeight = Math.round(itemCount * (lbm + lbh) + lbm);
   
  if (p.charAt(0) == 's') offsetY = plotOffset.top + this.plotHeight - (m + legendHeight);
  if (p.charAt(1) == 'e') offsetX = plotOffset.left + this.plotWidth - (m + legendWidth);
   
  // Legend box
  color = this.processColor(legend.backgroundColor || 'rgb(240,240,240)', {opacity: legend.backgroundOpacity || 0.1});
   
  ctx.fillStyle = color;
  ctx.fillRect(offsetX, offsetY, legendWidth, legendHeight);
  ctx.strokeStyle = legend.labelBoxBorderColor;
  ctx.strokeRect(Flotr.toPixel(offsetX), Flotr.toPixel(offsetY), legendWidth, legendHeight);
   
  // Legend labels
  var x = offsetX + lbm;
  var y = offsetY + lbm;
  for (i = 0; i < series.length; i++) {
  if (!series[i].label || series[i].hide) continue;
  label = legend.labelFormatter(series[i].label);
   
  ctx.fillStyle = series[i].color;
  ctx.fillRect(x, y, lbw - 1, lbh - 1);
   
  ctx.strokeStyle = legend.labelBoxBorderColor;
  ctx.lineWidth = 1;
  ctx.strokeRect(Math.ceil(x) - 1.5, Math.ceil(y) - 1.5, lbw + 2, lbh + 2);
   
  // Legend text
  Flotr.drawText(ctx, label, x + lbw + lbm, y + lbh, style);
   
  y += lbh + lbm;
  }
  }
  else {
  for (i = 0; i < series.length; ++i) {
  if (!series[i].label || series[i].hide) continue;
   
  if (i % legend.noColumns === 0) {
  fragments.push(rowStarted ? '</tr><tr>' : '<tr>');
  rowStarted = true;
  }
   
  // @TODO remove requirement on bars
  var s = series[i],
  boxWidth = legend.labelBoxWidth,
  boxHeight = legend.labelBoxHeight,
  opacityValue = (s.bars ? s.bars.fillOpacity : legend.labelBoxOpacity),
  opacity = 'opacity:' + opacityValue + ';filter:alpha(opacity=' + opacityValue * 100 + ');';
   
  label = legend.labelFormatter(s.label);
  color = 'background-color:' + ((s.bars && s.bars.show && s.bars.fillColor && s.bars.fill) ? s.bars.fillColor : s.color) + ';';
   
  fragments.push(
  '<td class="flotr-legend-color-box">',
  '<div style="border:1px solid ', legend.labelBoxBorderColor, ';padding:1px">',
  '<div style="width:', (boxWidth - 1), 'px;height:', (boxHeight - 1), 'px;border:1px solid ', series[i].color, '">', // Border
  '<div style="width:', boxWidth, 'px;height:', boxHeight, 'px;', 'opacity:.4;', color, '"></div>', // Background
  '</div>',
  '</div>',
  '</td>',
  '<td class="flotr-legend-label">', label, '</td>'
  );
  }
  if (rowStarted) fragments.push('</tr>');
   
  if (fragments.length > 0) {
  var table = '<table style="font-size:smaller;color:' + options.grid.color + '">' + fragments.join('') + '</table>';
  if (legend.container) {
  D.insert(legend.container, table);
  }
  else {
  var styles = {position: 'absolute', 'z-index': 2};
   
  if (p.charAt(0) == 'n') {
  styles.top = (m + plotOffset.top) + 'px';
  styles.bottom = 'auto';
  }
  else if (p.charAt(0) == 's') {
  styles.bottom = (m + plotOffset.bottom) + 'px';
  styles.top = 'auto';
  }
  if (p.charAt(1) == 'e') {
  styles.right = (m + plotOffset.right) + 'px';
  styles.left = 'auto';
  }
  else if (p.charAt(1) == 'w') {
  styles.left = (m + plotOffset.left) + 'px';
  styles.right = 'auto';
  }
   
  var div = D.create('div'), size;
  div.className = 'flotr-legend';
  D.setStyles(div, styles);
  D.insert(div, table);
  D.insert(this.el, div);
   
  if (!legend.backgroundOpacity)
  return;
   
  var c = legend.backgroundColor || options.grid.backgroundColor || '#ffffff';
   
  _.extend(styles, D.size(div), {
  'backgroundColor': c,
  'z-index': 1
  });
  styles.width += 'px';
  styles.height += 'px';
   
  // Put in the transparent background separately to avoid blended labels and
  div = D.create('div');
  div.className = 'flotr-legend-bg';
  D.setStyles(div, styles);
  D.opacity(div, legend.backgroundOpacity);
  D.insert(div, ' ');
  D.insert(this.el, div);
  }
  }
  }
  }
  }
  });
  })();
   
  /** Spreadsheet **/
  (function () {
   
  function getRowLabel(value) {
  if (this.options.spreadsheet.tickFormatter) {
  //TODO maybe pass the xaxis formatter to the custom tick formatter as an opt-out?
  return this.options.spreadsheet.tickFormatter(value);
  }
  else {
  var t = _.find(this.axes.x.ticks, function (t) {
  return t.v == value;
  });
  if (t) {
  return t.label;
  }
  return value;
  }
} }
   
octx.save();  
octx.strokeStyle = this.processColor(options.selection.color, {opacity: 0.8});  
octx.lineWidth = 1;  
octx.lineJoin = 'miter';  
octx.fillStyle = this.processColor(options.selection.color, {opacity: 0.4});  
   
this.selection.prevSelection = {  
first: { x: s.first.x, y: s.first.y },  
second: { x: s.second.x, y: s.second.y }  
};  
   
var x = Math.min(s.first.x, s.second.x),  
y = Math.min(s.first.y, s.second.y),  
w = Math.abs(s.second.x - s.first.x),  
h = Math.abs(s.second.y - s.first.y);  
   
octx.fillRect(x + plotOffset.left+0.5, y + plotOffset.top+0.5, w, h);  
octx.strokeRect(x + plotOffset.left+0.5, y + plotOffset.top+0.5, w, h);  
octx.restore();  
},  
   
/**  
* Updates (draws) the selection box.  
*/  
updateSelection: function(){  
if (!this.lastMousePos.pageX) return;  
   
this.selection.selecting = true;  
   
if (this.multitouches) {  
this.selection.setSelectionPos(this.selection.selection.first, this.getEventPosition(this.multitouches[0]));  
this.selection.setSelectionPos(this.selection.selection.second, this.getEventPosition(this.multitouches[1]));  
} else  
if (this.options.selection.pinchOnly) {  
return;  
} else {  
this.selection.setSelectionPos(this.selection.selection.second, this.lastMousePos);  
}  
   
this.selection.clearSelection();  
   
if(this.selection.selectionIsSane()) {  
this.selection.drawSelection();  
}  
},  
   
/**  
* Removes the selection box from the overlay canvas.  
*/  
clearSelection: function() {  
if (!this.selection.prevSelection) return;  
   
var prevSelection = this.selection.prevSelection,  
lw = 1,  
plotOffset = this.plotOffset,  
x = Math.min(prevSelection.first.x, prevSelection.second.x),  
y = Math.min(prevSelection.first.y, prevSelection.second.y),  
w = Math.abs(prevSelection.second.x - prevSelection.first.x),  
h = Math.abs(prevSelection.second.y - prevSelection.first.y);  
   
this.octx.clearRect(x + plotOffset.left - lw + 0.5,  
y + plotOffset.top - lw,  
w + 2 * lw + 0.5,  
h + 2 * lw + 0.5);  
   
this.selection.prevSelection = null;  
},  
/**  
* Determines whether or not the selection is sane and should be drawn.  
* @return {Boolean} - True when sane, false otherwise.  
*/  
selectionIsSane: function(){  
var s = this.selection.selection;  
return Math.abs(s.second.x - s.first.x) >= 5 ||  
Math.abs(s.second.y - s.first.y) >= 5;  
}  
   
});  
   
})();  
   
(function () {  
   
var D = Flotr.DOM;  
   
Flotr.addPlugin('labels', {  
   
callbacks : {  
'flotr:afterdraw' : function () {  
this.labels.draw();  
}  
},  
   
draw: function(){  
// Construct fixed width label boxes, which can be styled easily.  
var var
axis, tick, left, top, xBoxWidth, D = Flotr.DOM,
radius, sides, coeff, angle, _ = Flotr._;
div, i, html = '',  
noLabels = 0, Flotr.addPlugin('spreadsheet', {
options = this.options, options: {
ctx = this.ctx, show: false, // => show the data grid using two tabs
a = this.axes, tabGraphLabel: 'Graph',
style = { size: options.fontSize }; tabDataLabel: 'Data',
  toolbarDownload: 'Download CSV', // @todo: add better language support
for (i = 0; i < a.x.ticks.length; ++i){ toolbarSelectAll: 'Select all',
if (a.x.ticks[i].label) { ++noLabels; } csvFileSeparator: ',',
} decimalSeparator: '.',
xBoxWidth = this.plotWidth / noLabels; tickFormatter: null,
  initialTab: 'graph'
if (options.grid.circular) { },
ctx.save(); /**
ctx.translate(this.plotOffset.left + this.plotWidth / 2, * Builds the tabs in the DOM
this.plotOffset.top + this.plotHeight / 2); */
  callbacks: {
radius = this.plotHeight * options.radar.radiusRatio / 2 + options.fontSize; 'flotr:afterconstruct': function () {
sides = this.axes.x.ticks.length; // @TODO necessary?
coeff = 2 * (Math.PI / sides); //this.el.select('.flotr-tabs-group,.flotr-datagrid-container').invoke('remove');
angle = -Math.PI / 2;  
  if (!this.options.spreadsheet.show) return;
drawLabelCircular(this, a.x, false);  
drawLabelCircular(this, a.x, true); var ss = this.spreadsheet,
drawLabelCircular(this, a.y, false); container = D.node('<div class="flotr-tabs-group" style="position:absolute;left:0px;width:' + this.canvasWidth + 'px"></div>'),
drawLabelCircular(this, a.y, true); graph = D.node('<div style="float:left" class="flotr-tab selected">' + this.options.spreadsheet.tabGraphLabel + '</div>'),
ctx.restore(); data = D.node('<div style="float:left" class="flotr-tab">' + this.options.spreadsheet.tabDataLabel + '</div>'),
} offset;
   
if (!options.HtmlText && this.textEnabled) { ss.tabsContainer = container;
drawLabelNoHtmlText(this, a.x, 'center', 'top'); ss.tabs = { graph: graph, data: data };
drawLabelNoHtmlText(this, a.x2, 'center', 'bottom');  
drawLabelNoHtmlText(this, a.y, 'right', 'middle'); D.insert(container, graph);
drawLabelNoHtmlText(this, a.y2, 'left', 'middle'); D.insert(container, data);
  D.insert(this.el, container);
} else if ((  
a.x.options.showLabels || offset = D.size(data).height + 2;
a.x2.options.showLabels || this.plotOffset.bottom += offset;
a.y.options.showLabels ||  
a.y2.options.showLabels) && D.setStyles(container, {top: this.canvasHeight - offset + 'px'});
!options.grid.circular  
) { this.
  observe(graph, 'click',function () {
html = ''; ss.showTab('graph');
  }).
drawLabelHtml(this, a.x); observe(data, 'click', function () {
drawLabelHtml(this, a.x2); ss.showTab('data');
drawLabelHtml(this, a.y); });
drawLabelHtml(this, a.y2); if (this.options.spreadsheet.initialTab !== 'graph') {
  ss.showTab(this.options.spreadsheet.initialTab);
ctx.stroke(); }
ctx.restore(); }
div = D.create('div'); },
D.setStyles(div, { /**
fontSize: 'smaller', * Builds a matrix of the data to make the correspondance between the x values and the y values :
color: options.grid.color * X value => Y values from the axes
}); * @return {Array} The data grid
div.className = 'flotr-labels'; */
D.insert(this.el, div); loadDataGrid: function () {
D.insert(div, html); if (this.seriesData) return this.seriesData;
}  
  var s = this.series,
function drawLabelCircular (graph, axis, minorTicks) { rows = {};
var  
ticks = minorTicks ? axis.minorTicks : axis.ticks, /* The data grid is a 2 dimensions array. There is a row for each X value.
isX = axis.orientation === 1, * Each row contains the x value and the corresponding y value for each serie ('undefined' if there isn't one)
isFirst = axis.n === 1, **/
style, offset; _.each(s, function (serie, i) {
  _.each(serie.data, function (v) {
style = { var x = v[0],
color : axis.options.color || options.grid.color, y = v[1],
angle : Flotr.toRad(axis.options.labelsAngle), r = rows[x];
textBaseline : 'middle' if (r) {
}; r[i + 1] = y;
  } else {
for (i = 0; i < ticks.length && var newRow = [];
(minorTicks ? axis.options.showMinorLabels : axis.options.showLabels); ++i){ newRow[0] = x;
tick = ticks[i]; newRow[i + 1] = y;
tick.label += ''; rows[x] = newRow;
if (!tick.label || !tick.label.length) { continue; } }
  });
x = Math.cos(i * coeff + angle) * radius;  
y = Math.sin(i * coeff + angle) * radius;  
   
style.textAlign = isX ? (Math.abs(x) < 0.1 ? 'center' : (x < 0 ? 'right' : 'left')) : 'left';  
   
Flotr.drawText(  
ctx, tick.label,  
isX ? x : 3,  
isX ? y : -(axis.ticks[i].v / axis.max) * (radius - options.fontSize),  
style  
);  
}  
}  
   
function drawLabelNoHtmlText (graph, axis, textAlign, textBaseline) {  
var  
isX = axis.orientation === 1,  
isFirst = axis.n === 1,  
style, offset;  
   
style = {  
color : axis.options.color || options.grid.color,  
textAlign : textAlign,  
textBaseline : textBaseline,  
angle : Flotr.toRad(axis.options.labelsAngle)  
};  
style = Flotr.getBestTextAlign(style.angle, style);  
   
for (i = 0; i < axis.ticks.length && continueShowingLabels(axis); ++i) {  
   
tick = axis.ticks[i];  
if (!tick.label || !tick.label.length) { continue; }  
   
offset = axis.d2p(tick.v);  
if (offset < 0 ||  
offset > (isX ? graph.plotWidth : graph.plotHeight)) { continue; }  
   
Flotr.drawText(  
ctx, tick.label,  
leftOffset(graph, isX, isFirst, offset),  
topOffset(graph, isX, isFirst, offset),  
style  
);  
   
// Only draw on axis y2  
if (!isX && !isFirst) {  
ctx.save();  
ctx.strokeStyle = style.color;  
ctx.beginPath();  
ctx.moveTo(graph.plotOffset.left + graph.plotWidth - 8, graph.plotOffset.top + axis.d2p(tick.v));  
ctx.lineTo(graph.plotOffset.left + graph.plotWidth, graph.plotOffset.top + axis.d2p(tick.v));  
ctx.stroke();  
ctx.restore();  
}  
}  
   
function continueShowingLabels (axis) {  
return axis.options.showLabels && axis.used;  
}  
function leftOffset (graph, isX, isFirst, offset) {  
return graph.plotOffset.left +  
(isX ? offset :  
(isFirst ?  
-options.grid.labelMargin :  
options.grid.labelMargin + graph.plotWidth));  
}  
function topOffset (graph, isX, isFirst, offset) {  
return graph.plotOffset.top +  
(isX ? options.grid.labelMargin : offset) +  
((isX && isFirst) ? graph.plotHeight : 0);  
}  
}  
   
function drawLabelHtml (graph, axis) {  
var  
isX = axis.orientation === 1,  
isFirst = axis.n === 1,  
name = '',  
left, style, top,  
offset = graph.plotOffset;  
   
if (!isX && !isFirst) {  
ctx.save();  
ctx.strokeStyle = axis.options.color || options.grid.color;  
ctx.beginPath();  
}  
   
if (axis.options.showLabels && (isFirst ? true : axis.used)) {  
for (i = 0; i < axis.ticks.length; ++i) {  
tick = axis.ticks[i];  
if (!tick.label || !tick.label.length ||  
((isX ? offset.left : offset.top) + axis.d2p(tick.v) < 0) ||  
((isX ? offset.left : offset.top) + axis.d2p(tick.v) > (isX ? graph.canvasWidth : graph.canvasHeight))) {  
continue;  
}  
top = offset.top +  
(isX ?  
((isFirst ? 1 : -1 ) * (graph.plotHeight + options.grid.labelMargin)) :  
axis.d2p(tick.v) - axis.maxLabel.height / 2);  
left = isX ? (offset.left + axis.d2p(tick.v) - xBoxWidth / 2) : 0;  
   
name = '';  
if (i === 0) {  
name = ' first';  
} else if (i === axis.ticks.length - 1) {  
name = ' last';  
}  
name += isX ? ' flotr-grid-label-x' : ' flotr-grid-label-y';  
   
html += [  
'<div style="position:absolute; text-align:' + (isX ? 'center' : 'right') + '; ',  
'top:' + top + 'px; ',  
((!isX && !isFirst) ? 'right:' : 'left:') + left + 'px; ',  
'width:' + (isX ? xBoxWidth : ((isFirst ? offset.left : offset.right) - options.grid.labelMargin)) + 'px; ',  
axis.options.color ? ('color:' + axis.options.color + '; ') : ' ',  
'" class="flotr-grid-label' + name + '">' + tick.label + '</div>'  
].join(' ');  
   
if (!isX && !isFirst) {  
ctx.moveTo(offset.left + graph.plotWidth - 8, offset.top + axis.d2p(tick.v));  
ctx.lineTo(offset.left + graph.plotWidth, offset.top + axis.d2p(tick.v));  
}  
}  
}  
}  
}  
   
});  
})();  
   
(function () {  
   
var  
D = Flotr.DOM,  
_ = Flotr._;  
   
Flotr.addPlugin('legend', {  
options: {  
show: true, // => setting to true will show the legend, hide otherwise  
noColumns: 1, // => number of colums in legend table // @todo: doesn't work for HtmlText = false  
labelFormatter: function(v){return v;}, // => fn: string -> string  
labelBoxBorderColor: '#CCCCCC', // => border color for the little label boxes  
labelBoxWidth: 14,  
labelBoxHeight: 10,  
labelBoxMargin: 5,  
labelBoxOpacity: 0.4,  
container: null, // => container (as jQuery object) to put legend in, null means default on top of graph  
position: 'nw', // => position of default legend container within plot  
margin: 5, // => distance from grid edge to default legend container within plot  
backgroundColor: null, // => null means auto-detect  
backgroundOpacity: 0.85// => set to 0 to avoid background, set to 1 for a solid background  
},  
callbacks: {  
'flotr:afterinit': function() {  
this.legend.insertLegend();  
}  
},  
/**  
* Adds a legend div to the canvas container or draws it on the canvas.  
*/  
insertLegend: function(){  
   
if(!this.options.legend.show)  
return;  
   
var series = this.series,  
plotOffset = this.plotOffset,  
options = this.options,  
legend = options.legend,  
fragments = [],  
rowStarted = false,  
ctx = this.ctx,  
itemCount = _.filter(series, function(s) {return (s.label && !s.hide);}).length,  
p = legend.position,  
m = legend.margin,  
i, label, color;  
   
if (itemCount) {  
if (!options.HtmlText && this.textEnabled && !legend.container) {  
var style = {  
size: options.fontSize*1.1,  
color: options.grid.color  
};  
   
var lbw = legend.labelBoxWidth,  
lbh = legend.labelBoxHeight,  
lbm = legend.labelBoxMargin,  
offsetX = plotOffset.left + m,  
offsetY = plotOffset.top + m;  
   
// We calculate the labels' max width  
var labelMaxWidth = 0;  
for(i = series.length - 1; i > -1; --i){  
if(!series[i].label || series[i].hide) continue;  
label = legend.labelFormatter(series[i].label);  
labelMaxWidth = Math.max(labelMaxWidth, this._text.measureText(label, style).width);  
}  
   
var legendWidth = Math.round(lbw + lbm*3 + labelMaxWidth),  
legendHeight = Math.round(itemCount*(lbm+lbh) + lbm);  
   
if(p.charAt(0) == 's') offsetY = plotOffset.top + this.plotHeight - (m + legendHeight);  
if(p.charAt(1) == 'e') offsetX = plotOffset.left + this.plotWidth - (m + legendWidth);  
   
// Legend box  
color = this.processColor(legend.backgroundColor || 'rgb(240,240,240)', {opacity: legend.backgroundOpacity || 0.1});  
   
ctx.fillStyle = color;  
ctx.fillRect(offsetX, offsetY, legendWidth, legendHeight);  
ctx.strokeStyle = legend.labelBoxBorderColor;  
ctx.strokeRect(Flotr.toPixel(offsetX), Flotr.toPixel(offsetY), legendWidth, legendHeight);  
   
// Legend labels  
var x = offsetX + lbm;  
var y = offsetY + lbm;  
for(i = 0; i < series.length; i++){  
if(!series[i].label || series[i].hide) continue;  
label = legend.labelFormatter(series[i].label);  
   
ctx.fillStyle = series[i].color;  
ctx.fillRect(x, y, lbw-1, lbh-1);  
   
ctx.strokeStyle = legend.labelBoxBorderColor;  
ctx.lineWidth = 1;  
ctx.strokeRect(Math.ceil(x)-1.5, Math.ceil(y)-1.5, lbw+2, lbh+2);  
   
// Legend text  
Flotr.drawText(ctx, label, x + lbw + lbm, y + lbh, style);  
   
y += lbh + lbm;  
}  
}  
else {  
for(i = 0; i < series.length; ++i){  
if(!series[i].label || series[i].hide) continue;  
   
if(i % legend.noColumns === 0){  
fragments.push(rowStarted ? '</tr><tr>' : '<tr>');  
rowStarted = true;  
}  
   
// @TODO remove requirement on bars  
var s = series[i],  
boxWidth = legend.labelBoxWidth,  
boxHeight = legend.labelBoxHeight,  
opacityValue = (s.bars ? s.bars.fillOpacity : legend.labelBoxOpacity),  
opacity = 'opacity:' + opacityValue + ';filter:alpha(opacity=' + opacityValue*100 + ');';  
   
label = legend.labelFormatter(s.label);  
color = 'background-color:' + ((s.bars && s.bars.show && s.bars.fillColor && s.bars.fill) ? s.bars.fillColor : s.color) + ';';  
   
fragments.push(  
'<td class="flotr-legend-color-box">',  
'<div style="border:1px solid ', legend.labelBoxBorderColor, ';padding:1px">',  
'<div style="width:', (boxWidth-1), 'px;height:', (boxHeight-1), 'px;border:1px solid ', series[i].color, '">', // Border  
'<div style="width:', boxWidth, 'px;height:', boxHeight, 'px;', 'opacity:.4;', color, '"></div>', // Background  
'</div>',  
'</div>',  
'</td>',  
'<td class="flotr-legend-label">', label, '</td>'  
);  
}  
if(rowStarted) fragments.push('</tr>');  
   
if(fragments.length > 0){  
var table = '<table style="font-size:smaller;color:' + options.grid.color + '">' + fragments.join('') + '</table>';  
if(legend.container){  
D.insert(legend.container, table);  
}  
else {  
var styles = {position: 'absolute', 'z-index': 2};  
   
if(p.charAt(0) == 'n') { styles.top = (m + plotOffset.top) + 'px'; styles.bottom = 'auto'; }  
else if(p.charAt(0) == 's') { styles.bottom = (m + plotOffset.bottom) + 'px'; styles.top = 'auto'; }  
if(p.charAt(1) == 'e') { styles.right = (m + plotOffset.right) + 'px'; styles.left = 'auto'; }  
else if(p.charAt(1) == 'w') { styles.left = (m + plotOffset.left) + 'px'; styles.right = 'auto'; }  
   
var div = D.create('div'), size;  
div.className = 'flotr-legend';  
D.setStyles(div, styles);  
D.insert(div, table);  
D.insert(this.el, div);  
   
if(!legend.backgroundOpacity)  
return;  
   
var c = legend.backgroundColor || options.grid.backgroundColor || '#ffffff';  
   
_.extend(styles, D.size(div), {  
'backgroundColor': c,  
'z-index': 1  
}); });
styles.width += 'px';  
styles.height += 'px'; // The data grid is sorted by x value
  this.seriesData = _.sortBy(rows, function (row, x) {
// Put in the transparent background separately to avoid blended labels and return parseInt(x, 10);
div = D.create('div'); });
div.className = 'flotr-legend-bg'; return this.seriesData;
D.setStyles(div, styles); },
D.opacity(div, legend.backgroundOpacity); /**
D.insert(div, ' '); * Constructs the data table for the spreadsheet
D.insert(this.el, div); * @todo make a spreadsheet manager (Flotr.Spreadsheet)
} * @return {Element} The resulting table element
} */
} constructDataGrid: function () {
} // If the data grid has already been built, nothing to do here
} if (this.spreadsheet.datagrid) return this.spreadsheet.datagrid;
});  
})(); var s = this.series,
  datagrid = this.spreadsheet.loadDataGrid(),
/** Spreadsheet **/ colgroup = ['<colgroup><col />'],
(function() { buttonDownload, buttonSelect, t;
   
function getRowLabel(value){ // First row : series' labels
if (this.options.spreadsheet.tickFormatter){ var html = ['<table class="flotr-datagrid"><tr class="first-row">'];
//TODO maybe pass the xaxis formatter to the custom tick formatter as an opt-out? html.push('<th>&nbsp;</th>');
return this.options.spreadsheet.tickFormatter(value); _.each(s, function (serie, i) {
} html.push('<th scope="col">' + (serie.label || String.fromCharCode(65 + i)) + '</th>');
else { colgroup.push('<col />');
var t = _.find(this.axes.x.ticks, function(t){return t.v == value;}); });
if (t) { html.push('</tr>');
return t.label; // Data rows
} _.each(datagrid, function (row) {
return value; html.push('<tr>');
} _.times(s.length + 1, function (i) {
} var tag = 'td',
  value = row[i],
var // TODO: do we really want to handle problems with floating point
D = Flotr.DOM, // precision here?
_ = Flotr._; content = (!_.isUndefined(value) ? Math.round(value * 100000) / 100000 : '');
  if (i === 0) {
Flotr.addPlugin('spreadsheet', { tag = 'th';
options: { var label = getRowLabel.call(this, content);
show: false, // => show the data grid using two tabs if (label) content = label;
tabGraphLabel: 'Graph', }
tabDataLabel: 'Data',  
toolbarDownload: 'Download CSV', // @todo: add better language support html.push('<' + tag + (tag == 'th' ? ' scope="row"' : '') + '>' + content + '</' + tag + '>');
toolbarSelectAll: 'Select all', }, this);
csvFileSeparator: ',', html.push('</tr>');
decimalSeparator: '.', }, this);
tickFormatter: null, colgroup.push('</colgroup>');
initialTab: 'graph' t = D.node(html.join(''));
},  
/** /**
* Builds the tabs in the DOM * @TODO disabled this
*/ if (!Flotr.isIE || Flotr.isIE == 9) {
callbacks: {  
'flotr:afterconstruct': function(){  
// @TODO necessary?  
//this.el.select('.flotr-tabs-group,.flotr-datagrid-container').invoke('remove');  
   
if (!this.options.spreadsheet.show) return;  
   
var ss = this.spreadsheet,  
container = D.node('<div class="flotr-tabs-group" style="position:absolute;left:0px;width:'+this.canvasWidth+'px"></div>'),  
graph = D.node('<div style="float:left" class="flotr-tab selected">'+this.options.spreadsheet.tabGraphLabel+'</div>'),  
data = D.node('<div style="float:left" class="flotr-tab">'+this.options.spreadsheet.tabDataLabel+'</div>'),  
offset;  
   
ss.tabsContainer = container;  
ss.tabs = { graph : graph, data : data };  
   
D.insert(container, graph);  
D.insert(container, data);  
D.insert(this.el, container);  
   
offset = D.size(data).height + 2;  
this.plotOffset.bottom += offset;  
   
D.setStyles(container, {top: this.canvasHeight-offset+'px'});  
   
this.  
observe(graph, 'click', function(){ss.showTab('graph');}).  
observe(data, 'click', function(){ss.showTab('data');});  
if (this.options.spreadsheet.initialTab !== 'graph'){  
ss.showTab(this.options.spreadsheet.initialTab);  
}  
}  
},  
/**  
* Builds a matrix of the data to make the correspondance between the x values and the y values :  
* X value => Y values from the axes  
* @return {Array} The data grid  
*/  
loadDataGrid: function(){  
if (this.seriesData) return this.seriesData;  
   
var s = this.series,  
rows = {};  
   
/* The data grid is a 2 dimensions array. There is a row for each X value.  
* Each row contains the x value and the corresponding y value for each serie ('undefined' if there isn't one)  
**/  
_.each(s, function(serie, i){  
_.each(serie.data, function (v) {  
var x = v[0],  
y = v[1],  
r = rows[x];  
if (r) {  
r[i+1] = y;  
} else {  
var newRow = [];  
newRow[0] = x;  
newRow[i+1] = y;  
rows[x] = newRow;  
}  
});  
});  
   
// The data grid is sorted by x value  
this.seriesData = _.sortBy(rows, function(row, x){  
return parseInt(x, 10);  
});  
return this.seriesData;  
},  
/**  
* Constructs the data table for the spreadsheet  
* @todo make a spreadsheet manager (Flotr.Spreadsheet)  
* @return {Element} The resulting table element  
*/  
constructDataGrid: function(){  
// If the data grid has already been built, nothing to do here  
if (this.spreadsheet.datagrid) return this.spreadsheet.datagrid;  
   
var s = this.series,  
datagrid = this.spreadsheet.loadDataGrid(),  
colgroup = ['<colgroup><col />'],  
buttonDownload, buttonSelect, t;  
   
// First row : series' labels  
var html = ['<table class="flotr-datagrid"><tr class="first-row">'];  
html.push('<th>&nbsp;</th>');  
_.each(s, function(serie,i){  
html.push('<th scope="col">'+(serie.label || String.fromCharCode(65+i))+'</th>');  
colgroup.push('<col />');  
});  
html.push('</tr>');  
// Data rows  
_.each(datagrid, function(row){  
html.push('<tr>');  
_.times(s.length+1, function(i){  
var tag = 'td',  
value = row[i],  
// TODO: do we really want to handle problems with floating point  
// precision here?  
content = (!_.isUndefined(value) ? Math.round(value*100000)/100000 : '');  
if (i === 0) {  
tag = 'th';  
var label = getRowLabel.call(this, content);  
if (label) content = label;  
}  
   
html.push('<'+tag+(tag=='th'?' scope="row"':'')+'>'+content+'</'+tag+'>');  
}, this);  
html.push('</tr>');  
}, this);  
colgroup.push('</colgroup>');  
t = D.node(html.join(''));  
   
/**  
* @TODO disabled this  
if (!Flotr.isIE || Flotr.isIE == 9) {  
function handleMouseout(){ function handleMouseout(){
t.select('colgroup col.hover, th.hover').invoke('removeClassName', 'hover'); t.select('colgroup col.hover, th.hover').invoke('removeClassName', 'hover');
} }
function handleMouseover(e){ function handleMouseover(e){
var td = e.element(), var td = e.element(),
siblings = td.previousSiblings(); siblings = td.previousSiblings();
t.select('th[scope=col]')[siblings.length-1].addClassName('hover'); t.select('th[scope=col]')[siblings.length-1].addClassName('hover');
t.select('colgroup col')[siblings.length].addClassName('hover'); t.select('colgroup col')[siblings.length].addClassName('hover');
} }
_.each(t.select('td'), function(td) { _.each(t.select('td'), function(td) {
Flotr.EventAdapter. Flotr.EventAdapter.
observe(td, 'mouseover', handleMouseover). observe(td, 'mouseover', handleMouseover).
observe(td, 'mouseout', handleMouseout); observe(td, 'mouseout', handleMouseout);
}); });
} }
*/ */
   
buttonDownload = D.node( buttonDownload = D.node(
'<button type="button" class="flotr-datagrid-toolbar-button">' + '<button type="button" class="flotr-datagrid-toolbar-button">' +
this.options.spreadsheet.toolbarDownload + this.options.spreadsheet.toolbarDownload +
'</button>'); '</button>');
   
buttonSelect = D.node( buttonSelect = D.node(
'<button type="button" class="flotr-datagrid-toolbar-button">' + '<button type="button" class="flotr-datagrid-toolbar-button">' +
this.options.spreadsheet.toolbarSelectAll+ this.options.spreadsheet.toolbarSelectAll +
'</button>'); '</button>');
   
this. this.
observe(buttonDownload, 'click', _.bind(this.spreadsheet.downloadCSV, this)). observe(buttonDownload, 'click', _.bind(this.spreadsheet.downloadCSV, this)).
observe(buttonSelect, 'click', _.bind(this.spreadsheet.selectAllData, this)); observe(buttonSelect, 'click', _.bind(this.spreadsheet.selectAllData, this));
   
var toolbar = D.node('<div class="flotr-datagrid-toolbar"></div>'); var toolbar = D.node('<div class="flotr-datagrid-toolbar"></div>');
D.insert(toolbar, buttonDownload); D.insert(toolbar, buttonDownload);
D.insert(toolbar, buttonSelect); D.insert(toolbar, buttonSelect);
   
var containerHeight =this.canvasHeight - D.size(this.spreadsheet.tabsContainer).height-2, var containerHeight = this.canvasHeight - D.size(this.spreadsheet.tabsContainer).height - 2,
container = D.node('<div class="flotr-datagrid-container" style="position:absolute;left:0px;top:0px;width:'+ container = D.node('<div class="flotr-datagrid-container" style="position:absolute;left:0px;top:0px;width:' +
this.canvasWidth+'px;height:'+containerHeight+'px;overflow:auto;z-index:10"></div>'); this.canvasWidth + 'px;height:' + containerHeight + 'px;overflow:auto;z-index:10"></div>');
   
D.insert(container, toolbar); D.insert(container, toolbar);
D.insert(container, t); D.insert(container, t);
D.insert(this.el, container); D.insert(this.el, container);
this.spreadsheet.datagrid = t; this.spreadsheet.datagrid = t;
this.spreadsheet.container = container; this.spreadsheet.container = container;
   
return t; return t;
}, },
/** /**
* Shows the specified tab, by its name * Shows the specified tab, by its name
* @todo make a tab manager (Flotr.Tabs) * @todo make a tab manager (Flotr.Tabs)
* @param {String} tabName - The tab name * @param {String} tabName - The tab name
*/ */
showTab: function(tabName){ showTab: function (tabName) {
if (this.spreadsheet.activeTab === tabName){ if (this.spreadsheet.activeTab === tabName) {
return; return;
} }
switch(tabName) { switch (tabName) {
case 'graph': case 'graph':
D.hide(this.spreadsheet.container); D.hide(this.spreadsheet.container);
D.removeClass(this.spreadsheet.tabs.data, 'selected'); D.removeClass(this.spreadsheet.tabs.data, 'selected');
D.addClass(this.spreadsheet.tabs.graph, 'selected'); D.addClass(this.spreadsheet.tabs.graph, 'selected');
break; break;
case 'data': case 'data':
if (!this.spreadsheet.datagrid) if (!this.spreadsheet.datagrid)
this.spreadsheet.constructDataGrid(); this.spreadsheet.constructDataGrid();
D.show(this.spreadsheet.container); D.show(this.spreadsheet.container);
D.addClass(this.spreadsheet.tabs.data, 'selected'); D.addClass(this.spreadsheet.tabs.data, 'selected');
D.removeClass(this.spreadsheet.tabs.graph, 'selected'); D.removeClass(this.spreadsheet.tabs.graph, 'selected');
break; break;
default: default:
throw 'Illegal tab name: ' + tabName; throw 'Illegal tab name: ' + tabName;
} }
this.spreadsheet.activeTab = tabName; this.spreadsheet.activeTab = tabName;
}, },
/** /**
* Selects the data table in the DOM for copy/paste * Selects the data table in the DOM for copy/paste
*/ */
selectAllData: function(){ selectAllData: function () {
if (this.spreadsheet.tabs) { if (this.spreadsheet.tabs) {
var selection, range, doc, win, node = this.spreadsheet.constructDataGrid(); var selection, range, doc, win, node = this.spreadsheet.constructDataGrid();
   
this.spreadsheet.showTab('data'); this.spreadsheet.showTab('data');
   
// deferred to be able to select the table // deferred to be able to select the table
setTimeout(function () { setTimeout(function () {
if ((doc = node.ownerDocument) && (win = doc.defaultView) && if ((doc = node.ownerDocument) && (win = doc.defaultView) &&
win.getSelection && doc.createRange && win.getSelection && doc.createRange &&
(selection = window.getSelection()) && (selection = window.getSelection()) &&
selection.removeAllRanges) { selection.removeAllRanges) {
range = doc.createRange(); range = doc.createRange();
range.selectNode(node); range.selectNode(node);
selection.removeAllRanges(); selection.removeAllRanges();
selection.addRange(range); selection.addRange(range);
} }
else if (document.body && document.body.createTextRange && else if (document.body && document.body.createTextRange &&
(range = document.body.createTextRange())) { (range = document.body.createTextRange())) {
range.moveToElementText(node); range.moveToElementText(node);
range.select(); range.select();
} }
}, 0); }, 0);
return true; return true;
} }
else return false; else return false;
}, },
/** /**
* Converts the data into CSV in order to download a file * Converts the data into CSV in order to download a file
*/ */
downloadCSV: function(){ downloadCSV: function () {
var csv = '', var csv = '',
series = this.series, series = this.series,
options = this.options, options = this.options,
dg = this.spreadsheet.loadDataGrid(), dg = this.spreadsheet.loadDataGrid(),
separator = encodeURIComponent(options.spreadsheet.csvFileSeparator); separator = encodeURIComponent(options.spreadsheet.csvFileSeparator);
   
if (options.spreadsheet.decimalSeparator === options.spreadsheet.csvFileSeparator) { if (options.spreadsheet.decimalSeparator === options.spreadsheet.csvFileSeparator) {
throw "The decimal separator is the same as the column separator ("+options.spreadsheet.decimalSeparator+")"; throw "The decimal separator is the same as the column separator (" + options.spreadsheet.decimalSeparator + ")";
} }
   
// The first row // The first row
_.each(series, function(serie, i){ _.each(series, function (serie, i) {
csv += separator+'"'+(serie.label || String.fromCharCode(65+i)).replace(/\"/g, '\\"')+'"'; csv += separator + '"' + (serie.label || String.fromCharCode(65 + i)).replace(/\"/g, '\\"') + '"';
  });
   
  csv += "%0D%0A"; // \r\n
   
  // For each row
  csv += _.reduce(dg, function (memo, row) {
  var rowLabel = getRowLabel.call(this, row[0]) || '';
  rowLabel = '"' + (rowLabel + '').replace(/\"/g, '\\"') + '"';
  var numbers = row.slice(1).join(separator);
  if (options.spreadsheet.decimalSeparator !== '.') {
  numbers = numbers.replace(/\./g, options.spreadsheet.decimalSeparator);
  }
  return memo + rowLabel + separator + numbers + "%0D%0A"; // \t and \r\n
  }, '', this);
   
  if (Flotr.isIE && Flotr.isIE < 9) {
  csv = csv.replace(new RegExp(separator, 'g'), decodeURIComponent(separator)).replace(/%0A/g, '\n').replace(/%0D/g, '\r');
  window.open().document.write(csv);
  }
  else window.open('data:text/csv,' + csv);
  }
}); });
   
csv += "%0D%0A"; // \r\n  
   
// For each row  
csv += _.reduce(dg, function(memo, row){  
var rowLabel = getRowLabel.call(this, row[0]) || '';  
rowLabel = '"'+(rowLabel+'').replace(/\"/g, '\\"')+'"';  
var numbers = row.slice(1).join(separator);  
if (options.spreadsheet.decimalSeparator !== '.') {  
numbers = numbers.replace(/\./g, options.spreadsheet.decimalSeparator);  
}  
return memo + rowLabel+separator+numbers+"%0D%0A"; // \t and \r\n  
}, '', this);  
   
if (Flotr.isIE && Flotr.isIE < 9) {  
csv = csv.replace(new RegExp(separator, 'g'), decodeURIComponent(separator)).replace(/%0A/g, '\n').replace(/%0D/g, '\r');  
window.open().document.write(csv);  
}  
else window.open('data:text/csv,'+csv);  
}  
});  
})(); })();
   
(function () { (function () {
   
var D = Flotr.DOM; var D = Flotr.DOM;
   
Flotr.addPlugin('titles', { Flotr.addPlugin('titles', {
callbacks: { callbacks: {
'flotr:afterdraw': function() { 'flotr:afterdraw': function () {
this.titles.drawTitles(); this.titles.drawTitles();
} }
}, },
/** /**
* Draws the title and the subtitle * Draws the title and the subtitle
*/ */
drawTitles : function () { drawTitles: function () {
var html, var html,
options = this.options, options = this.options,
margin = options.grid.labelMargin, margin = options.grid.labelMargin,
ctx = this.ctx, ctx = this.ctx,
a = this.axes; a = this.axes;
   
if (!options.HtmlText && this.textEnabled) { if (!options.HtmlText && this.textEnabled) {
var style = { var style = {
size: options.fontSize, size: options.fontSize,
color: options.grid.color, color: options.grid.color,
textAlign: 'center' textAlign: 'center'
}; };
   
// Add subtitle // Add subtitle
if (options.subtitle){ if (options.subtitle) {
Flotr.drawText( Flotr.drawText(
ctx, options.subtitle, ctx, options.subtitle,
this.plotOffset.left + this.plotWidth/2, this.plotOffset.left + this.plotWidth / 2,
this.titleHeight + this.subtitleHeight - 2, this.titleHeight + this.subtitleHeight - 2,
style style
); );
} }
   
style.weight = 1.5; style.weight = 1.5;
style.size *= 1.5; style.size *= 1.5;
   
// Add title // Add title
if (options.title){ if (options.title) {
Flotr.drawText( Flotr.drawText(
ctx, options.title, ctx, options.title,
this.plotOffset.left + this.plotWidth/2, this.plotOffset.left + this.plotWidth / 2,
this.titleHeight - 2, this.titleHeight - 2,
style style
); );
} }
   
style.weight = 1.8; style.weight = 1.8;
style.size *= 0.8; style.size *= 0.8;
   
// Add x axis title // Add x axis title
if (a.x.options.title && a.x.used){ if (a.x.options.title && a.x.used) {
style.textAlign = a.x.options.titleAlign || 'center'; style.textAlign = a.x.options.titleAlign || 'center';
style.textBaseline = 'top'; style.textBaseline = 'top';
style.angle = Flotr.toRad(a.x.options.titleAngle); style.angle = Flotr.toRad(a.x.options.titleAngle);
style = Flotr.getBestTextAlign(style.angle, style); style = Flotr.getBestTextAlign(style.angle, style);
Flotr.drawText( Flotr.drawText(
ctx, a.x.options.title, ctx, a.x.options.title,
this.plotOffset.left + this.plotWidth/2, this.plotOffset.left + this.plotWidth / 2,
this.plotOffset.top + a.x.maxLabel.height + this.plotHeight + 2 * margin, this.plotOffset.top + a.x.maxLabel.height + this.plotHeight + 2 * margin,
style style
); );
} }
   
// Add x2 axis title // Add x2 axis title
if (a.x2.options.title && a.x2.used){ if (a.x2.options.title && a.x2.used) {
style.textAlign = a.x2.options.titleAlign || 'center'; style.textAlign = a.x2.options.titleAlign || 'center';
style.textBaseline = 'bottom'; style.textBaseline = 'bottom';
style.angle = Flotr.toRad(a.x2.options.titleAngle); style.angle = Flotr.toRad(a.x2.options.titleAngle);
style = Flotr.getBestTextAlign(style.angle, style); style = Flotr.getBestTextAlign(style.angle, style);
Flotr.drawText( Flotr.drawText(
ctx, a.x2.options.title, ctx, a.x2.options.title,
this.plotOffset.left + this.plotWidth/2, this.plotOffset.left + this.plotWidth / 2,
this.plotOffset.top - a.x2.maxLabel.height - 2 * margin, this.plotOffset.top - a.x2.maxLabel.height - 2 * margin,
style style
); );
} }
   
// Add y axis title // Add y axis title
if (a.y.options.title && a.y.used){ if (a.y.options.title && a.y.used) {
style.textAlign = a.y.options.titleAlign || 'right'; style.textAlign = a.y.options.titleAlign || 'right';
style.textBaseline = 'middle'; style.textBaseline = 'middle';
style.angle = Flotr.toRad(a.y.options.titleAngle); style.angle = Flotr.toRad(a.y.options.titleAngle);
style = Flotr.getBestTextAlign(style.angle, style); style = Flotr.getBestTextAlign(style.angle, style);
Flotr.drawText( Flotr.drawText(
ctx, a.y.options.title, ctx, a.y.options.title,
this.plotOffset.left - a.y.maxLabel.width - 2 * margin, this.plotOffset.left - a.y.maxLabel.width - 2 * margin,
this.plotOffset.top + this.plotHeight / 2, this.plotOffset.top + this.plotHeight / 2,
style style
); );
} }
   
// Add y2 axis title // Add y2 axis title
if (a.y2.options.title && a.y2.used){ if (a.y2.options.title && a.y2.used) {
style.textAlign = a.y2.options.titleAlign || 'left'; style.textAlign = a.y2.options.titleAlign || 'left';
style.textBaseline = 'middle'; style.textBaseline = 'middle';
style.angle = Flotr.toRad(a.y2.options.titleAngle); style.angle = Flotr.toRad(a.y2.options.titleAngle);
style = Flotr.getBestTextAlign(style.angle, style); style = Flotr.getBestTextAlign(style.angle, style);
Flotr.drawText( Flotr.drawText(
ctx, a.y2.options.title, ctx, a.y2.options.title,
this.plotOffset.left + this.plotWidth + a.y2.maxLabel.width + 2 * margin, this.plotOffset.left + this.plotWidth + a.y2.maxLabel.width + 2 * margin,
this.plotOffset.top + this.plotHeight / 2, this.plotOffset.top + this.plotHeight / 2,
style style
); );
} }
} }
else { else {
html = []; html = [];
   
// Add title // Add title
if (options.title) if (options.title)
html.push( html.push(
'<div style="position:absolute;top:0;left:', '<div style="position:absolute;top:0;left:',
this.plotOffset.left, 'px;font-size:1em;font-weight:bold;text-align:center;width:', this.plotOffset.left, 'px;font-size:1em;font-weight:bold;text-align:center;width:',
this.plotWidth,'px;" class="flotr-title">', options.title, '</div>' this.plotWidth, 'px;" class="flotr-title">', options.title, '</div>'
); );
   
// Add subtitle // Add subtitle
if (options.subtitle) if (options.subtitle)
html.push( html.push(
'<div style="position:absolute;top:', this.titleHeight, 'px;left:', '<div style="position:absolute;top:', this.titleHeight, 'px;left:',
this.plotOffset.left, 'px;font-size:smaller;text-align:center;width:', this.plotOffset.left, 'px;font-size:smaller;text-align:center;width:',
this.plotWidth, 'px;" class="flotr-subtitle">', options.subtitle, '</div>' this.plotWidth, 'px;" class="flotr-subtitle">', options.subtitle, '</div>'
); );
   
html.push('</div>'); html.push('</div>');
   
html.push('<div class="flotr-axis-title" style="font-weight:bold;">'); html.push('<div class="flotr-axis-title" style="font-weight:bold;">');
   
// Add x axis title // Add x axis title
if (a.x.options.title && a.x.used) if (a.x.options.title && a.x.used)
html.push( html.push(
'<div style="position:absolute;top:', '<div style="position:absolute;top:',
(this.plotOffset.top + this.plotHeight + options.grid.labelMargin + a.x.titleSize.height), (this.plotOffset.top + this.plotHeight + options.grid.labelMargin + a.x.titleSize.height),
'px;left:', this.plotOffset.left, 'px;width:', this.plotWidth, 'px;left:', this.plotOffset.left, 'px;width:', this.plotWidth,
'px;text-align:', a.x.options.titleAlign, ';" class="flotr-axis-title flotr-axis-title-x1">', a.x.options.title, '</div>' 'px;text-align:', a.x.options.titleAlign, ';" class="flotr-axis-title flotr-axis-title-x1">', a.x.options.title, '</div>'
); );
   
// Add x2 axis title // Add x2 axis title
if (a.x2.options.title && a.x2.used) if (a.x2.options.title && a.x2.used)
html.push( html.push(
'<div style="position:absolute;top:0;left:', this.plotOffset.left, 'px;width:', '<div style="position:absolute;top:0;left:', this.plotOffset.left, 'px;width:',
this.plotWidth, 'px;text-align:', a.x2.options.titleAlign, ';" class="flotr-axis-title flotr-axis-title-x2">', a.x2.options.title, '</div>' this.plotWidth, 'px;text-align:', a.x2.options.titleAlign, ';" class="flotr-axis-title flotr-axis-title-x2">', a.x2.options.title, '</div>'
); );
   
// Add y axis title // Add y axis title
if (a.y.options.title && a.y.used) if (a.y.options.title && a.y.used)
html.push( html.push(
'<div style="position:absolute;top:', '<div style="position:absolute;top:',
(this.plotOffset.top + this.plotHeight/2 - a.y.titleSize.height/2), (this.plotOffset.top + this.plotHeight / 2 - a.y.titleSize.height / 2),
'px;left:0;text-align:', a.y.options.titleAlign, ';" class="flotr-axis-title flotr-axis-title-y1">', a.y.options.title, '</div>' 'px;left:0;text-align:', a.y.options.titleAlign, ';" class="flotr-axis-title flotr-axis-title-y1">', a.y.options.title, '</div>'
); );
   
// Add y2 axis title // Add y2 axis title
if (a.y2.options.title && a.y2.used) if (a.y2.options.title && a.y2.used)
html.push( html.push(
'<div style="position:absolute;top:', '<div style="position:absolute;top:',
(this.plotOffset.top + this.plotHeight/2 - a.y.titleSize.height/2), (this.plotOffset.top + this.plotHeight / 2 - a.y.titleSize.height / 2),
'px;right:0;text-align:', a.y2.options.titleAlign, ';" class="flotr-axis-title flotr-axis-title-y2">', a.y2.options.title, '</div>' 'px;right:0;text-align:', a.y2.options.titleAlign, ';" class="flotr-axis-title flotr-axis-title-y2">', a.y2.options.title, '</div>'
); );
   
html = html.join(''); html = html.join('');
   
var div = D.create('div'); var div = D.create('div');
D.setStyles({ D.setStyles({
color: options.grid.color color: options.grid.color
}); });
div.className = 'flotr-titles'; div.className = 'flotr-titles';
D.insert(this.el, div); D.insert(this.el, div);
D.insert(div, html); D.insert(div, html);
} }
} }
}); });
})(); })();
   
(function () { (function () {
   
Flotr.ExampleList.add({ Flotr.ExampleList.add({
key : 'test-background', key: 'test-background',
name : 'Test Background', name: 'Test Background',
callback : test_background, callback: test_background,
timeout : 100, timeout: 100,
tolerance : 10 tolerance: 10
}); });
   
function test_background (container) { function test_background(container) {
   
var var
d1 = [], d1 = [],
d2 = [], d2 = [],
d3 = [], d3 = [],
d4 = [], d4 = [],
d5 = [], // Data d5 = [], // Data
ticks = [[ 0, "Lower"], 10, 20, 30, [40, "Upper"]], // Ticks for the Y-Axis ticks = [
graph; [ 0, "Lower"],
  10,
for(var i = 0; i <= 10; i += 0.1){ 20,
d1.push([i, 4 + Math.pow(i,1.5)]); 30,
d2.push([i, Math.pow(i,3)]); [40, "Upper"]
d3.push([i, i*5+3*Math.sin(i*4)]); ], // Ticks for the Y-Axis
d4.push([i, i]); graph;
if( i.toFixed(1)%1 == 0 ){  
d5.push([i, 2*i]); for (var i = 0; i <= 10; i += 0.1) {
  d1.push([i, 4 + Math.pow(i, 1.5)]);
  d2.push([i, Math.pow(i, 3)]);
  d3.push([i, i * 5 + 3 * Math.sin(i * 4)]);
  d4.push([i, i]);
  if (i.toFixed(1) % 1 == 0) {
  d5.push([i, 2 * i]);
  }
  }
   
  d3[30][1] = null;
  d3[31][1] = null;
   
  function ticksFn(n) {
  return '(' + n + ')';
  }
   
  graph = Flotr.draw(container, [
  { data: d1, label: 'y = 4 + x^(1.5)', lines: { fill: true } },
  { data: d2, label: 'y = x^3'},
  { data: d3, label: 'y = 5x + 3sin(4x)'},
  { data: d4, label: 'y = x'},
  { data: d5, label: 'y = 2x', lines: { show: true }, points: { show: true } }
  ], {
  xaxis: {
  noTicks: 7, // Display 7 ticks.
  tickFormatter: ticksFn, // Displays tick values between brackets.
  min: 1, // Part of the series is not displayed.
  max: 7.5 // Part of the series is not displayed.
  },
  yaxis: {
  ticks: ticks, // Set Y-Axis ticks
  max: 40 // Maximum value along Y-Axis
  },
  grid: {
  verticalLines: false,
  backgroundImage: {
  src: 'img/test-background.png?' + Math.random()
  }
  },
  legend: {
  position: 'nw'
  },
  title: 'Basic Axis example',
  subtitle: 'This is a subtitle'
  });
} }
}  
   
d3[30][1] = null;  
d3[31][1] = null;  
   
function ticksFn (n) { return '('+n+')'; }  
   
graph = Flotr.draw(container, [  
{ data : d1, label : 'y = 4 + x^(1.5)', lines : { fill : true } },  
{ data : d2, label : 'y = x^3'},  
{ data : d3, label : 'y = 5x + 3sin(4x)'},  
{ data : d4, label : 'y = x'},  
{ data : d5, label : 'y = 2x', lines : { show : true }, points : { show : true } }  
], {  
xaxis : {  
noTicks : 7, // Display 7 ticks.  
tickFormatter : ticksFn, // Displays tick values between brackets.  
min : 1, // Part of the series is not displayed.  
max : 7.5 // Part of the series is not displayed.  
},  
yaxis : {  
ticks : ticks, // Set Y-Axis ticks  
max : 40 // Maximum value along Y-Axis  
},  
grid : {  
verticalLines : false,  
backgroundImage : {  
src : 'img/test-background.png?' + Math.random()  
}  
},  
legend : {  
position : 'nw'  
},  
title : 'Basic Axis example',  
subtitle : 'This is a subtitle'  
});  
}  
   
})(); })();
   
(function () { (function () {
   
Flotr.ExampleList.add({ Flotr.ExampleList.add({
key : 'test-boundaries', key: 'test-boundaries',
name : 'Test Boundaries', name: 'Test Boundaries',
callback : test_boundaries callback: test_boundaries
}); });
   
function test_boundaries (container) { function test_boundaries(container) {
   
var var
d1 = [[0, 0], [5, 0], [6, 10], [9, 10]], // First data series d1 = [
i, graph; [0, 0],
  [5, 0],
  [6, 10],
  [9, 10]
  ], // First data series
  i, graph;
   
// Draw Graph // Draw Graph
graph = Flotr.draw(container, [ d1 ], { graph = Flotr.draw(container, [ d1 ], {
title : 'test', title: 'test',
xaxis: { xaxis: {
minorTickFreq: 4 minorTickFreq: 4
}, },
lines: { lines: {
lineWidth : 2 lineWidth: 2
}, },
grid: { grid: {
outlineWidth : 2, outlineWidth: 2,
minorVerticalLines: true minorVerticalLines: true
  }
  });
} }
});  
}  
   
})(); })();
   
(function () { (function () {
   
Flotr.ExampleList.add({ Flotr.ExampleList.add({
key : 'test-mountain-nulls', key: 'test-mountain-nulls',
name : 'Mountain Nulls', name: 'Mountain Nulls',
callback : function (container) { callback: function (container) {
var var
d1 = [[0, 3], [4, 8], [5, 6], [6, null], [7, 7], [8, 5]], // First data series d1 = [
d2 = [], // Second data series [0, 3],
i, graph; [4, 8],
  [5, 6],
  [6, null],
  [7, 7],
  [8, 5]
  ], // First data series
  d2 = [], // Second data series
  i, graph;
   
// Generate first data set // Generate first data set
for (i = 0; i < 14; i += 0.5) { for (i = 0; i < 14; i += 0.5) {
d2.push([i, Math.sin(i)]); d2.push([i, Math.sin(i)]);
} }
   
// Multiple nulls  
d2[9][1] = null;  
d2[10][1] = null;  
d2[11][1] = null;  
   
// Single not null surrounded by null  
d2[13][1] = null;  
   
// < 0 null  
d2[23][1] = null;  
   
// Draw Graph // Multiple nulls
graph = Flotr.draw(container, [ d1, d2 ], { d2[9][1] = null;
xaxis: { d2[10][1] = null;
minorTickFreq: 4 d2[11][1] = null;
},  
lines: { // Single not null surrounded by null
fill : true d2[13][1] = null;
},  
grid: { // < 0 null
minorVerticalLines: true d2[23][1] = null;
}  
  // Draw Graph
  graph = Flotr.draw(container, [ d1, d2 ], {
  xaxis: {
  minorTickFreq: 4
  },
  lines: {
  fill: true
  },
  grid: {
  minorVerticalLines: true
  }
  });
  },
  type: 'test'
}); });
},  
type : 'test'  
});  
   
})(); })();
   
/*! jQuery v1.8.2 jquery.com | jquery.org/license */ /*! jQuery v1.8.2 jquery.com | jquery.org/license */
(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d<e;d++)p.event.add(b,c,h[c][d])}g.data&&(g.data=p.extend({},g.data))}function bE(a,b){var c;if(b.nodeType!==1)return;b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?(b.parentNode&&(b.outerHTML=a.outerHTML),p.support.html5Clone&&a.innerHTML&&!p.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):c==="input"&&bv.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text),b.removeAttribute(p.expando)}function bF(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bG(a){bv.test(a.type)&&(a.defaultChecked=a.checked)}function bY(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=bW.length;while(e--){b=bW[e]+c;if(b in a)return b}return d}function bZ(a,b){return a=b||a,p.css(a,"display")==="none"||!p.contains(a.ownerDocument,a)}function b$(a,b){var c,d,e=[],f=0,g=a.length;for(;f<g;f++){c=a[f];if(!c.style)continue;e[f]=p._data(c,"olddisplay"),b?(!e[f]&&c.style.display==="none"&&(c.style.display=""),c.style.display===""&&bZ(c)&&(e[f]=p._data(c,"olddisplay",cc(c.nodeName)))):(d=bH(c,"display"),!e[f]&&d!=="none"&&p._data(c,"olddisplay",d))}for(f=0;f<g;f++){c=a[f];if(!c.style)continue;if(!b||c.style.display==="none"||c.style.display==="")c.style.display=b?e[f]||"":"none"}return a}function b_(a,b,c){var d=bP.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function ca(a,b,c,d){var e=c===(d?"border":"content")?4:b==="width"?1:0,f=0;for(;e<4;e+=2)c==="margin"&&(f+=p.css(a,c+bV[e],!0)),d?(c==="content"&&(f-=parseFloat(bH(a,"padding"+bV[e]))||0),c!=="margin"&&(f-=parseFloat(bH(a,"border"+bV[e]+"Width"))||0)):(f+=parseFloat(bH(a,"padding"+bV[e]))||0,c!=="padding"&&(f+=parseFloat(bH(a,"border"+bV[e]+"Width"))||0));return f}function cb(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=!0,f=p.support.boxSizing&&p.css(a,"boxSizing")==="border-box";if(d<=0||d==null){d=bH(a,b);if(d<0||d==null)d=a.style[b];if(bQ.test(d))return d;e=f&&(p.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+ca(a,b,c||(f?"border":"content"),e)+"px"}function cc(a){if(bS[a])return bS[a];var b=p("<"+a+">").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write("<!doctype html><html><body>"),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h<i;h++)d=g[h],f=/^\+/.test(d),f&&(d=d.substr(1)||"*"),e=a[d]=a[d]||[],e[f?"unshift":"push"](c)}}function cA(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h,i=a[f],j=0,k=i?i.length:0,l=a===cv;for(;j<k&&(l||!h);j++)h=i[j](c,d,e),typeof h=="string"&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=cA(a,c,d,e,h,g)));return(l||!h)&&!g["*"]&&(h=cA(a,c,d,e,"*",g)),h}function cB(a,c){var d,e,f=p.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&p.extend(!0,a,e)}function cC(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);while(j[0]==="*")j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("content-type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}if(g)return g!==j[0]&&j.unshift(g),d[g]}function cD(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;a.dataFilter&&(b=a.dataFilter(b,a.dataType));if(g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if(e!=="*"){if(h!=="*"&&h!==e){c=i[h+" "+e]||i["* "+e];if(!c)for(d in i){f=d.split(" ");if(f[1]===e){c=i[h+" "+f[0]]||i["* "+f[0]];if(c){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}}}if(c!==!0)if(c&&a["throws"])b=c(b);else try{b=c(b)}catch(k){return{state:"parsererror",error:c?k:"No conversion from "+h+" to "+e}}}h=e}return{state:"success",data:b}}function cL(){try{return new a.XMLHttpRequest}catch(b){}}function cM(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cU(){return setTimeout(function(){cN=b},0),cN=p.now()}function cV(a,b){p.each(b,function(b,c){var d=(cT[b]||[]).concat(cT["*"]),e=0,f=d.length;for(;e<f;e++)if(d[e].call(a,b,c))return})}function cW(a,b,c){var d,e=0,f=0,g=cS.length,h=p.Deferred().always(function(){delete i.elem}),i=function(){var b=cN||cU(),c=Math.max(0,j.startTime+j.duration-b),d=1-(c/j.duration||0),e=0,f=j.tweens.length;for(;e<f;e++)j.tweens[e].run(d);return h.notifyWith(a,[j,d,c]),d<1&&f?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:p.extend({},b),opts:p.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:cN||cU(),duration:c.duration,tweens:[],createTween:function(b,c,d){var e=p.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(e),e},stop:function(b){var c=0,d=b?j.tweens.length:0;for(;c<d;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;cX(k,j.opts.specialEasing);for(;e<g;e++){d=cS[e].call(j,a,k,j.opts);if(d)return d}return cV(j,k),p.isFunction(j.opts.start)&&j.opts.start.call(a,j),p.fx.timer(p.extend(i,{anim:j,queue:j.opts.queue,elem:a})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function cX(a,b){var c,d,e,f,g;for(c in a){d=p.camelCase(c),e=b[d],f=a[c],p.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=p.cssHooks[d];if(g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}}function cY(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],q=a.nodeType&&bZ(a);c.queue||(j=p._queueHooks(a,"fx"),j.unqueued==null&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,p.queue(a,"fx").length||j.empty.fire()})})),a.nodeType===1&&("height"in b||"width"in b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],p.css(a,"display")==="inline"&&p.css(a,"float")==="none"&&(!p.support.inlineBlockNeedsLayout||cc(a.nodeName)==="inline"?m.display="inline-block":m.zoom=1)),c.overflow&&(m.overflow="hidden",p.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d in b){f=b[d];if(cP.exec(f)){delete b[d];if(f===(q?"hide":"show"))continue;o.push(d)}}g=o.length;if(g){h=p._data(a,"fxshow")||p._data(a,"fxshow",{}),q?p(a).show():l.done(function(){p(a).hide()}),l.done(function(){var b;p.removeData(a,"fxshow",!0);for(b in n)p.style(a,b,n[b])});for(d=0;d<g;d++)e=o[d],i=l.createTween(e,q?h[e]:0),n[e]=h[e]||p.style(a,e),e in h||(h[e]=i.start,q&&(i.end=i.start,i.start=e==="width"||e==="height"?1:0))}}function cZ(a,b,c,d,e){return new cZ.prototype.init(a,b,c,d,e)}function c$(a,b){var c,d={height:a},e=0;b=b?1:0;for(;e<4;e+=2-b)c=bV[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function da(a){return p.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var c,d,e=a.document,f=a.location,g=a.navigator,h=a.jQuery,i=a.$,j=Array.prototype.push,k=Array.prototype.slice,l=Array.prototype.indexOf,m=Object.prototype.toString,n=Object.prototype.hasOwnProperty,o=String.prototype.trim,p=function(a,b){return new p.fn.init(a,b,c)},q=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,r=/\S/,s=/\s+/,t=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,u=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i<j;i++)if((a=arguments[i])!=null)for(c in a){d=h[c],e=a[c];if(h===e)continue;k&&e&&(p.isPlainObject(e)||(f=p.isArray(e)))?(f?(f=!1,g=d&&p.isArray(d)?d:[]):g=d&&p.isPlainObject(d)?d:{},h[c]=p.extend(k,g,e)):e!==b&&(h[c]=e)}return h},p.extend({noConflict:function(b){return a.$===p&&(a.$=i),b&&a.jQuery===p&&(a.jQuery=h),p},isReady:!1,readyWait:1,holdReady:function(a){a?p.readyWait++:p.ready(!0)},ready:function(a){if(a===!0?--p.readyWait:p.isReady)return;if(!e.body)return setTimeout(p.ready,1);p.isReady=!0;if(a!==!0&&--p.readyWait>0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f<g;)if(c.apply(a[f++],d)===!1)break}else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;f<g;)if(c.call(a[f],f,a[f++])===!1)break;return a},trim:o&&!o.call(" ")?function(a){return a==null?"":o.call(a)}:function(a){return a==null?"":(a+"").replace(t,"")},makeArray:function(a,b){var c,d=b||[];return a!=null&&(c=p.type(a),a.length==null||c==="string"||c==="function"||c==="regexp"||p.isWindow(a)?j.call(d,a):p.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(l)return l.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if(typeof d=="number")for(;f<d;f++)a[e++]=c[f];else while(c[f]!==b)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;c=!!c;for(;f<g;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof p||i!==b&&typeof i=="number"&&(i>0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h<i;h++)e=c(a[h],h,d),e!=null&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),e!=null&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return typeof c=="string"&&(d=a[c],c=a,a=d),p.isFunction(a)?(e=k.call(arguments,2),f=function(){return a.apply(c,e.concat(k.call(arguments)))},f.guid=a.guid=a.guid||p.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=d==null,k=0,l=a.length;if(d&&typeof d=="object"){for(k in d)p.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){i=h===b&&p.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call(p(a),c)}):(c.call(a,e),c=null));if(c)for(;k<l;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),p.ready.promise=function(b){if(!d){d=p.Deferred();if(e.readyState==="complete")setTimeout(p.ready,1);else if(e.addEventListener)e.addEventListener("DOMContentLoaded",D,!1),a.addEventListener("load",p.ready,!1);else{e.attachEvent("onreadystatechange",D),a.attachEvent("onload",p.ready);var c=!1;try{c=a.frameElement==null&&e.documentElement}catch(f){}c&&c.doScroll&&function g(){if(!p.isReady){try{c.doScroll("left")}catch(a){return setTimeout(g,50)}p.ready()}}()}}return d.promise(b)},p.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){E["[object "+b+"]"]=b.toLowerCase()}),c=p(e);var F={};p.Callbacks=function(a){a=typeof a=="string"?F[a]||G(a):p.extend({},a);var c,d,e,f,g,h,i=[],j=!a.once&&[],k=function(b){c=a.memory&&b,d=!0,h=f||0,f=0,g=i.length,e=!0;for(;i&&h<g;h++)if(i[h].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}e=!1,i&&(j?j.length&&k(j.shift()):c?i=[]:l.disable())},l={add:function(){if(i){var b=i.length;(function d(b){p.each(b,function(b,c){var e=p.type(c);e==="function"&&(!a.unique||!l.has(c))?i.push(c):c&&c.length&&e!=="string"&&d(c)})})(arguments),e?g=i.length:c&&(f=b,k(c))}return this},remove:function(){return i&&p.each(arguments,function(a,b){var c;while((c=p.inArray(b,i,c))>-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b<d;b++)c[b]&&p.isFunction(c[b].promise)?c[b].promise().done(g(b,j,c)).fail(f.reject).progress(g(b,i,h)):--e}return e||f.resolveWith(j,c),f.promise()}}),p.support=function(){var b,c,d,f,g,h,i,j,k,l,m,n=e.createElement("div");n.setAttribute("className","t"),n.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="<div></div>",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e<f;e++)delete d[b[e]];if(!(c?K:p.isEmptyObject)(d))return}}if(!c){delete h[i].data;if(!K(h[i]))return}g?p.cleanData([a],!0):p.support.deleteExpando||h!=h.window?delete h[i]:h[i]=null},_data:function(a,b,c){return p.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute("classid")===b}}),p.fn.extend({data:function(a,c){var d,e,f,g,h,i=this[0],j=0,k=null;if(a===b){if(this.length){k=p.data(i);if(i.nodeType===1&&!p._data(i,"parsedAttrs")){f=i.attributes;for(h=f.length;j<h;j++)g=f[j].name,g.indexOf("data-")||(g=p.camelCase(g.substring(5)),J(i,g,k[g]));p._data(i,"parsedAttrs",!0)}}return k}return typeof a=="object"?this.each(function(){p.data(this,a)}):(d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!",p.access(this,function(c){if(c===b)return k=this.triggerHandler("getData"+e,[d[0]]),k===b&&i&&(k=p.data(i,a),k=J(i,a,k)),k===b&&d[1]?this.data(d[0]):k;d[1]=c,this.each(function(){var b=p(this);b.triggerHandler("setData"+e,d),p.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length<d?p.queue(this[0],a):c===b?this:this.each(function(){var b=p.queue(this,a,c);p._queueHooks(this,a),a==="fx"&&b[0]!=="inprogress"&&p.dequeue(this,a)})},dequeue:function(a){return this.each(function(){p.dequeue(this,a)})},delay:function(a,b){return a=p.fx?p.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){var d,e=1,f=p.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};typeof a!="string"&&(c=a,a=b),a=a||"fx";while(h--)d=p._data(g[h],a+"queueHooks"),d&&d.empty&&(e++,d.empty.add(i));return i(),f.promise(c)}});var L,M,N,O=/[\t\r\n]/g,P=/\r/g,Q=/^(?:button|input)$/i,R=/^(?:button|input|object|select|textarea)$/i,S=/^a(?:rea|)$/i,T=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,U=p.support.getSetAttribute;p.fn.extend({attr:function(a,b){return p.access(this,p.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{f=" "+e.className+" ";for(g=0,h=b.length;g<h;g++)f.indexOf(" "+b[g]+" ")<0&&(f+=b[g]+" ");e.className=p.trim(f)}}}return this},removeClass:function(a){var c,d,e,f,g,h,i;if(p.isFunction(a))return this.each(function(b){p(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(s);for(h=0,i=this.length;h<i;h++){e=this[h];if(e.nodeType===1&&e.className){d=(" "+e.className+" ").replace(O," ");for(f=0,g=c.length;f<g;f++)while(d.indexOf(" "+c[f]+" ")>=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(O," ").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c<d;c++){e=h[c];if(e.selected&&(p.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!p.nodeName(e.parentNode,"optgroup"))){b=p(e).val();if(i)return b;g.push(b)}}return i&&!g.length&&h.length?p(h[f]).val():g},set:function(a,b){var c=p.makeArray(b);return p(a).find("option").each(function(){this.selected=p.inArray(p(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g<d.length;g++)e=d[g],e&&(c=p.propFix[e]||e,f=T.test(e),f||p.attr(a,e,""),a.removeAttribute(U?e:c),f&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(Q.test(a.nodeName)&&a.parentNode)p.error("type property can't be changed");else if(!p.support.radioValue&&b==="radio"&&p.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}},value:{get:function(a,b){return L&&p.nodeName(a,"button")?L.get(a,b):b in a?a.value:null},set:function(a,b,c){if(L&&p.nodeName(a,"button"))return L.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,f,g,h=a.nodeType;if(!a||h===3||h===8||h===2)return;return g=h!==1||!p.isXMLDoc(a),g&&(c=p.propFix[c]||c,f=p.propHooks[c]),d!==b?f&&"set"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&"get"in f&&(e=f.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):R.test(a.nodeName)||S.test(a.nodeName)&&a.href?0:b}}}}),M={get:function(a,c){var d,e=p.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;return b===!1?p.removeAttr(a,c):(d=p.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},U||(N={name:!0,id:!0,coords:!0},L=p.valHooks.button={get:function(a,c){var d;return d=a.getAttributeNode(c),d&&(N[c]?d.value!=="":d.specified)?d.value:b},set:function(a,b,c){var d=a.getAttributeNode(c);return d||(d=e.createAttribute(c),a.setAttributeNode(d)),d.value=b+""}},p.each(["width","height"],function(a,b){p.attrHooks[b]=p.extend(p.attrHooks[b],{set:function(a,c){if(c==="")return a.setAttribute(b,"auto"),c}})}),p.attrHooks.contenteditable={get:L.get,set:function(a,b,c){b===""&&(b="false"),L.set(a,b,c)}}),p.support.hrefNormalized||p.each(["href","src","width","height"],function(a,c){p.attrHooks[c]=p.extend(p.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),p.support.style||(p.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=b+""}}),p.support.optSelected||(p.propHooks.selected=p.extend(p.propHooks.selected,{get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),p.support.enctype||(p.propFix.enctype="encoding"),p.support.checkOn||p.each(["radio","checkbox"],function(){p.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),p.each(["radio","checkbox"],function(){p.valHooks[this]=p.extend(p.valHooks[this],{set:function(a,b){if(p.isArray(b))return a.checked=p.inArray(p(a).val(),b)>=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j<c.length;j++){k=W.exec(c[j])||[],l=k[1],m=(k[2]||"").split(".").sort(),r=p.event.special[l]||{},l=(f?r.delegateType:r.bindType)||l,r=p.event.special[l]||{},n=p.extend({type:l,origType:k[1],data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&p.expr.match.needsContext.test(f),namespace:m.join(".")},o),q=i[l];if(!q){q=i[l]=[],q.delegateCount=0;if(!r.setup||r.setup.call(a,e,m,h)===!1)a.addEventListener?a.addEventListener(l,h,!1):a.attachEvent&&a.attachEvent("on"+l,h)}r.add&&(r.add.call(a,n),n.handler.guid||(n.handler.guid=d.guid)),f?q.splice(q.delegateCount++,0,n):q.push(n),p.event.global[l]=!0}a=null},global:{},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r=p.hasData(a)&&p._data(a);if(!r||!(m=r.events))return;b=p.trim(_(b||"")).split(" ");for(f=0;f<b.length;f++){g=W.exec(b[f])||[],h=i=g[1],j=g[2];if(!h){for(h in m)p.event.remove(a,h+b[f],c,d,!0);continue}n=p.event.special[h]||{},h=(d?n.delegateType:n.bindType)||h,o=m[h]||[],k=o.length,j=j?new RegExp("(^|\\.)"+j.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(l=0;l<o.length;l++)q=o[l],(e||i===q.origType)&&(!c||c.guid===q.guid)&&(!j||j.test(q.namespace))&&(!d||d===q.selector||d==="**"&&q.selector)&&(o.splice(l--,1),q.selector&&o.delegateCount--,n.remove&&n.remove.call(a,q));o.length===0&&k!==o.length&&((!n.teardown||n.teardown.call(a,j,r.handle)===!1)&&p.removeEvent(a,h,r.handle),delete m[h])}p.isEmptyObject(m)&&(delete r.handle,p.removeData(a,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,f,g){if(!f||f.nodeType!==3&&f.nodeType!==8){var h,i,j,k,l,m,n,o,q,r,s=c.type||c,t=[];if($.test(s+p.event.triggered))return;s.indexOf("!")>=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j<q.length&&!c.isPropagationStopped();j++)k=q[j][0],c.type=q[j][1],o=(p._data(k,"events")||{})[c.type]&&p._data(k,"handle"),o&&o.apply(k,d),o=m&&k[m],o&&p.acceptData(k)&&o.apply&&o.apply(k,d)===!1&&c.preventDefault();return c.type=s,!g&&!c.isDefaultPrevented()&&(!n._default||n._default.apply(f.ownerDocument,d)===!1)&&(s!=="click"||!p.nodeName(f,"a"))&&p.acceptData(f)&&m&&f[s]&&(s!=="focus"&&s!=="blur"||c.target.offsetWidth!==0)&&!p.isWindow(f)&&(l=f[m],l&&(f[m]=null),p.event.triggered=s,f[s](),p.event.triggered=b,l&&(f[m]=l)),c.result}return},dispatch:function(c){c=p.event.fix(c||a.event);var d,e,f,g,h,i,j,l,m,n,o=(p._data(this,"events")||{})[c.type]||[],q=o.delegateCount,r=k.call(arguments),s=!c.exclusive&&!c.namespace,t=p.event.special[c.type]||{},u=[];r[0]=c,c.delegateTarget=this;if(t.preDispatch&&t.preDispatch.call(this,c)===!1)return;if(q&&(!c.button||c.type!=="click"))for(f=c.target;f!=this;f=f.parentNode||this)if(f.disabled!==!0||c.type!=="click"){h={},j=[];for(d=0;d<q;d++)l=o[d],m=l.selector,h[m]===b&&(h[m]=l.needsContext?p(m,this).index(f)>=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d<u.length&&!c.isPropagationStopped();d++){i=u[d],c.currentTarget=i.elem;for(e=0;e<i.matches.length&&!c.isImmediatePropagationStopped();e++){l=i.matches[e];if(s||!c.namespace&&!l.namespace||c.namespace_re&&c.namespace_re.test(l.namespace))c.data=l.data,c.handleObj=l,g=((p.event.special[l.origType]||{}).handle||l.handler).apply(i.elem,r),g!==b&&(c.result=g,g===!1&&(c.preventDefault(),c.stopPropagation()))}}return t.postDispatch&&t.postDispatch.call(this,c),c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,c){var d,f,g,h=c.button,i=c.fromElement;return a.pageX==null&&c.clientX!=null&&(d=a.target.ownerDocument||e,f=d.documentElement,g=d.body,a.pageX=c.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=c.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?c.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0),a}},fix:function(a){if(a[p.expando])return a;var b,c,d=a,f=p.event.fixHooks[a.type]||{},g=f.props?this.props.concat(f.props):this.props;a=p.Event(d);for(b=g.length;b;)c=g[--b],a[c]=d[c];return a.target||(a.target=d.srcElement||e),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,f.filter?f.filter(a,d):a},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){p.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=p.extend(new p.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?p.event.trigger(e,null,b):p.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},p.event.handle=p.event.dispatch,p.removeEvent=e.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]=="undefined"&&(a[d]=null),a.detachEvent(d,c))},p.Event=function(a,b){if(this instanceof p.Event)a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?bb:ba):this.type=a,b&&p.extend(this,b),this.timeStamp=a&&a.timeStamp||p.now(),this[p.expando]=!0;else return new p.Event(a,b)},p.Event.prototype={preventDefault:function(){this.isDefaultPrevented=bb;var a=this.originalEvent;if(!a)return;a.preventDefault?a.preventDefault():a.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=bb;var a=this.originalEvent;if(!a)return;a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()},isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba},p.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){p.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj,g=f.selector;if(!e||e!==d&&!p.contains(d,e))a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b;return c}}}),p.support.submitBubbles||(p.event.special.submit={setup:function(){if(p.nodeName(this,"form"))return!1;p.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=p.nodeName(c,"input")||p.nodeName(c,"button")?c.form:b;d&&!p._data(d,"_submit_attached")&&(p.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),p._data(d,"_submit_attached",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&p.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(p.nodeName(this,"form"))return!1;p.event.remove(this,"._submit")}}),p.support.changeBubbles||(p.event.special.change={setup:function(){if(V.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")p.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),p.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),p.event.simulate("change",this,a,!0)});return!1}p.event.add(this,"beforeactivate._change",function(a){var b=a.target;V.test(b.nodeName)&&!p._data(b,"_change_attached")&&(p.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&p.event.simulate("change",this.parentNode,a,!0)}),p._data(b,"_change_attached",!0))})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){return p.event.remove(this,"._change"),!V.test(this.nodeName)}}),p.support.focusinBubbles||p.each({focus:"focusin",blur:"focusout"},function(a,b){var c=0,d=function(a){p.event.simulate(b,a.target,p.event.fix(a),!0)};p.event.special[b]={setup:function(){c++===0&&e.addEventListener(a,d,!0)},teardown:function(){--c===0&&e.removeEventListener(a,d,!0)}}}),p.fn.extend({on:function(a,c,d,e,f){var g,h;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(h in a)this.on(h,c,d,a[h],f);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=ba;else if(!e)return this;return f===1&&(g=e,e=function(a){return p().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=p.guid++)),this.each(function(){p.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){var e,f;if(a&&a.preventDefault&&a.handleObj)return e=a.handleObj,p(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler),this;if(typeof a=="object"){for(f in a)this.off(f,c,a[f]);return this}if(c===!1||typeof c=="function")d=c,c=b;return d===!1&&(d=ba),this.each(function(){p.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){return p(this.context).on(a,this.selector,b,c),this},die:function(a,b){return p(this.context).off(a,this.selector||"**",b),this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length===1?this.off(a,"**"):this.off(b,a||"**",c)},trigger:function(a,b){return this.each(function(){p.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return p.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||p.guid++,d=0,e=function(c){var e=(p._data(this,"lastToggle"+a.guid)||0)%d;return p._data(this,"lastToggle"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),p.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){p.fn[b]=function(a,c){return c==null&&(c=a,a=null),arguments.length>0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h<i;h++)if(f=a[h])if(!c||c(f,d,e))g.push(f),j&&b.push(h);return g}function bl(a,b,c,d,e,f){return d&&!d[o]&&(d=bl(d)),e&&!e[o]&&(e=bl(e,f)),z(function(f,g,h,i){if(f&&e)return;var j,k,l,m=[],n=[],o=g.length,p=f||bo(b||"*",h.nodeType?[h]:h,[],f),q=a&&(f||!b)?bk(p,m,a,h,i):p,r=c?e||(f?a:o||d)?[]:g:q;c&&c(q,r,h,i);if(d){l=bk(r,n),d(l,[],h,i),j=l.length;while(j--)if(k=l[j])r[n[j]]=!(q[n[j]]=k)}if(f){j=a&&r.length;while(j--)if(k=r[j])f[m[j]]=!(g[m[j]]=k)}else r=bk(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):w.apply(g,r)})}function bm(a){var b,c,d,f=a.length,g=e.relative[a[0].type],h=g||e.relative[" "],i=g?1:0,j=bi(function(a){return a===b},h,!0),k=bi(function(a){return y.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i<f;i++)if(c=e.relative[a[i].type])m=[bi(bj(m),c)];else{c=e.filter[a[i].type].apply(null,a[i].matches);if(c[o]){d=++i;for(;d<f;d++)if(e.relative[a[d].type])break;return bl(i>1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i<d&&bm(a.slice(i,d)),d<f&&bm(a=a.slice(d)),d<f&&a.join(""))}m.push(c)}return bj(m)}function bn(a,b){var d=b.length>0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e<f;e++)bc(a,b[e],c,d);return c}function bp(a,b,c,d,f){var g,h,j,k,l,m=bh(a),n=m.length;if(!d&&m.length===1){h=m[0]=m[0].slice(0);if(h.length>2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;b<c;b++)if(this[b]===a)return b;return-1},z=function(a,b){return a[o]=b==null||b,a},A=function(){var a={},b=[];return z(function(c,d){return b.push(c)>e.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="<select></select>";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="<a name='"+o+"'></a><div name='"+o+"'></div>",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d<b;d+=2)a.push(d);return a}),odd:bf(function(a,b,c){for(var d=1;d<b;d+=2)a.push(d);return a}),lt:bf(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},j=s.compareDocumentPosition?function(a,b){return a===b?(k=!0,0):(!a.compareDocumentPosition||!b.compareDocumentPosition?a.compareDocumentPosition:a.compareDocumentPosition(b)&4)?-1:1}:function(a,b){if(a===b)return k=!0,0;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,h=b.parentNode,i=g;if(g===h)return bg(a,b);if(!g)return-1;if(!h)return 1;while(i)e.unshift(i),i=i.parentNode;i=h;while(i)f.unshift(i),i=i.parentNode;c=e.length,d=f.length;for(var j=0;j<c&&j<d;j++)if(e[j]!==f[j])return bg(e[j],f[j]);return j===c?bg(a,f[j],-1):bg(e[j],b,1)},[0,0].sort(j),m=!k,bc.uniqueSort=function(a){var b,c=1;k=m,a.sort(j);if(k)for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return a},bc.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},i=bc.compile=function(a,b){var c,d=[],e=[],f=D[o][a];if(!f){b||(b=bh(a)),c=b.length;while(c--)f=bm(b[c]),f[o]?d.push(f):e.push(f);f=D(a,bn(e,d))}return f},r.querySelectorAll&&function(){var a,b=bp,c=/'|\\/g,d=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,e=[":focus"],f=[":active",":focus"],h=s.matchesSelector||s.mozMatchesSelector||s.webkitMatchesSelector||s.oMatchesSelector||s.msMatchesSelector;X(function(a){a.innerHTML="<select><option selected=''></option></select>",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="<p test=''></p>",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="<input type='hidden'/>",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b<c;b++)if(p.contains(h[b],this))return!0});g=this.pushStack("","find",a);for(b=0,c=this.length;b<c;b++){d=g.length,p.find(a,this[b],g);if(b>0)for(e=d;e<g.length;e++)for(f=0;f<d;f++)if(g[f]===g[e]){g.splice(e--,1);break}}return g},has:function(a){var b,c=p(a,this),d=c.length;return this.filter(function(){for(b=0;b<d;b++)if(p.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(bj(this,a,!1),"not",a)},filter:function(a){return this.pushStack(bj(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?bf.test(a)?p(a,this.context).index(this[0])>=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d<e;d++){c=this[d];while(c&&c.ownerDocument&&c!==b&&c.nodeType!==11){if(g?g.index(c)>-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/<tbody/i,br=/<|&#?\w+;/,bs=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,bu=new RegExp("<(?:"+bl+")[\\s/>]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,bz={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X<div>","</div>"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return bh(this[0])?this.length?this.pushStack(p(p.isFunction(a)?a():a),"replaceWith",a):this:p.isFunction(a)?this.each(function(b){var c=p(this),d=c.html();c.replaceWith(a.call(this,b,d))}):(typeof a!="string"&&(a=p(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;p(this).remove(),b?p(b).before(a):p(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],l=this.length;if(!p.support.checkClone&&l>1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i<l;i++)d.call(c&&p.nodeName(this[i],"table")?bC(this[i],"tbody"):this[i],i===h?g:p.clone(g,!0,!0))}g=f=null,k.length&&p.each(k,function(a,b){b.src?p.ajax?p.ajax({url:b.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):p.error("no ajax"):p.globalEval((b.text||b.textContent||b.innerHTML||"").replace(by,"")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),p.buildFragment=function(a,c,d){var f,g,h,i=a[0];return c=c||e,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,a.length===1&&typeof i=="string"&&i.length<512&&c===e&&i.charAt(0)==="<"&&!bt.test(i)&&(p.support.checkClone||!bw.test(i))&&(p.support.html5Clone||!bu.test(i))&&(g=!0,f=p.fragments[i],h=f!==b),f||(f=c.createDocumentFragment(),p.clean(a,c,f,d),g&&(p.fragments[i]=h&&f)),{fragment:f,cacheable:g}},p.fragments={},p.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){p.fn[a]=function(c){var d,e=0,f=[],g=p(c),h=g.length,i=this.length===1&&this[0].parentNode;if((i==null||i&&i.nodeType===11&&i.childNodes.length===1)&&h===1)return g[b](this[0]),this;for(;e<h;e++)d=(e>0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1></$2>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]==="<table>"&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("<div>").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d<e;d++)c=a[d],cT[c]=cT[c]||[],cT[c].unshift(b)},prefilter:function(a,b){b?cS.unshift(a):cS.push(a)}}),p.Tween=cZ,cZ.prototype={constructor:cZ,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(p.cssNumber[c]?"":"px")},cur:function(){var a=cZ.propHooks[this.prop];return a&&a.get?a.get(this):cZ.propHooks._default.get(this)},run:function(a){var b,c=cZ.propHooks[this.prop];return this.options.duration?this.pos=b=p.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):cZ.propHooks._default.set(this),this}},cZ.prototype.init.prototype=cZ.prototype,cZ.propHooks={_default:{get:function(a){var b;return a.elem[a.prop]==null||!!a.elem.style&&a.elem.style[a.prop]!=null?(b=p.css(a.elem,a.prop,!1,""),!b||b==="auto"?0:b):a.elem[a.prop]},set:function(a){p.fx.step[a.prop]?p.fx.step[a.prop](a):a.elem.style&&(a.elem.style[p.cssProps[a.prop]]!=null||p.cssHooks[a.prop])?p.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},cZ.propHooks.scrollTop=cZ.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},p.each(["toggle","show","hide"],function(a,b){var c=p.fn[b];p.fn[b]=function(d,e,f){return d==null||typeof d=="boolean"||!a&&p.isFunction(d)&&p.isFunction(e)?c.apply(this,arguments):this.animate(c$(b,!0),d,e,f)}}),p.fn.extend({fadeTo:function(a,b,c,d){return this.filter(bZ).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=p.isEmptyObject(a),f=p.speed(b,c,d),g=function(){var b=cW(this,p.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=a!=null&&a+"queueHooks",f=p.timers,g=p._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&cR.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(a==null||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&p.dequeue(this,a)})}}),p.each({slideDown:c$("show"),slideUp:c$("hide"),slideToggle:c$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){p.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),p.speed=function(a,b,c){var d=a&&typeof a=="object"?p.extend({},a):{complete:c||!c&&b||p.isFunction(a)&&a,duration:a,easing:c&&b||b&&!p.isFunction(b)&&b};d.duration=p.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in p.fx.speeds?p.fx.speeds[d.duration]:p.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";return d.old=d.complete,d.complete=function(){p.isFunction(d.old)&&d.old.call(this),d.queue&&p.dequeue(this,d.queue)},d},p.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},p.timers=[],p.fx=cZ.prototype.init,p.fx.tick=function(){var a,b=p.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||p.fx.stop()},p.fx.timer=function(a){a()&&p.timers.push(a)&&!cO&&(cO=setInterval(p.fx.tick,p.fx.interval))},p.fx.interval=13,p.fx.stop=function(){clearInterval(cO),cO=null},p.fx.speeds={slow:600,fast:200,_default:400},p.fx.step={},p.expr&&p.expr.filters&&(p.expr.filters.animated=function(a){return p.grep(p.timers,function(b){return a===b.elem}).length});var c_=/^(?:body|html)$/i;p.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){p.offset.setOffset(this,a,b)});var c,d,e,f,g,h,i,j={top:0,left:0},k=this[0],l=k&&k.ownerDocument;if(!l)return;return(d=l.body)===k?p.offset.bodyOffset(k):(c=l.documentElement,p.contains(c,k)?(typeof k.getBoundingClientRect!="undefined"&&(j=k.getBoundingClientRect()),e=da(l),f=c.clientTop||d.clientTop||0,g=c.clientLeft||d.clientLeft||0,h=e.pageYOffset||c.scrollTop,i=e.pageXOffset||c.scrollLeft,{top:j.top+h-f,left:j.left+i-g}):j)},p.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;return p.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(p.css(a,"marginTop"))||0,c+=parseFloat(p.css(a,"marginLeft"))||0),{top:b,left:c}},setOffset:function(a,b,c){var d=p.css(a,"position");d==="static"&&(a.style.position="relative");var e=p(a),f=e.offset(),g=p.css(a,"top"),h=p.css(a,"left"),i=(d==="absolute"||d==="fixed")&&p.inArray("auto",[g,h])>-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); (function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d<e;d++)p.event.add(b,c,h[c][d])}g.data&&(g.data=p.extend({},g.data))}function bE(a,b){var c;if(b.nodeType!==1)return;b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?(b.parentNode&&(b.outerHTML=a.outerHTML),p.support.html5Clone&&a.innerHTML&&!p.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):c==="input"&&bv.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text),b.removeAttribute(p.expando)}function bF(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bG(a){bv.test(a.type)&&(a.defaultChecked=a.checked)}function bY(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=bW.length;while(e--){b=bW[e]+c;if(b in a)return b}return d}function bZ(a,b){return a=b||a,p.css(a,"display")==="none"||!p.contains(a.ownerDocument,a)}function b$(a,b){var c,d,e=[],f=0,g=a.length;for(;f<g;f++){c=a[f];if(!c.style)continue;e[f]=p._data(c,"olddisplay"),b?(!e[f]&&c.style.display==="none"&&(c.style.display=""),c.style.display===""&&bZ(c)&&(e[f]=p._data(c,"olddisplay",cc(c.nodeName)))):(d=bH(c,"display"),!e[f]&&d!=="none"&&p._data(c,"olddisplay",d))}for(f=0;f<g;f++){c=a[f];if(!c.style)continue;if(!b||c.style.display==="none"||c.style.display==="")c.style.display=b?e[f]||"":"none"}return a}function b_(a,b,c){var d=bP.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function ca(a,b,c,d){var e=c===(d?"border":"content")?4:b==="width"?1:0,f=0;for(;e<4;e+=2)c==="margin"&&(f+=p.css(a,c+bV[e],!0)),d?(c==="content"&&(f-=parseFloat(bH(a,"padding"+bV[e]))||0),c!=="margin"&&(f-=parseFloat(bH(a,"border"+bV[e]+"Width"))||0)):(f+=parseFloat(bH(a,"padding"+bV[e]))||0,c!=="padding"&&(f+=parseFloat(bH(a,"border"+bV[e]+"Width"))||0));return f}function cb(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=!0,f=p.support.boxSizing&&p.css(a,"boxSizing")==="border-box";if(d<=0||d==null){d=bH(a,b);if(d<0||d==null)d=a.style[b];if(bQ.test(d))return d;e=f&&(p.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+ca(a,b,c||(f?"border":"content"),e)+"px"}function cc(a){if(bS[a])return bS[a];var b=p("<"+a+">").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write("<!doctype html><html><body>"),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h<i;h++)d=g[h],f=/^\+/.test(d),f&&(d=d.substr(1)||"*"),e=a[d]=a[d]||[],e[f?"unshift":"push"](c)}}function cA(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h,i=a[f],j=0,k=i?i.length:0,l=a===cv;for(;j<k&&(l||!h);j++)h=i[j](c,d,e),typeof h=="string"&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=cA(a,c,d,e,h,g)));return(l||!h)&&!g["*"]&&(h=cA(a,c,d,e,"*",g)),h}function cB(a,c){var d,e,f=p.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&p.extend(!0,a,e)}function cC(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);while(j[0]==="*")j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("content-type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}if(g)return g!==j[0]&&j.unshift(g),d[g]}function cD(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;a.dataFilter&&(b=a.dataFilter(b,a.dataType));if(g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if(e!=="*"){if(h!=="*"&&h!==e){c=i[h+" "+e]||i["* "+e];if(!c)for(d in i){f=d.split(" ");if(f[1]===e){c=i[h+" "+f[0]]||i["* "+f[0]];if(c){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}}}if(c!==!0)if(c&&a["throws"])b=c(b);else try{b=c(b)}catch(k){return{state:"parsererror",error:c?k:"No conversion from "+h+" to "+e}}}h=e}return{state:"success",data:b}}function cL(){try{return new a.XMLHttpRequest}catch(b){}}function cM(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cU(){return setTimeout(function(){cN=b},0),cN=p.now()}function cV(a,b){p.each(b,function(b,c){var d=(cT[b]||[]).concat(cT["*"]),e=0,f=d.length;for(;e<f;e++)if(d[e].call(a,b,c))return})}function cW(a,b,c){var d,e=0,f=0,g=cS.length,h=p.Deferred().always(function(){delete i.elem}),i=function(){var b=cN||cU(),c=Math.max(0,j.startTime+j.duration-b),d=1-(c/j.duration||0),e=0,f=j.tweens.length;for(;e<f;e++)j.tweens[e].run(d);return h.notifyWith(a,[j,d,c]),d<1&&f?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:p.extend({},b),opts:p.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:cN||cU(),duration:c.duration,tweens:[],createTween:function(b,c,d){var e=p.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(e),e},stop:function(b){var c=0,d=b?j.tweens.length:0;for(;c<d;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;cX(k,j.opts.specialEasing);for(;e<g;e++){d=cS[e].call(j,a,k,j.opts);if(d)return d}return cV(j,k),p.isFunction(j.opts.start)&&j.opts.start.call(a,j),p.fx.timer(p.extend(i,{anim:j,queue:j.opts.queue,elem:a})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function cX(a,b){var c,d,e,f,g;for(c in a){d=p.camelCase(c),e=b[d],f=a[c],p.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=p.cssHooks[d];if(g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}}function cY(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],q=a.nodeType&&bZ(a);c.queue||(j=p._queueHooks(a,"fx"),j.unqueued==null&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,p.queue(a,"fx").length||j.empty.fire()})})),a.nodeType===1&&("height"in b||"width"in b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],p.css(a,"display")==="inline"&&p.css(a,"float")==="none"&&(!p.support.inlineBlockNeedsLayout||cc(a.nodeName)==="inline"?m.display="inline-block":m.zoom=1)),c.overflow&&(m.overflow="hidden",p.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d in b){f=b[d];if(cP.exec(f)){delete b[d];if(f===(q?"hide":"show"))continue;o.push(d)}}g=o.length;if(g){h=p._data(a,"fxshow")||p._data(a,"fxshow",{}),q?p(a).show():l.done(function(){p(a).hide()}),l.done(function(){var b;p.removeData(a,"fxshow",!0);for(b in n)p.style(a,b,n[b])});for(d=0;d<g;d++)e=o[d],i=l.createTween(e,q?h[e]:0),n[e]=h[e]||p.style(a,e),e in h||(h[e]=i.start,q&&(i.end=i.start,i.start=e==="width"||e==="height"?1:0))}}function cZ(a,b,c,d,e){return new cZ.prototype.init(a,b,c,d,e)}function c$(a,b){var c,d={height:a},e=0;b=b?1:0;for(;e<4;e+=2-b)c=bV[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function da(a){return p.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var c,d,e=a.document,f=a.location,g=a.navigator,h=a.jQuery,i=a.$,j=Array.prototype.push,k=Array.prototype.slice,l=Array.prototype.indexOf,m=Object.prototype.toString,n=Object.prototype.hasOwnProperty,o=String.prototype.trim,p=function(a,b){return new p.fn.init(a,b,c)},q=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,r=/\S/,s=/\s+/,t=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,u=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i<j;i++)if((a=arguments[i])!=null)for(c in a){d=h[c],e=a[c];if(h===e)continue;k&&e&&(p.isPlainObject(e)||(f=p.isArray(e)))?(f?(f=!1,g=d&&p.isArray(d)?d:[]):g=d&&p.isPlainObject(d)?d:{},h[c]=p.extend(k,g,e)):e!==b&&(h[c]=e)}return h},p.extend({noConflict:function(b){return a.$===p&&(a.$=i),b&&a.jQuery===p&&(a.jQuery=h),p},isReady:!1,readyWait:1,holdReady:function(a){a?p.readyWait++:p.ready(!0)},ready:function(a){if(a===!0?--p.readyWait:p.isReady)return;if(!e.body)return setTimeout(p.ready,1);p.isReady=!0;if(a!==!0&&--p.readyWait>0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f<g;)if(c.apply(a[f++],d)===!1)break}else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;f<g;)if(c.call(a[f],f,a[f++])===!1)break;return a},trim:o&&!o.call(" ")?function(a){return a==null?"":o.call(a)}:function(a){return a==null?"":(a+"").replace(t,"")},makeArray:function(a,b){var c,d=b||[];return a!=null&&(c=p.type(a),a.length==null||c==="string"||c==="function"||c==="regexp"||p.isWindow(a)?j.call(d,a):p.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(l)return l.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if(typeof d=="number")for(;f<d;f++)a[e++]=c[f];else while(c[f]!==b)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;c=!!c;for(;f<g;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof p||i!==b&&typeof i=="number"&&(i>0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h<i;h++)e=c(a[h],h,d),e!=null&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),e!=null&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return typeof c=="string"&&(d=a[c],c=a,a=d),p.isFunction(a)?(e=k.call(arguments,2),f=function(){return a.apply(c,e.concat(k.call(arguments)))},f.guid=a.guid=a.guid||p.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=d==null,k=0,l=a.length;if(d&&typeof d=="object"){for(k in d)p.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){i=h===b&&p.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call(p(a),c)}):(c.call(a,e),c=null));if(c)for(;k<l;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),p.ready.promise=function(b){if(!d){d=p.Deferred();if(e.readyState==="complete")setTimeout(p.ready,1);else if(e.addEventListener)e.addEventListener("DOMContentLoaded",D,!1),a.addEventListener("load",p.ready,!1);else{e.attachEvent("onreadystatechange",D),a.attachEvent("onload",p.ready);var c=!1;try{c=a.frameElement==null&&e.documentElement}catch(f){}c&&c.doScroll&&function g(){if(!p.isReady){try{c.doScroll("left")}catch(a){return setTimeout(g,50)}p.ready()}}()}}return d.promise(b)},p.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){E["[object "+b+"]"]=b.toLowerCase()}),c=p(e);var F={};p.Callbacks=function(a){a=typeof a=="string"?F[a]||G(a):p.extend({},a);var c,d,e,f,g,h,i=[],j=!a.once&&[],k=function(b){c=a.memory&&b,d=!0,h=f||0,f=0,g=i.length,e=!0;for(;i&&h<g;h++)if(i[h].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}e=!1,i&&(j?j.length&&k(j.shift()):c?i=[]:l.disable())},l={add:function(){if(i){var b=i.length;(function d(b){p.each(b,function(b,c){var e=p.type(c);e==="function"&&(!a.unique||!l.has(c))?i.push(c):c&&c.length&&e!=="string"&&d(c)})})(arguments),e?g=i.length:c&&(f=b,k(c))}return this},remove:function(){return i&&p.each(arguments,function(a,b){var c;while((c=p.inArray(b,i,c))>-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b<d;b++)c[b]&&p.isFunction(c[b].promise)?c[b].promise().done(g(b,j,c)).fail(f.reject).progress(g(b,i,h)):--e}return e||f.resolveWith(j,c),f.promise()}}),p.support=function(){var b,c,d,f,g,h,i,j,k,l,m,n=e.createElement("div");n.setAttribute("className","t"),n.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="<div></div>",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e<f;e++)delete d[b[e]];if(!(c?K:p.isEmptyObject)(d))return}}if(!c){delete h[i].data;if(!K(h[i]))return}g?p.cleanData([a],!0):p.support.deleteExpando||h!=h.window?delete h[i]:h[i]=null},_data:function(a,b,c){return p.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute("classid")===b}}),p.fn.extend({data:function(a,c){var d,e,f,g,h,i=this[0],j=0,k=null;if(a===b){if(this.length){k=p.data(i);if(i.nodeType===1&&!p._data(i,"parsedAttrs")){f=i.attributes;for(h=f.length;j<h;j++)g=f[j].name,g.indexOf("data-")||(g=p.camelCase(g.substring(5)),J(i,g,k[g]));p._data(i,"parsedAttrs",!0)}}return k}return typeof a=="object"?this.each(function(){p.data(this,a)}):(d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!",p.access(this,function(c){if(c===b)return k=this.triggerHandler("getData"+e,[d[0]]),k===b&&i&&(k=p.data(i,a),k=J(i,a,k)),k===b&&d[1]?this.data(d[0]):k;d[1]=c,this.each(function(){var b=p(this);b.triggerHandler("setData"+e,d),p.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length<d?p.queue(this[0],a):c===b?this:this.each(function(){var b=p.queue(this,a,c);p._queueHooks(this,a),a==="fx"&&b[0]!=="inprogress"&&p.dequeue(this,a)})},dequeue:function(a){return this.each(function(){p.dequeue(this,a)})},delay:function(a,b){return a=p.fx?p.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){var d,e=1,f=p.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};typeof a!="string"&&(c=a,a=b),a=a||"fx";while(h--)d=p._data(g[h],a+"queueHooks"),d&&d.empty&&(e++,d.empty.add(i));return i(),f.promise(c)}});var L,M,N,O=/[\t\r\n]/g,P=/\r/g,Q=/^(?:button|input)$/i,R=/^(?:button|input|object|select|textarea)$/i,S=/^a(?:rea|)$/i,T=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,U=p.support.getSetAttribute;p.fn.extend({attr:function(a,b){return p.access(this,p.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{f=" "+e.className+" ";for(g=0,h=b.length;g<h;g++)f.indexOf(" "+b[g]+" ")<0&&(f+=b[g]+" ");e.className=p.trim(f)}}}return this},removeClass:function(a){var c,d,e,f,g,h,i;if(p.isFunction(a))return this.each(function(b){p(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(s);for(h=0,i=this.length;h<i;h++){e=this[h];if(e.nodeType===1&&e.className){d=(" "+e.className+" ").replace(O," ");for(f=0,g=c.length;f<g;f++)while(d.indexOf(" "+c[f]+" ")>=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(O," ").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c<d;c++){e=h[c];if(e.selected&&(p.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!p.nodeName(e.parentNode,"optgroup"))){b=p(e).val();if(i)return b;g.push(b)}}return i&&!g.length&&h.length?p(h[f]).val():g},set:function(a,b){var c=p.makeArray(b);return p(a).find("option").each(function(){this.selected=p.inArray(p(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g<d.length;g++)e=d[g],e&&(c=p.propFix[e]||e,f=T.test(e),f||p.attr(a,e,""),a.removeAttribute(U?e:c),f&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(Q.test(a.nodeName)&&a.parentNode)p.error("type property can't be changed");else if(!p.support.radioValue&&b==="radio"&&p.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}},value:{get:function(a,b){return L&&p.nodeName(a,"button")?L.get(a,b):b in a?a.value:null},set:function(a,b,c){if(L&&p.nodeName(a,"button"))return L.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,f,g,h=a.nodeType;if(!a||h===3||h===8||h===2)return;return g=h!==1||!p.isXMLDoc(a),g&&(c=p.propFix[c]||c,f=p.propHooks[c]),d!==b?f&&"set"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&"get"in f&&(e=f.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):R.test(a.nodeName)||S.test(a.nodeName)&&a.href?0:b}}}}),M={get:function(a,c){var d,e=p.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;return b===!1?p.removeAttr(a,c):(d=p.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},U||(N={name:!0,id:!0,coords:!0},L=p.valHooks.button={get:function(a,c){var d;return d=a.getAttributeNode(c),d&&(N[c]?d.value!=="":d.specified)?d.value:b},set:function(a,b,c){var d=a.getAttributeNode(c);return d||(d=e.createAttribute(c),a.setAttributeNode(d)),d.value=b+""}},p.each(["width","height"],function(a,b){p.attrHooks[b]=p.extend(p.attrHooks[b],{set:function(a,c){if(c==="")return a.setAttribute(b,"auto"),c}})}),p.attrHooks.contenteditable={get:L.get,set:function(a,b,c){b===""&&(b="false"),L.set(a,b,c)}}),p.support.hrefNormalized||p.each(["href","src","width","height"],function(a,c){p.attrHooks[c]=p.extend(p.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),p.support.style||(p.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=b+""}}),p.support.optSelected||(p.propHooks.selected=p.extend(p.propHooks.selected,{get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),p.support.enctype||(p.propFix.enctype="encoding"),p.support.checkOn||p.each(["radio","checkbox"],function(){p.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),p.each(["radio","checkbox"],function(){p.valHooks[this]=p.extend(p.valHooks[this],{set:function(a,b){if(p.isArray(b))return a.checked=p.inArray(p(a).val(),b)>=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j<c.length;j++){k=W.exec(c[j])||[],l=k[1],m=(k[2]||"").split(".").sort(),r=p.event.special[l]||{},l=(f?r.delegateType:r.bindType)||l,r=p.event.special[l]||{},n=p.extend({type:l,origType:k[1],data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&p.expr.match.needsContext.test(f),namespace:m.join(".")},o),q=i[l];if(!q){q=i[l]=[],q.delegateCount=0;if(!r.setup||r.setup.call(a,e,m,h)===!1)a.addEventListener?a.addEventListener(l,h,!1):a.attachEvent&&a.attachEvent("on"+l,h)}r.add&&(r.add.call(a,n),n.handler.guid||(n.handler.guid=d.guid)),f?q.splice(q.delegateCount++,0,n):q.push(n),p.event.global[l]=!0}a=null},global:{},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r=p.hasData(a)&&p._data(a);if(!r||!(m=r.events))return;b=p.trim(_(b||"")).split(" ");for(f=0;f<b.length;f++){g=W.exec(b[f])||[],h=i=g[1],j=g[2];if(!h){for(h in m)p.event.remove(a,h+b[f],c,d,!0);continue}n=p.event.special[h]||{},h=(d?n.delegateType:n.bindType)||h,o=m[h]||[],k=o.length,j=j?new RegExp("(^|\\.)"+j.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(l=0;l<o.length;l++)q=o[l],(e||i===q.origType)&&(!c||c.guid===q.guid)&&(!j||j.test(q.namespace))&&(!d||d===q.selector||d==="**"&&q.selector)&&(o.splice(l--,1),q.selector&&o.delegateCount--,n.remove&&n.remove.call(a,q));o.length===0&&k!==o.length&&((!n.teardown||n.teardown.call(a,j,r.handle)===!1)&&p.removeEvent(a,h,r.handle),delete m[h])}p.isEmptyObject(m)&&(delete r.handle,p.removeData(a,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,f,g){if(!f||f.nodeType!==3&&f.nodeType!==8){var h,i,j,k,l,m,n,o,q,r,s=c.type||c,t=[];if($.test(s+p.event.triggered))return;s.indexOf("!")>=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j<q.length&&!c.isPropagationStopped();j++)k=q[j][0],c.type=q[j][1],o=(p._data(k,"events")||{})[c.type]&&p._data(k,"handle"),o&&o.apply(k,d),o=m&&k[m],o&&p.acceptData(k)&&o.apply&&o.apply(k,d)===!1&&c.preventDefault();return c.type=s,!g&&!c.isDefaultPrevented()&&(!n._default||n._default.apply(f.ownerDocument,d)===!1)&&(s!=="click"||!p.nodeName(f,"a"))&&p.acceptData(f)&&m&&f[s]&&(s!=="focus"&&s!=="blur"||c.target.offsetWidth!==0)&&!p.isWindow(f)&&(l=f[m],l&&(f[m]=null),p.event.triggered=s,f[s](),p.event.triggered=b,l&&(f[m]=l)),c.result}return},dispatch:function(c){c=p.event.fix(c||a.event);var d,e,f,g,h,i,j,l,m,n,o=(p._data(this,"events")||{})[c.type]||[],q=o.delegateCount,r=k.call(arguments),s=!c.exclusive&&!c.namespace,t=p.event.special[c.type]||{},u=[];r[0]=c,c.delegateTarget=this;if(t.preDispatch&&t.preDispatch.call(this,c)===!1)return;if(q&&(!c.button||c.type!=="click"))for(f=c.target;f!=this;f=f.parentNode||this)if(f.disabled!==!0||c.type!=="click"){h={},j=[];for(d=0;d<q;d++)l=o[d],m=l.selector,h[m]===b&&(h[m]=l.needsContext?p(m,this).index(f)>=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d<u.length&&!c.isPropagationStopped();d++){i=u[d],c.currentTarget=i.elem;for(e=0;e<i.matches.length&&!c.isImmediatePropagationStopped();e++){l=i.matches[e];if(s||!c.namespace&&!l.namespace||c.namespace_re&&c.namespace_re.test(l.namespace))c.data=l.data,c.handleObj=l,g=((p.event.special[l.origType]||{}).handle||l.handler).apply(i.elem,r),g!==b&&(c.result=g,g===!1&&(c.preventDefault(),c.stopPropagation()))}}return t.postDispatch&&t.postDispatch.call(this,c),c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,c){var d,f,g,h=c.button,i=c.fromElement;return a.pageX==null&&c.clientX!=null&&(d=a.target.ownerDocument||e,f=d.documentElement,g=d.body,a.pageX=c.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=c.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?c.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0),a}},fix:function(a){if(a[p.expando])return a;var b,c,d=a,f=p.event.fixHooks[a.type]||{},g=f.props?this.props.concat(f.props):this.props;a=p.Event(d);for(b=g.length;b;)c=g[--b],a[c]=d[c];return a.target||(a.target=d.srcElement||e),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,f.filter?f.filter(a,d):a},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){p.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=p.extend(new p.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?p.event.trigger(e,null,b):p.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},p.event.handle=p.event.dispatch,p.removeEvent=e.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]=="undefined"&&(a[d]=null),a.detachEvent(d,c))},p.Event=function(a,b){if(this instanceof p.Event)a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?bb:ba):this.type=a,b&&p.extend(this,b),this.timeStamp=a&&a.timeStamp||p.now(),this[p.expando]=!0;else return new p.Event(a,b)},p.Event.prototype={preventDefault:function(){this.isDefaultPrevented=bb;var a=this.originalEvent;if(!a)return;a.preventDefault?a.preventDefault():a.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=bb;var a=this.originalEvent;if(!a)return;a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()},isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba},p.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){p.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj,g=f.selector;if(!e||e!==d&&!p.contains(d,e))a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b;return c}}}),p.support.submitBubbles||(p.event.special.submit={setup:function(){if(p.nodeName(this,"form"))return!1;p.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=p.nodeName(c,"input")||p.nodeName(c,"button")?c.form:b;d&&!p._data(d,"_submit_attached")&&(p.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),p._data(d,"_submit_attached",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&p.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(p.nodeName(this,"form"))return!1;p.event.remove(this,"._submit")}}),p.support.changeBubbles||(p.event.special.change={setup:function(){if(V.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")p.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),p.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),p.event.simulate("change",this,a,!0)});return!1}p.event.add(this,"beforeactivate._change",function(a){var b=a.target;V.test(b.nodeName)&&!p._data(b,"_change_attached")&&(p.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&p.event.simulate("change",this.parentNode,a,!0)}),p._data(b,"_change_attached",!0))})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){return p.event.remove(this,"._change"),!V.test(this.nodeName)}}),p.support.focusinBubbles||p.each({focus:"focusin",blur:"focusout"},function(a,b){var c=0,d=function(a){p.event.simulate(b,a.target,p.event.fix(a),!0)};p.event.special[b]={setup:function(){c++===0&&e.addEventListener(a,d,!0)},teardown:function(){--c===0&&e.removeEventListener(a,d,!0)}}}),p.fn.extend({on:function(a,c,d,e,f){var g,h;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(h in a)this.on(h,c,d,a[h],f);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=ba;else if(!e)return this;return f===1&&(g=e,e=function(a){return p().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=p.guid++)),this.each(function(){p.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){var e,f;if(a&&a.preventDefault&&a.handleObj)return e=a.handleObj,p(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler),this;if(typeof a=="object"){for(f in a)this.off(f,c,a[f]);return this}if(c===!1||typeof c=="function")d=c,c=b;return d===!1&&(d=ba),this.each(function(){p.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){return p(this.context).on(a,this.selector,b,c),this},die:function(a,b){return p(this.context).off(a,this.selector||"**",b),this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length===1?this.off(a,"**"):this.off(b,a||"**",c)},trigger:function(a,b){return this.each(function(){p.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return p.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||p.guid++,d=0,e=function(c){var e=(p._data(this,"lastToggle"+a.guid)||0)%d;return p._data(this,"lastToggle"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),p.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){p.fn[b]=function(a,c){return c==null&&(c=a,a=null),arguments.length>0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h<i;h++)if(f=a[h])if(!c||c(f,d,e))g.push(f),j&&b.push(h);return g}function bl(a,b,c,d,e,f){return d&&!d[o]&&(d=bl(d)),e&&!e[o]&&(e=bl(e,f)),z(function(f,g,h,i){if(f&&e)return;var j,k,l,m=[],n=[],o=g.length,p=f||bo(b||"*",h.nodeType?[h]:h,[],f),q=a&&(f||!b)?bk(p,m,a,h,i):p,r=c?e||(f?a:o||d)?[]:g:q;c&&c(q,r,h,i);if(d){l=bk(r,n),d(l,[],h,i),j=l.length;while(j--)if(k=l[j])r[n[j]]=!(q[n[j]]=k)}if(f){j=a&&r.length;while(j--)if(k=r[j])f[m[j]]=!(g[m[j]]=k)}else r=bk(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):w.apply(g,r)})}function bm(a){var b,c,d,f=a.length,g=e.relative[a[0].type],h=g||e.relative[" "],i=g?1:0,j=bi(function(a){return a===b},h,!0),k=bi(function(a){return y.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i<f;i++)if(c=e.relative[a[i].type])m=[bi(bj(m),c)];else{c=e.filter[a[i].type].apply(null,a[i].matches);if(c[o]){d=++i;for(;d<f;d++)if(e.relative[a[d].type])break;return bl(i>1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i<d&&bm(a.slice(i,d)),d<f&&bm(a=a.slice(d)),d<f&&a.join(""))}m.push(c)}return bj(m)}function bn(a,b){var d=b.length>0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e<f;e++)bc(a,b[e],c,d);return c}function bp(a,b,c,d,f){var g,h,j,k,l,m=bh(a),n=m.length;if(!d&&m.length===1){h=m[0]=m[0].slice(0);if(h.length>2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;b<c;b++)if(this[b]===a)return b;return-1},z=function(a,b){return a[o]=b==null||b,a},A=function(){var a={},b=[];return z(function(c,d){return b.push(c)>e.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="<select></select>";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="<a name='"+o+"'></a><div name='"+o+"'></div>",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d<b;d+=2)a.push(d);return a}),odd:bf(function(a,b,c){for(var d=1;d<b;d+=2)a.push(d);return a}),lt:bf(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},j=s.compareDocumentPosition?function(a,b){return a===b?(k=!0,0):(!a.compareDocumentPosition||!b.compareDocumentPosition?a.compareDocumentPosition:a.compareDocumentPosition(b)&4)?-1:1}:function(a,b){if(a===b)return k=!0,0;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,h=b.parentNode,i=g;if(g===h)return bg(a,b);if(!g)return-1;if(!h)return 1;while(i)e.unshift(i),i=i.parentNode;i=h;while(i)f.unshift(i),i=i.parentNode;c=e.length,d=f.length;for(var j=0;j<c&&j<d;j++)if(e[j]!==f[j])return bg(e[j],f[j]);return j===c?bg(a,f[j],-1):bg(e[j],b,1)},[0,0].sort(j),m=!k,bc.uniqueSort=function(a){var b,c=1;k=m,a.sort(j);if(k)for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return a},bc.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},i=bc.compile=function(a,b){var c,d=[],e=[],f=D[o][a];if(!f){b||(b=bh(a)),c=b.length;while(c--)f=bm(b[c]),f[o]?d.push(f):e.push(f);f=D(a,bn(e,d))}return f},r.querySelectorAll&&function(){var a,b=bp,c=/'|\\/g,d=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,e=[":focus"],f=[":active",":focus"],h=s.matchesSelector||s.mozMatchesSelector||s.webkitMatchesSelector||s.oMatchesSelector||s.msMatchesSelector;X(function(a){a.innerHTML="<select><option selected=''></option></select>",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="<p test=''></p>",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="<input type='hidden'/>",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b<c;b++)if(p.contains(h[b],this))return!0});g=this.pushStack("","find",a);for(b=0,c=this.length;b<c;b++){d=g.length,p.find(a,this[b],g);if(b>0)for(e=d;e<g.length;e++)for(f=0;f<d;f++)if(g[f]===g[e]){g.splice(e--,1);break}}return g},has:function(a){var b,c=p(a,this),d=c.length;return this.filter(function(){for(b=0;b<d;b++)if(p.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(bj(this,a,!1),"not",a)},filter:function(a){return this.pushStack(bj(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?bf.test(a)?p(a,this.context).index(this[0])>=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d<e;d++){c=this[d];while(c&&c.ownerDocument&&c!==b&&c.nodeType!==11){if(g?g.index(c)>-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/<tbody/i,br=/<|&#?\w+;/,bs=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,bu=new RegExp("<(?:"+bl+")[\\s/>]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,bz={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X<div>","</div>"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return bh(this[0])?this.length?this.pushStack(p(p.isFunction(a)?a():a),"replaceWith",a):this:p.isFunction(a)?this.each(function(b){var c=p(this),d=c.html();c.replaceWith(a.call(this,b,d))}):(typeof a!="string"&&(a=p(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;p(this).remove(),b?p(b).before(a):p(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],l=this.length;if(!p.support.checkClone&&l>1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i<l;i++)d.call(c&&p.nodeName(this[i],"table")?bC(this[i],"tbody"):this[i],i===h?g:p.clone(g,!0,!0))}g=f=null,k.length&&p.each(k,function(a,b){b.src?p.ajax?p.ajax({url:b.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):p.error("no ajax"):p.globalEval((b.text||b.textContent||b.innerHTML||"").replace(by,"")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),p.buildFragment=function(a,c,d){var f,g,h,i=a[0];return c=c||e,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,a.length===1&&typeof i=="string"&&i.length<512&&c===e&&i.charAt(0)==="<"&&!bt.test(i)&&(p.support.checkClone||!bw.test(i))&&(p.support.html5Clone||!bu.test(i))&&(g=!0,f=p.fragments[i],h=f!==b),f||(f=c.createDocumentFragment(),p.clean(a,c,f,d),g&&(p.fragments[i]=h&&f)),{fragment:f,cacheable:g}},p.fragments={},p.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){p.fn[a]=function(c){var d,e=0,f=[],g=p(c),h=g.length,i=this.length===1&&this[0].parentNode;if((i==null||i&&i.nodeType===11&&i.childNodes.length===1)&&h===1)return g[b](this[0]),this;for(;e<h;e++)d=(e>0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1></$2>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]==="<table>"&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("<div>").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d<e;d++)c=a[d],cT[c]=cT[c]||[],cT[c].unshift(b)},prefilter:function(a,b){b?cS.unshift(a):cS.push(a)}}),p.Tween=cZ,cZ.prototype={constructor:cZ,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(p.cssNumber[c]?"":"px")},cur:function(){var a=cZ.propHooks[this.prop];return a&&a.get?a.get(this):cZ.propHooks._default.get(this)},run:function(a){var b,c=cZ.propHooks[this.prop];return this.options.duration?this.pos=b=p.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):cZ.propHooks._default.set(this),this}},cZ.prototype.init.prototype=cZ.prototype,cZ.propHooks={_default:{get:function(a){var b;return a.elem[a.prop]==null||!!a.elem.style&&a.elem.style[a.prop]!=null?(b=p.css(a.elem,a.prop,!1,""),!b||b==="auto"?0:b):a.elem[a.prop]},set:function(a){p.fx.step[a.prop]?p.fx.step[a.prop](a):a.elem.style&&(a.elem.style[p.cssProps[a.prop]]!=null||p.cssHooks[a.prop])?p.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},cZ.propHooks.scrollTop=cZ.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},p.each(["toggle","show","hide"],function(a,b){var c=p.fn[b];p.fn[b]=function(d,e,f){return d==null||typeof d=="boolean"||!a&&p.isFunction(d)&&p.isFunction(e)?c.apply(this,arguments):this.animate(c$(b,!0),d,e,f)}}),p.fn.extend({fadeTo:function(a,b,c,d){return this.filter(bZ).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=p.isEmptyObject(a),f=p.speed(b,c,d),g=function(){var b=cW(this,p.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=a!=null&&a+"queueHooks",f=p.timers,g=p._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&cR.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(a==null||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&p.dequeue(this,a)})}}),p.each({slideDown:c$("show"),slideUp:c$("hide"),slideToggle:c$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){p.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),p.speed=function(a,b,c){var d=a&&typeof a=="object"?p.extend({},a):{complete:c||!c&&b||p.isFunction(a)&&a,duration:a,easing:c&&b||b&&!p.isFunction(b)&&b};d.duration=p.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in p.fx.speeds?p.fx.speeds[d.duration]:p.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";return d.old=d.complete,d.complete=function(){p.isFunction(d.old)&&d.old.call(this),d.queue&&p.dequeue(this,d.queue)},d},p.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},p.timers=[],p.fx=cZ.prototype.init,p.fx.tick=function(){var a,b=p.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||p.fx.stop()},p.fx.timer=function(a){a()&&p.timers.push(a)&&!cO&&(cO=setInterval(p.fx.tick,p.fx.interval))},p.fx.interval=13,p.fx.stop=function(){clearInterval(cO),cO=null},p.fx.speeds={slow:600,fast:200,_default:400},p.fx.step={},p.expr&&p.expr.filters&&(p.expr.filters.animated=function(a){return p.grep(p.timers,function(b){return a===b.elem}).length});var c_=/^(?:body|html)$/i;p.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){p.offset.setOffset(this,a,b)});var c,d,e,f,g,h,i,j={top:0,left:0},k=this[0],l=k&&k.ownerDocument;if(!l)return;return(d=l.body)===k?p.offset.bodyOffset(k):(c=l.documentElement,p.contains(c,k)?(typeof k.getBoundingClientRect!="undefined"&&(j=k.getBoundingClientRect()),e=da(l),f=c.clientTop||d.clientTop||0,g=c.clientLeft||d.clientLeft||0,h=e.pageYOffset||c.scrollTop,i=e.pageXOffset||c.scrollLeft,{top:j.top+h-f,left:j.left+i-g}):j)},p.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;return p.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(p.css(a,"marginTop"))||0,c+=parseFloat(p.css(a,"marginLeft"))||0),{top:b,left:c}},setOffset:function(a,b,c){var d=p.css(a,"position");d==="static"&&(a.style.position="relative");var e=p(a),f=e.offset(),g=p.css(a,"top"),h=p.css(a,"left"),i=(d==="absolute"||d==="fixed")&&p.inArray("auto",[g,h])>-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window);
/*! jQuery v@1.8.0 jquery.com | jquery.org/license */ /*! jQuery v@1.8.0 jquery.com | jquery.org/license */
(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d<e;d++)p.event.add(b,c,h[c][d])}g.data&&(g.data=p.extend({},g.data))}function bE(a,b){var c;if(b.nodeType!==1)return;b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?(b.parentNode&&(b.outerHTML=a.outerHTML),p.support.html5Clone&&a.innerHTML&&!p.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):c==="input"&&bv.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text),b.removeAttribute(p.expando)}function bF(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bG(a){bv.test(a.type)&&(a.defaultChecked=a.checked)}function bX(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=bV.length;while(e--){b=bV[e]+c;if(b in a)return b}return d}function bY(a,b){return a=b||a,p.css(a,"display")==="none"||!p.contains(a.ownerDocument,a)}function bZ(a,b){var c,d,e=[],f=0,g=a.length;for(;f<g;f++){c=a[f];if(!c.style)continue;e[f]=p._data(c,"olddisplay"),b?(!e[f]&&c.style.display==="none"&&(c.style.display=""),c.style.display===""&&bY(c)&&(e[f]=p._data(c,"olddisplay",cb(c.nodeName)))):(d=bH(c,"display"),!e[f]&&d!=="none"&&p._data(c,"olddisplay",d))}for(f=0;f<g;f++){c=a[f];if(!c.style)continue;if(!b||c.style.display==="none"||c.style.display==="")c.style.display=b?e[f]||"":"none"}return a}function b$(a,b,c){var d=bO.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function b_(a,b,c,d){var e=c===(d?"border":"content")?4:b==="width"?1:0,f=0;for(;e<4;e+=2)c==="margin"&&(f+=p.css(a,c+bU[e],!0)),d?(c==="content"&&(f-=parseFloat(bH(a,"padding"+bU[e]))||0),c!=="margin"&&(f-=parseFloat(bH(a,"border"+bU[e]+"Width"))||0)):(f+=parseFloat(bH(a,"padding"+bU[e]))||0,c!=="padding"&&(f+=parseFloat(bH(a,"border"+bU[e]+"Width"))||0));return f}function ca(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=!0,f=p.support.boxSizing&&p.css(a,"boxSizing")==="border-box";if(d<=0){d=bH(a,b);if(d<0||d==null)d=a.style[b];if(bP.test(d))return d;e=f&&(p.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+b_(a,b,c||(f?"border":"content"),e)+"px"}function cb(a){if(bR[a])return bR[a];var b=p("<"+a+">").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write("<!doctype html><html><body>"),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bR[a]=c,c}function ch(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||cd.test(a)?d(a,e):ch(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ch(a+"["+e+"]",b[e],c,d);else d(a,b)}function cy(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h<i;h++)d=g[h],f=/^\+/.test(d),f&&(d=d.substr(1)||"*"),e=a[d]=a[d]||[],e[f?"unshift":"push"](c)}}function cz(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h,i=a[f],j=0,k=i?i.length:0,l=a===cu;for(;j<k&&(l||!h);j++)h=i[j](c,d,e),typeof h=="string"&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=cz(a,c,d,e,h,g)));return(l||!h)&&!g["*"]&&(h=cz(a,c,d,e,"*",g)),h}function cA(a,c){var d,e,f=p.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&p.extend(!0,a,e)}function cB(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);while(j[0]==="*")j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("content-type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}if(g)return g!==j[0]&&j.unshift(g),d[g]}function cC(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;a.dataFilter&&(b=a.dataFilter(b,a.dataType));if(g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if(e!=="*"){if(h!=="*"&&h!==e){c=i[h+" "+e]||i["* "+e];if(!c)for(d in i){f=d.split(" ");if(f[1]===e){c=i[h+" "+f[0]]||i["* "+f[0]];if(c){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}}}if(c!==!0)if(c&&a["throws"])b=c(b);else try{b=c(b)}catch(k){return{state:"parsererror",error:c?k:"No conversion from "+h+" to "+e}}}h=e}return{state:"success",data:b}}function cK(){try{return new a.XMLHttpRequest}catch(b){}}function cL(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cT(){return setTimeout(function(){cM=b},0),cM=p.now()}function cU(a,b){p.each(b,function(b,c){var d=(cS[b]||[]).concat(cS["*"]),e=0,f=d.length;for(;e<f;e++)if(d[e].call(a,b,c))return})}function cV(a,b,c){var d,e=0,f=0,g=cR.length,h=p.Deferred().always(function(){delete i.elem}),i=function(){var b=cM||cT(),c=Math.max(0,j.startTime+j.duration-b),d=1-(c/j.duration||0),e=0,f=j.tweens.length;for(;e<f;e++)j.tweens[e].run(d);return h.notifyWith(a,[j,d,c]),d<1&&f?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:p.extend({},b),opts:p.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:cM||cT(),duration:c.duration,tweens:[],createTween:function(b,c,d){var e=p.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(e),e},stop:function(b){var c=0,d=b?j.tweens.length:0;for(;c<d;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;cW(k,j.opts.specialEasing);for(;e<g;e++){d=cR[e].call(j,a,k,j.opts);if(d)return d}return cU(j,k),p.isFunction(j.opts.start)&&j.opts.start.call(a,j),p.fx.timer(p.extend(i,{anim:j,queue:j.opts.queue,elem:a})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function cW(a,b){var c,d,e,f,g;for(c in a){d=p.camelCase(c),e=b[d],f=a[c],p.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=p.cssHooks[d];if(g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}}function cX(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],q=a.nodeType&&bY(a);c.queue||(j=p._queueHooks(a,"fx"),j.unqueued==null&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,p.queue(a,"fx").length||j.empty.fire()})})),a.nodeType===1&&("height"in b||"width"in b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],p.css(a,"display")==="inline"&&p.css(a,"float")==="none"&&(!p.support.inlineBlockNeedsLayout||cb(a.nodeName)==="inline"?m.display="inline-block":m.zoom=1)),c.overflow&&(m.overflow="hidden",p.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d in b){f=b[d];if(cO.exec(f)){delete b[d];if(f===(q?"hide":"show"))continue;o.push(d)}}g=o.length;if(g){h=p._data(a,"fxshow")||p._data(a,"fxshow",{}),q?p(a).show():l.done(function(){p(a).hide()}),l.done(function(){var b;p.removeData(a,"fxshow",!0);for(b in n)p.style(a,b,n[b])});for(d=0;d<g;d++)e=o[d],i=l.createTween(e,q?h[e]:0),n[e]=h[e]||p.style(a,e),e in h||(h[e]=i.start,q&&(i.end=i.start,i.start=e==="width"||e==="height"?1:0))}}function cY(a,b,c,d,e){return new cY.prototype.init(a,b,c,d,e)}function cZ(a,b){var c,d={height:a},e=0;for(;e<4;e+=2-b)c=bU[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function c_(a){return p.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var c,d,e=a.document,f=a.location,g=a.navigator,h=a.jQuery,i=a.$,j=Array.prototype.push,k=Array.prototype.slice,l=Array.prototype.indexOf,m=Object.prototype.toString,n=Object.prototype.hasOwnProperty,o=String.prototype.trim,p=function(a,b){return new p.fn.init(a,b,c)},q=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,r=/\S/,s=/\s+/,t=r.test(" ")?/^[\s\xA0]+|[\s\xA0]+$/g:/^\s+|\s+$/g,u=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.0",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i<j;i++)if((a=arguments[i])!=null)for(c in a){d=h[c],e=a[c];if(h===e)continue;k&&e&&(p.isPlainObject(e)||(f=p.isArray(e)))?(f?(f=!1,g=d&&p.isArray(d)?d:[]):g=d&&p.isPlainObject(d)?d:{},h[c]=p.extend(k,g,e)):e!==b&&(h[c]=e)}return h},p.extend({noConflict:function(b){return a.$===p&&(a.$=i),b&&a.jQuery===p&&(a.jQuery=h),p},isReady:!1,readyWait:1,holdReady:function(a){a?p.readyWait++:p.ready(!0)},ready:function(a){if(a===!0?--p.readyWait:p.isReady)return;if(!e.body)return setTimeout(p.ready,1);p.isReady=!0;if(a!==!0&&--p.readyWait>0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f<g;)if(c.apply(a[f++],d)===!1)break}else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;f<g;)if(c.call(a[f],f,a[f++])===!1)break;return a},trim:o?function(a){return a==null?"":o.call(a)}:function(a){return a==null?"":a.toString().replace(t,"")},makeArray:function(a,b){var c,d=b||[];return a!=null&&(c=p.type(a),a.length==null||c==="string"||c==="function"||c==="regexp"||p.isWindow(a)?j.call(d,a):p.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(l)return l.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if(typeof d=="number")for(;f<d;f++)a[e++]=c[f];else while(c[f]!==b)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;c=!!c;for(;f<g;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof p||i!==b&&typeof i=="number"&&(i>0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h<i;h++)e=c(a[h],h,d),e!=null&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),e!=null&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return typeof c=="string"&&(d=a[c],c=a,a=d),p.isFunction(a)?(e=k.call(arguments,2),f=function(){return a.apply(c,e.concat(k.call(arguments)))},f.guid=a.guid=a.guid||f.guid||p.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=d==null,k=0,l=a.length;if(d&&typeof d=="object"){for(k in d)p.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){i=h===b&&p.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call(p(a),c)}):(c.call(a,e),c=null));if(c)for(;k<l;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),p.ready.promise=function(b){if(!d){d=p.Deferred();if(e.readyState==="complete"||e.readyState!=="loading"&&e.addEventListener)setTimeout(p.ready,1);else if(e.addEventListener)e.addEventListener("DOMContentLoaded",D,!1),a.addEventListener("load",p.ready,!1);else{e.attachEvent("onreadystatechange",D),a.attachEvent("onload",p.ready);var c=!1;try{c=a.frameElement==null&&e.documentElement}catch(f){}c&&c.doScroll&&function g(){if(!p.isReady){try{c.doScroll("left")}catch(a){return setTimeout(g,50)}p.ready()}}()}}return d.promise(b)},p.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){E["[object "+b+"]"]=b.toLowerCase()}),c=p(e);var F={};p.Callbacks=function(a){a=typeof a=="string"?F[a]||G(a):p.extend({},a);var c,d,e,f,g,h,i=[],j=!a.once&&[],k=function(b){c=a.memory&&b,d=!0,h=f||0,f=0,g=i.length,e=!0;for(;i&&h<g;h++)if(i[h].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}e=!1,i&&(j?j.length&&k(j.shift()):c?i=[]:l.disable())},l={add:function(){if(i){var b=i.length;(function d(b){p.each(b,function(b,c){p.isFunction(c)&&(!a.unique||!l.has(c))?i.push(c):c&&c.length&&d(c)})})(arguments),e?g=i.length:c&&(f=b,k(c))}return this},remove:function(){return i&&p.each(arguments,function(a,b){var c;while((c=p.inArray(b,i,c))>-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return typeof a=="object"?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b<d;b++)c[b]&&p.isFunction(c[b].promise)?c[b].promise().done(g(b,j,c)).fail(f.reject).progress(g(b,i,h)):--e}return e||f.resolveWith(j,c),f.promise()}}),p.support=function(){var b,c,d,f,g,h,i,j,k,l,m,n=e.createElement("div");n.setAttribute("className","t"),n.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length||!d)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="<div></div>",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/^(?:\{.*\}|\[.*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||++p.uuid:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e<f;e++)delete d[b[e]];if(!(c?K:p.isEmptyObject)(d))return}}if(!c){delete h[i].data;if(!K(h[i]))return}g?p.cleanData([a],!0):p.support.deleteExpando||h!=h.window?delete h[i]:h[i]=null},_data:function(a,b,c){return p.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute("classid")===b}}),p.fn.extend({data:function(a,c){var d,e,f,g,h,i=this[0],j=0,k=null;if(a===b){if(this.length){k=p.data(i);if(i.nodeType===1&&!p._data(i,"parsedAttrs")){f=i.attributes;for(h=f.length;j<h;j++)g=f[j].name,g.indexOf("data-")===0&&(g=p.camelCase(g.substring(5)),J(i,g,k[g]));p._data(i,"parsedAttrs",!0)}}return k}return typeof a=="object"?this.each(function(){p.data(this,a)}):(d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!",p.access(this,function(c){if(c===b)return k=this.triggerHandler("getData"+e,[d[0]]),k===b&&i&&(k=p.data(i,a),k=J(i,a,k)),k===b&&d[1]?this.data(d[0]):k;d[1]=c,this.each(function(){var b=p(this);b.triggerHandler("setData"+e,d),p.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.shift(),e=p._queueHooks(a,b),f=function(){p.dequeue(a,b)};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),delete e.stop,d.call(a,f,e)),!c.length&&e&&e.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length<d?p.queue(this[0],a):c===b?this:this.each(function(){var b=p.queue(this,a,c);p._queueHooks(this,a),a==="fx"&&b[0]!=="inprogress"&&p.dequeue(this,a)})},dequeue:function(a){return this.each(function(){p.dequeue(this,a)})},delay:function(a,b){return a=p.fx?p.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){var d,e=1,f=p.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};typeof a!="string"&&(c=a,a=b),a=a||"fx";while(h--)(d=p._data(g[h],a+"queueHooks"))&&d.empty&&(e++,d.empty.add(i));return i(),f.promise(c)}});var L,M,N,O=/[\t\r\n]/g,P=/\r/g,Q=/^(?:button|input)$/i,R=/^(?:button|input|object|select|textarea)$/i,S=/^a(?:rea|)$/i,T=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,U=p.support.getSetAttribute;p.fn.extend({attr:function(a,b){return p.access(this,p.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{f=" "+e.className+" ";for(g=0,h=b.length;g<h;g++)~f.indexOf(" "+b[g]+" ")||(f+=b[g]+" ");e.className=p.trim(f)}}}return this},removeClass:function(a){var c,d,e,f,g,h,i;if(p.isFunction(a))return this.each(function(b){p(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(s);for(h=0,i=this.length;h<i;h++){e=this[h];if(e.nodeType===1&&e.className){d=(" "+e.className+" ").replace(O," ");for(f=0,g=c.length;f<g;f++)while(d.indexOf(" "+c[f]+" ")>-1)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(O," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c<d;c++){e=h[c];if(e.selected&&(p.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!p.nodeName(e.parentNode,"optgroup"))){b=p(e).val();if(i)return b;g.push(b)}}return i&&!g.length&&h.length?p(h[f]).val():g},set:function(a,b){var c=p.makeArray(b);return p(a).find("option").each(function(){this.selected=p.inArray(p(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,""+d),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g<d.length;g++)e=d[g],e&&(c=p.propFix[e]||e,f=T.test(e),f||p.attr(a,e,""),a.removeAttribute(U?e:c),f&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(Q.test(a.nodeName)&&a.parentNode)p.error("type property can't be changed");else if(!p.support.radioValue&&b==="radio"&&p.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}},value:{get:function(a,b){return L&&p.nodeName(a,"button")?L.get(a,b):b in a?a.value:null},set:function(a,b,c){if(L&&p.nodeName(a,"button"))return L.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,f,g,h=a.nodeType;if(!a||h===3||h===8||h===2)return;return g=h!==1||!p.isXMLDoc(a),g&&(c=p.propFix[c]||c,f=p.propHooks[c]),d!==b?f&&"set"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&"get"in f&&(e=f.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):R.test(a.nodeName)||S.test(a.nodeName)&&a.href?0:b}}}}),M={get:function(a,c){var d,e=p.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;return b===!1?p.removeAttr(a,c):(d=p.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},U||(N={name:!0,id:!0,coords:!0},L=p.valHooks.button={get:function(a,c){var d;return d=a.getAttributeNode(c),d&&(N[c]?d.value!=="":d.specified)?d.value:b},set:function(a,b,c){var d=a.getAttributeNode(c);return d||(d=e.createAttribute(c),a.setAttributeNode(d)),d.value=b+""}},p.each(["width","height"],function(a,b){p.attrHooks[b]=p.extend(p.attrHooks[b],{set:function(a,c){if(c==="")return a.setAttribute(b,"auto"),c}})}),p.attrHooks.contenteditable={get:L.get,set:function(a,b,c){b===""&&(b="false"),L.set(a,b,c)}}),p.support.hrefNormalized||p.each(["href","src","width","height"],function(a,c){p.attrHooks[c]=p.extend(p.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),p.support.style||(p.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),p.support.optSelected||(p.propHooks.selected=p.extend(p.propHooks.selected,{get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),p.support.enctype||(p.propFix.enctype="encoding"),p.support.checkOn||p.each(["radio","checkbox"],function(){p.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),p.each(["radio","checkbox"],function(){p.valHooks[this]=p.extend(p.valHooks[this],{set:function(a,b){if(p.isArray(b))return a.checked=p.inArray(p(a).val(),b)>=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j<c.length;j++){k=W.exec(c[j])||[],l=k[1],m=(k[2]||"").split(".").sort(),r=p.event.special[l]||{},l=(f?r.delegateType:r.bindType)||l,r=p.event.special[l]||{},n=p.extend({type:l,origType:k[1],data:e,handler:d,guid:d.guid,selector:f,namespace:m.join(".")},o),q=i[l];if(!q){q=i[l]=[],q.delegateCount=0;if(!r.setup||r.setup.call(a,e,m,h)===!1)a.addEventListener?a.addEventListener(l,h,!1):a.attachEvent&&a.attachEvent("on"+l,h)}r.add&&(r.add.call(a,n),n.handler.guid||(n.handler.guid=d.guid)),f?q.splice(q.delegateCount++,0,n):q.push(n),p.event.global[l]=!0}a=null},global:{},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r=p.hasData(a)&&p._data(a);if(!r||!(m=r.events))return;b=p.trim(_(b||"")).split(" ");for(f=0;f<b.length;f++){g=W.exec(b[f])||[],h=i=g[1],j=g[2];if(!h){for(h in m)p.event.remove(a,h+b[f],c,d,!0);continue}n=p.event.special[h]||{},h=(d?n.delegateType:n.bindType)||h,o=m[h]||[],k=o.length,j=j?new RegExp("(^|\\.)"+j.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(l=0;l<o.length;l++)q=o[l],(e||i===q.origType)&&(!c||c.guid===q.guid)&&(!j||j.test(q.namespace))&&(!d||d===q.selector||d==="**"&&q.selector)&&(o.splice(l--,1),q.selector&&o.delegateCount--,n.remove&&n.remove.call(a,q));o.length===0&&k!==o.length&&((!n.teardown||n.teardown.call(a,j,r.handle)===!1)&&p.removeEvent(a,h,r.handle),delete m[h])}p.isEmptyObject(m)&&(delete r.handle,p.removeData(a,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,f,g){if(!f||f.nodeType!==3&&f.nodeType!==8){var h,i,j,k,l,m,n,o,q,r,s=c.type||c,t=[];if($.test(s+p.event.triggered))return;s.indexOf("!")>=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j<q.length&&!c.isPropagationStopped();j++)k=q[j][0],c.type=q[j][1],o=(p._data(k,"events")||{})[c.type]&&p._data(k,"handle"),o&&o.apply(k,d),o=m&&k[m],o&&p.acceptData(k)&&o.apply(k,d)===!1&&c.preventDefault();return c.type=s,!g&&!c.isDefaultPrevented()&&(!n._default||n._default.apply(f.ownerDocument,d)===!1)&&(s!=="click"||!p.nodeName(f,"a"))&&p.acceptData(f)&&m&&f[s]&&(s!=="focus"&&s!=="blur"||c.target.offsetWidth!==0)&&!p.isWindow(f)&&(l=f[m],l&&(f[m]=null),p.event.triggered=s,f[s](),p.event.triggered=b,l&&(f[m]=l)),c.result}return},dispatch:function(c){c=p.event.fix(c||a.event);var d,e,f,g,h,i,j,k,l,m,n,o=(p._data(this,"events")||{})[c.type]||[],q=o.delegateCount,r=[].slice.call(arguments),s=!c.exclusive&&!c.namespace,t=p.event.special[c.type]||{},u=[];r[0]=c,c.delegateTarget=this;if(t.preDispatch&&t.preDispatch.call(this,c)===!1)return;if(q&&(!c.button||c.type!=="click")){g=p(this),g.context=this;for(f=c.target;f!=this;f=f.parentNode||this)if(f.disabled!==!0||c.type!=="click"){i={},k=[],g[0]=f;for(d=0;d<q;d++)l=o[d],m=l.selector,i[m]===b&&(i[m]=g.is(m)),i[m]&&k.push(l);k.length&&u.push({elem:f,matches:k})}}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d<u.length&&!c.isPropagationStopped();d++){j=u[d],c.currentTarget=j.elem;for(e=0;e<j.matches.length&&!c.isImmediatePropagationStopped();e++){l=j.matches[e];if(s||!c.namespace&&!l.namespace||c.namespace_re&&c.namespace_re.test(l.namespace))c.data=l.data,c.handleObj=l,h=((p.event.special[l.origType]||{}).handle||l.handler).apply(j.elem,r),h!==b&&(c.result=h,h===!1&&(c.preventDefault(),c.stopPropagation()))}}return t.postDispatch&&t.postDispatch.call(this,c),c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,c){var d,f,g,h=c.button,i=c.fromElement;return a.pageX==null&&c.clientX!=null&&(d=a.target.ownerDocument||e,f=d.documentElement,g=d.body,a.pageX=c.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=c.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?c.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0),a}},fix:function(a){if(a[p.expando])return a;var b,c,d=a,f=p.event.fixHooks[a.type]||{},g=f.props?this.props.concat(f.props):this.props;a=p.Event(d);for(b=g.length;b;)c=g[--b],a[c]=d[c];return a.target||(a.target=d.srcElement||e),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,f.filter?f.filter(a,d):a},special:{ready:{setup:p.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){p.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=p.extend(new p.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?p.event.trigger(e,null,b):p.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},p.event.handle=p.event.dispatch,p.removeEvent=e.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]=="undefined"&&(a[d]=null),a.detachEvent(d,c))},p.Event=function(a,b){if(this instanceof p.Event)a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?bb:ba):this.type=a,b&&p.extend(this,b),this.timeStamp=a&&a.timeStamp||p.now(),this[p.expando]=!0;else return new p.Event(a,b)},p.Event.prototype={preventDefault:function(){this.isDefaultPrevented=bb;var a=this.originalEvent;if(!a)return;a.preventDefault?a.preventDefault():a.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=bb;var a=this.originalEvent;if(!a)return;a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()},isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba},p.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){p.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj,g=f.selector;if(!e||e!==d&&!p.contains(d,e))a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b;return c}}}),p.support.submitBubbles||(p.event.special.submit={setup:function(){if(p.nodeName(this,"form"))return!1;p.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=p.nodeName(c,"input")||p.nodeName(c,"button")?c.form:b;d&&!p._data(d,"_submit_attached")&&(p.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),p._data(d,"_submit_attached",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&p.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(p.nodeName(this,"form"))return!1;p.event.remove(this,"._submit")}}),p.support.changeBubbles||(p.event.special.change={setup:function(){if(V.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")p.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),p.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),p.event.simulate("change",this,a,!0)});return!1}p.event.add(this,"beforeactivate._change",function(a){var b=a.target;V.test(b.nodeName)&&!p._data(b,"_change_attached")&&(p.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&p.event.simulate("change",this.parentNode,a,!0)}),p._data(b,"_change_attached",!0))})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){return p.event.remove(this,"._change"),V.test(this.nodeName)}}),p.support.focusinBubbles||p.each({focus:"focusin",blur:"focusout"},function(a,b){var c=0,d=function(a){p.event.simulate(b,a.target,p.event.fix(a),!0)};p.event.special[b]={setup:function(){c++===0&&e.addEventListener(a,d,!0)},teardown:function(){--c===0&&e.removeEventListener(a,d,!0)}}}),p.fn.extend({on:function(a,c,d,e,f){var g,h;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(h in a)this.on(h,c,d,a[h],f);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=ba;else if(!e)return this;return f===1&&(g=e,e=function(a){return p().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=p.guid++)),this.each(function(){p.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){var e,f;if(a&&a.preventDefault&&a.handleObj)return e=a.handleObj,p(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler),this;if(typeof a=="object"){for(f in a)this.off(f,c,a[f]);return this}if(c===!1||typeof c=="function")d=c,c=b;return d===!1&&(d=ba),this.each(function(){p.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){return p(this.context).on(a,this.selector,b,c),this},die:function(a,b){return p(this.context).off(a,this.selector||"**",b),this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a||"**",c)},trigger:function(a,b){return this.each(function(){p.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return p.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||p.guid++,d=0,e=function(c){var e=(p._data(this,"lastToggle"+a.guid)||0)%d;return p._data(this,"lastToggle"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),p.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){p.fn[b]=function(a,c){return c==null&&(c=a,a=null),arguments.length>0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bd(a,b,c,d){var e=0,f=b.length;for(;e<f;e++)Z(a,b[e],c,d)}function be(a,b,c,d,e,f){var g,h=$.setFilters[b.toLowerCase()];return h||Z.error(b),(a||!(g=e))&&bd(a||"*",d,g=[],e),g.length>0?h(g,c,f):[]}function bf(a,c,d,e,f){var g,h,i,j,k,l,m,n,p=0,q=f.length,s=L.POS,t=new RegExp("^"+s.source+"(?!"+r+")","i"),u=function(){var a=1,c=arguments.length-2;for(;a<c;a++)arguments[a]===b&&(g[a]=b)};for(;p<q;p++){s.exec(""),a=f[p],j=[],i=0,k=e;while(g=s.exec(a)){n=s.lastIndex=g.index+g[0].length;if(n>i){m=a.slice(i,g.index),i=n,l=[c],B.test(m)&&(k&&(l=k),k=e);if(h=H.test(m))m=m.slice(0,-5).replace(B,"$&*");g.length>1&&g[0].replace(t,u),k=be(m,g[1],g[2],l,k,h)}}k?(j=j.concat(k),(m=a.slice(i))&&m!==")"?B.test(m)?bd(m,j,d,e):Z(m,c,d,e?e.concat(k):k):o.apply(d,j)):Z(a,c,d,e)}return q===1?d:Z.uniqueSort(d)}function bg(a,b,c){var d,e,f,g=[],i=0,j=D.exec(a),k=!j.pop()&&!j.pop(),l=k&&a.match(C)||[""],m=$.preFilter,n=$.filter,o=!c&&b!==h;for(;(e=l[i])!=null&&k;i++){g.push(d=[]),o&&(e=" "+e);while(e){k=!1;if(j=B.exec(e))e=e.slice(j[0].length),k=d.push({part:j.pop().replace(A," "),captures:j});for(f in n)(j=L[f].exec(e))&&(!m[f]||(j=m[f](j,b,c)))&&(e=e.slice(j.shift().length),k=d.push({part:f,captures:j}));if(!k)break}}return k||Z.error(a),g}function bh(a,b,e){var f=b.dir,g=m++;return a||(a=function(a){return a===e}),b.first?function(b,c){while(b=b[f])if(b.nodeType===1)return a(b,c)&&b}:function(b,e){var h,i=g+"."+d,j=i+"."+c;while(b=b[f])if(b.nodeType===1){if((h=b[q])===j)return b.sizset;if(typeof h=="string"&&h.indexOf(i)===0){if(b.sizset)return b}else{b[q]=j;if(a(b,e))return b.sizset=!0,b;b.sizset=!1}}}}function bi(a,b){return a?function(c,d){var e=b(c,d);return e&&a(e===!0?c:e,d)}:b}function bj(a,b,c){var d,e,f=0;for(;d=a[f];f++)$.relative[d.part]?e=bh(e,$.relative[d.part],b):(d.captures.push(b,c),e=bi(e,$.filter[d.part].apply(null,d.captures)));return e}function bk(a){return function(b,c){var d,e=0;for(;d=a[e];e++)if(d(b,c))return!0;return!1}}var c,d,e,f,g,h=a.document,i=h.documentElement,j="undefined",k=!1,l=!0,m=0,n=[].slice,o=[].push,q=("sizcache"+Math.random()).replace(".",""),r="[\\x20\\t\\r\\n\\f]",s="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",t=s.replace("w","w#"),u="([*^$|!~]?=)",v="\\["+r+"*("+s+")"+r+"*(?:"+u+r+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+t+")|)|)"+r+"*\\]",w=":("+s+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|((?:[^,]|\\\\,|(?:,(?=[^\\[]*\\]))|(?:,(?=[^\\(]*\\))))*))\\)|)",x=":(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\)|)(?=[^-]|$)",y=r+"*([\\x20\\t\\r\\n\\f>+~])"+r+"*",z="(?=[^\\x20\\t\\r\\n\\f])(?:\\\\.|"+v+"|"+w.replace(2,7)+"|[^\\\\(),])+",A=new RegExp("^"+r+"+|((?:^|[^\\\\])(?:\\\\.)*)"+r+"+$","g"),B=new RegExp("^"+y),C=new RegExp(z+"?(?="+r+"*,|$)","g"),D=new RegExp("^(?:(?!,)(?:(?:^|,)"+r+"*"+z+")*?|"+r+"*(.*?))(\\)|$)"),E=new RegExp(z.slice(19,-6)+"\\x20\\t\\r\\n\\f>+~])+|"+y,"g"),F=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,G=/[\x20\t\r\n\f]*[+~]/,H=/:not\($/,I=/h\d/i,J=/input|select|textarea|button/i,K=/\\(?!\\)/g,L={ID:new RegExp("^#("+s+")"),CLASS:new RegExp("^\\.("+s+")"),NAME:new RegExp("^\\[name=['\"]?("+s+")['\"]?\\]"),TAG:new RegExp("^("+s.replace("[-","[-\\*")+")"),ATTR:new RegExp("^"+v),PSEUDO:new RegExp("^"+w),CHILD:new RegExp("^:(only|nth|last|first)-child(?:\\("+r+"*(even|odd|(([+-]|)(\\d*)n|)"+r+"*(?:([+-]|)"+r+"*(\\d+)|))"+r+"*\\)|)","i"),POS:new RegExp(x,"ig"),needsContext:new RegExp("^"+r+"*[>+~]|"+x,"i")},M={},N=[],O={},P=[],Q=function(a){return a.sizzleFilter=!0,a},R=function(a){return function(b){return b.nodeName.toLowerCase()==="input"&&b.type===a}},S=function(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}},T=function(a){var b=!1,c=h.createElement("div");try{b=a(c)}catch(d){}return c=null,b},U=T(function(a){a.innerHTML="<select></select>";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),V=T(function(a){a.id=q+0,a.innerHTML="<a name='"+q+"'></a><div name='"+q+"'></div>",i.insertBefore(a,i.firstChild);var b=h.getElementsByName&&h.getElementsByName(q).length===2+h.getElementsByName(q+0).length;return g=!h.getElementById(q),i.removeChild(a),b}),W=T(function(a){return a.appendChild(h.createComment("")),a.getElementsByTagName("*").length===0}),X=T(function(a){return a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!==j&&a.firstChild.getAttribute("href")==="#"}),Y=T(function(a){return a.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!a.getElementsByClassName||a.getElementsByClassName("e").length===0?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length!==1)}),Z=function(a,b,c,d){c=c||[],b=b||h;var e,f,g,i,j=b.nodeType;if(j!==1&&j!==9)return[];if(!a||typeof a!="string")return c;g=ba(b);if(!g&&!d)if(e=F.exec(a))if(i=e[1]){if(j===9){f=b.getElementById(i);if(!f||!f.parentNode)return c;if(f.id===i)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(i))&&bb(b,f)&&f.id===i)return c.push(f),c}else{if(e[2])return o.apply(c,n.call(b.getElementsByTagName(a),0)),c;if((i=e[3])&&Y&&b.getElementsByClassName)return o.apply(c,n.call(b.getElementsByClassName(i),0)),c}return bm(a,b,c,d,g)},$=Z.selectors={cacheLength:50,match:L,order:["ID","TAG"],attrHandle:{},createPseudo:Q,find:{ID:g?function(a,b,c){if(typeof b.getElementById!==j&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==j&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==j&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:W?function(a,b){if(typeof b.getElementsByTagName!==j)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(K,""),a[3]=(a[4]||a[5]||"").replace(K,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||Z.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&Z.error(a[0]),a},PSEUDO:function(a){var b,c=a[4];return L.CHILD.test(a[0])?null:(c&&(b=D.exec(c))&&b.pop()&&(a[0]=a[0].slice(0,b[0].length-c.length-1),c=b[0].slice(0,-1)),a.splice(2,3,c||a[3]),a)}},filter:{ID:g?function(a){return a=a.replace(K,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(K,""),function(b){var c=typeof b.getAttributeNode!==j&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(K,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=M[a];return b||(b=M[a]=new RegExp("(^|"+r+")"+a+"("+r+"|$)"),N.push(a),N.length>$.cacheLength&&delete M[N.shift()]),function(a){return b.test(a.className||typeof a.getAttribute!==j&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return b?function(d){var e=Z.attr(d,a),f=e+"";if(e==null)return b==="!=";switch(b){case"=":return f===c;case"!=":return f!==c;case"^=":return c&&f.indexOf(c)===0;case"*=":return c&&f.indexOf(c)>-1;case"$=":return c&&f.substr(f.length-c.length)===c;case"~=":return(" "+f+" ").indexOf(c)>-1;case"|=":return f===c||f.substr(0,c.length+1)===c+"-"}}:function(b){return Z.attr(b,a)!=null}},CHILD:function(a,b,c,d){if(a==="nth"){var e=m++;return function(a){var b,f,g=0,h=a;if(c===1&&d===0)return!0;b=a.parentNode;if(b&&(b[q]!==e||!a.sizset)){for(h=b.firstChild;h;h=h.nextSibling)if(h.nodeType===1){h.sizset=++g;if(h===a)break}b[q]=e}return f=a.sizset-d,c===0?f===0:f%c===0&&f/c>=0}}return function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b,c,d){var e=$.pseudos[a]||$.pseudos[a.toLowerCase()];return e||Z.error("unsupported pseudo: "+a),e.sizzleFilter?e(b,c,d):e}},pseudos:{not:Q(function(a,b,c){var d=bl(a.replace(A,"$1"),b,c);return function(a){return!d(a)}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!$.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},contains:Q(function(a){return function(b){return(b.textContent||b.innerText||bc(b)).indexOf(a)>-1}}),has:Q(function(a){return function(b){return Z(a,b).length>0}}),header:function(a){return I.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:R("radio"),checkbox:R("checkbox"),file:R("file"),password:R("password"),image:R("image"),submit:S("submit"),reset:S("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return J.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b,c){return c?a.slice(1):[a[0]]},last:function(a,b,c){var d=a.pop();return c?a:[d]},even:function(a,b,c){var d=[],e=c?1:0,f=a.length;for(;e<f;e=e+2)d.push(a[e]);return d},odd:function(a,b,c){var d=[],e=c?0:1,f=a.length;for(;e<f;e=e+2)d.push(a[e]);return d},lt:function(a,b,c){return c?a.slice(+b):a.slice(0,+b)},gt:function(a,b,c){return c?a.slice(0,+b+1):a.slice(+b+1)},eq:function(a,b,c){var d=a.splice(+b,1);return c?a:d}}};$.setFilters.nth=$.setFilters.eq,$.filters=$.pseudos,X||($.attrHandle={href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}}),V&&($.order.push("NAME"),$.find.NAME=function(a,b){if(typeof b.getElementsByName!==j)return b.getElementsByName(a)}),Y&&($.order.splice(1,0,"CLASS"),$.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!==j&&!c)return b.getElementsByClassName(a)});try{n.call(i.childNodes,0)[0].nodeType}catch(_){n=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}var ba=Z.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},bb=Z.contains=i.compareDocumentPosition?function(a,b){return!!(a.compareDocumentPosition(b)&16)}:i.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc=Z.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=bc(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=bc(b);return c};Z.attr=function(a,b){var c,d=ba(a);return d||(b=b.toLowerCase()),$.attrHandle[b]?$.attrHandle[b](a):U||d?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},Z.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},[0,0].sort(function(){return l=0}),i.compareDocumentPosition?e=function(a,b){return a===b?(k=!0,0):(!a.compareDocumentPosition||!b.compareDocumentPosition?a.compareDocumentPosition:a.compareDocumentPosition(b)&4)?-1:1}:(e=function(a,b){if(a===b)return k=!0,0;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],g=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return f(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)g.unshift(j),j=j.parentNode;c=e.length,d=g.length;for(var l=0;l<c&&l<d;l++)if(e[l]!==g[l])return f(e[l],g[l]);return l===c?f(a,g[l],-1):f(e[l],b,1)},f=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),Z.uniqueSort=function(a){var b,c=1;if(e){k=l,a.sort(e);if(k)for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1)}return a};var bl=Z.compile=function(a,b,c){var d,e,f,g=O[a];if(g&&g.context===b)return g;e=bg(a,b,c);for(f=0;d=e[f];f++)e[f]=bj(d,b,c);return g=O[a]=bk(e),g.context=b,g.runs=g.dirruns=0,P.push(a),P.length>$.cacheLength&&delete O[P.shift()],g};Z.matches=function(a,b){return Z(a,null,null,b)},Z.matchesSelector=function(a,b){return Z(b,null,null,[a]).length>0};var bm=function(a,b,e,f,g){a=a.replace(A,"$1");var h,i,j,k,l,m,p,q,r,s=a.match(C),t=a.match(E),u=b.nodeType;if(L.POS.test(a))return bf(a,b,e,f,s);if(f)h=n.call(f,0);else if(s&&s.length===1){if(t.length>1&&u===9&&!g&&(s=L.ID.exec(t[0]))){b=$.find.ID(s[1],b,g)[0];if(!b)return e;a=a.slice(t.shift().length)}q=(s=G.exec(t[0]))&&!s.index&&b.parentNode||b,r=t.pop(),m=r.split(":not")[0];for(j=0,k=$.order.length;j<k;j++){p=$.order[j];if(s=L[p].exec(m)){h=$.find[p]((s[1]||"").replace(K,""),q,g);if(h==null)continue;m===r&&(a=a.slice(0,a.length-r.length)+m.replace(L[p],""),a||o.apply(e,n.call(h,0)));break}}}if(a){i=bl(a,b,g),d=i.dirruns++,h==null&&(h=$.find.TAG("*",G.test(a)&&b.parentNode||b));for(j=0;l=h[j];j++)c=i.runs++,i(l,b)&&e.push(l)}return e};h.querySelectorAll&&function(){var a,b=bm,c=/'|\\/g,d=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,e=[],f=[":active"],g=i.matchesSelector||i.mozMatchesSelector||i.webkitMatchesSelector||i.oMatchesSelector||i.msMatchesSelector;T(function(a){a.innerHTML="<select><option selected></option></select>",a.querySelectorAll("[selected]").length||e.push("\\["+r+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),T(function(a){a.innerHTML="<p test=''></p>",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+r+"*(?:\"\"|'')"),a.innerHTML="<input type='hidden'>",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=e.length&&new RegExp(e.join("|")),bm=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a)))if(d.nodeType===9)try{return o.apply(f,n.call(d.querySelectorAll(a),0)),f}catch(i){}else if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){var j=d.getAttribute("id"),k=j||q,l=G.test(a)&&d.parentNode||d;j?k=k.replace(c,"\\$&"):d.setAttribute("id",k);try{return o.apply(f,n.call(l.querySelectorAll(a.replace(C,"[id='"+k+"'] $&")),0)),f}catch(i){}finally{j||d.removeAttribute("id")}}return b(a,d,f,g,h)},g&&(T(function(b){a=g.call(b,"div");try{g.call(b,"[test!='']:sizzle"),f.push($.match.PSEUDO)}catch(c){}}),f=new RegExp(f.join("|")),Z.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!ba(b)&&!f.test(c)&&(!e||!e.test(c)))try{var h=g.call(b,c);if(h||a||b.document&&b.document.nodeType!==11)return h}catch(i){}return Z(c,null,null,[b]).length>0})}(),Z.attr=p.attr,p.find=Z,p.expr=Z.selectors,p.expr[":"]=p.expr.pseudos,p.unique=Z.uniqueSort,p.text=Z.getText,p.isXMLDoc=Z.isXML,p.contains=Z.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b<c;b++)if(p.contains(h[b],this))return!0});g=this.pushStack("","find",a);for(b=0,c=this.length;b<c;b++){d=g.length,p.find(a,this[b],g);if(b>0)for(e=d;e<g.length;e++)for(f=0;f<d;f++)if(g[f]===g[e]){g.splice(e--,1);break}}return g},has:function(a){var b,c=p(a,this),d=c.length;return this.filter(function(){for(b=0;b<d;b++)if(p.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(bj(this,a,!1),"not",a)},filter:function(a){return this.pushStack(bj(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?bf.test(a)?p(a,this.context).index(this[0])>=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d<e;d++){c=this[d];while(c&&c.ownerDocument&&c!==b&&c.nodeType!==11){if(g?g.index(c)>-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/<tbody/i,br=/<|&#?\w+;/,bs=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,bu=new RegExp("<(?:"+bl+")[\\s/>]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,bz={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X<div>","</div>"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return bh(this[0])?this.length?this.pushStack(p(p.isFunction(a)?a():a),"replaceWith",a):this:p.isFunction(a)?this.each(function(b){var c=p(this),d=c.html();c.replaceWith(a.call(this,b,d))}):(typeof a!="string"&&(a=p(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;p(this).remove(),b?p(b).before(a):p(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],l=this.length;if(!p.support.checkClone&&l>1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i<l;i++)d.call(c&&p.nodeName(this[i],"table")?bC(this[i],"tbody"):this[i],i===h?g:p.clone(g,!0,!0))}g=f=null,k.length&&p.each(k,function(a,b){b.src?p.ajax?p.ajax({url:b.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):p.error("no ajax"):p.globalEval((b.text||b.textContent||b.innerHTML||"").replace(by,"")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),p.buildFragment=function(a,c,d){var f,g,h,i=a[0];return c=c||e,c=(c[0]||c).ownerDocument||c[0]||c,typeof c.createDocumentFragment=="undefined"&&(c=e),a.length===1&&typeof i=="string"&&i.length<512&&c===e&&i.charAt(0)==="<"&&!bt.test(i)&&(p.support.checkClone||!bw.test(i))&&(p.support.html5Clone||!bu.test(i))&&(g=!0,f=p.fragments[i],h=f!==b),f||(f=c.createDocumentFragment(),p.clean(a,c,f,d),g&&(p.fragments[i]=h&&f)),{fragment:f,cacheable:g}},p.fragments={},p.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){p.fn[a]=function(c){var d,e=0,f=[],g=p(c),h=g.length,i=this.length===1&&this[0].parentNode;if((i==null||i&&i.nodeType===11&&i.childNodes.length===1)&&h===1)return g[b](this[0]),this;for(;e<h;e++)d=(e>0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=0,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(g=b===e&&bA;(h=a[s])!=null;s++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{g=g||bk(b),l=l||g.appendChild(b.createElement("div")),h=h.replace(bo,"<$1></$2>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]==="<table>"&&!m?l.childNodes:[];for(f=n.length-1;f>=0;--f)p.nodeName(n[f],"tbody")&&!n[f].childNodes.length&&n[f].parentNode.removeChild(n[f])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l=g.lastChild}h.nodeType?t.push(h):t=p.merge(t,h)}l&&(g.removeChild(l),h=l=g=null);if(!p.support.appendChecked)for(s=0;(h=t[s])!=null;s++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(s=0;(h=t[s])!=null;s++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[s+1,0].concat(r)),s+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^margin/,bO=new RegExp("^("+q+")(.*)$","i"),bP=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bQ=new RegExp("^([-+])=("+q+")","i"),bR={},bS={position:"absolute",visibility:"hidden",display:"block"},bT={letterSpacing:0,fontWeight:400,lineHeight:1},bU=["Top","Right","Bottom","Left"],bV=["Webkit","O","Moz","ms"],bW=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return bZ(this,!0)},hide:function(){return bZ(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bW.apply(this,arguments):this.each(function(){(c?a:bY(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bX(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bQ.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bX(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bT&&(f=bT[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(a,b){var c,d,e,f,g=getComputedStyle(a,null),h=a.style;return g&&(c=g[b],c===""&&!p.contains(a.ownerDocument.documentElement,a)&&(c=p.style(a,b)),bP.test(c)&&bN.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=c,c=g.width,h.width=d,h.minWidth=e,h.maxWidth=f)),c}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bP.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0||bH(a,"display")!=="none"?ca(a,b,d):p.swap(a,bS,function(){return ca(a,b,d)})},set:function(a,c,d){return b$(a,c,d?b_(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bP.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bU[d]+b]=e[d]||e[d-2]||e[0];return f}},bN.test(a)||(p.cssHooks[a+b].set=b$)});var cc=/%20/g,cd=/\[\]$/,ce=/\r?\n/g,cf=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,cg=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||cg.test(this.nodeName)||cf.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(ce,"\r\n")}}):{name:b.name,value:c.replace(ce,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ch(d,a[d],c,f);return e.join("&").replace(cc,"+")};var ci,cj,ck=/#.*$/,cl=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cm=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,cn=/^(?:GET|HEAD)$/,co=/^\/\//,cp=/\?/,cq=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,cr=/([?&])_=[^&]*/,cs=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,ct=p.fn.load,cu={},cv={},cw=["*/"]+["*"];try{ci=f.href}catch(cx){ci=e.createElement("a"),ci.href="",ci=ci.href}cj=cs.exec(ci.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&ct)return ct.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("<div>").append(a.replace(cq,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cA(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cA(a,b),a},ajaxSettings:{url:ci,isLocal:cm.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cw},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cy(cu),ajaxTransport:cy(cv),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cB(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cC(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=""+(c||y),k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cl.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(ck,"").replace(co,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=cs.exec(l.url.toLowerCase()),l.crossDomain=!(!i||i[1]==cj[1]&&i[2]==cj[2]&&(i[3]||(i[1]==="http:"?80:443))==(cj[3]||(cj[1]==="http:"?80:443)))),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cz(cu,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!cn.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cp.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cr,"$1_="+z);l.url=A+(A===l.url?(cp.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cw+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cz(cv,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cD=[],cE=/\?/,cF=/(=)\?(?=&|$)|\?\?/,cG=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cD.pop()||p.expando+"_"+cG++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cF.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cF.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cF,"$1"+f):m?c.data=i.replace(cF,"$1"+f):k&&(c.url+=(cE.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cD.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cH,cI=a.ActiveXObject?function(){for(var a in cH)cH[a](0,1)}:!1,cJ=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cK()||cL()}:cK,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cI&&delete cH[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cJ,cI&&(cH||(cH={},p(a).unload(cI)),cH[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cM,cN,cO=/^(?:toggle|show|hide)$/,cP=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cQ=/queueHooks$/,cR=[cX],cS={"*":[function(a,b){var c,d,e,f=this.createTween(a,b),g=cP.exec(b),h=f.cur(),i=+h||0,j=1;if(g){c=+g[2],d=g[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&i){i=p.css(f.elem,a,!0)||c||1;do e=j=j||".5",i=i/j,p.style(f.elem,a,i+d),j=f.cur()/h;while(j!==1&&j!==e)}f.unit=d,f.start=i,f.end=g[1]?i+(g[1]+1)*c:c}return f}]};p.Animation=p.extend(cV,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d<e;d++)c=a[d],cS[c]=cS[c]||[],cS[c].unshift(b)},prefilter:function(a,b){b?cR.unshift(a):cR.push(a)}}),p.Tween=cY,cY.prototype={constructor:cY,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(p.cssNumber[c]?"":"px")},cur:function(){var a=cY.propHooks[this.prop];return a&&a.get?a.get(this):cY.propHooks._default.get(this)},run:function(a){var b,c=cY.propHooks[this.prop];return this.pos=b=p.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration),this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):cY.propHooks._default.set(this),this}},cY.prototype.init.prototype=cY.prototype,cY.propHooks={_default:{get:function(a){var b;return a.elem[a.prop]==null||!!a.elem.style&&a.elem.style[a.prop]!=null?(b=p.css(a.elem,a.prop,!1,""),!b||b==="auto"?0:b):a.elem[a.prop]},set:function(a){p.fx.step[a.prop]?p.fx.step[a.prop](a):a.elem.style&&(a.elem.style[p.cssProps[a.prop]]!=null||p.cssHooks[a.prop])?p.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},cY.propHooks.scrollTop=cY.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},p.each(["toggle","show","hide"],function(a,b){var c=p.fn[b];p.fn[b]=function(d,e,f){return d==null||typeof d=="boolean"||!a&&p.isFunction(d)&&p.isFunction(e)?c.apply(this,arguments):this.animate(cZ(b,!0),d,e,f)}}),p.fn.extend({fadeTo:function(a,b,c,d){return this.filter(bY).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=p.isEmptyObject(a),f=p.speed(b,c,d),g=function(){var b=cV(this,p.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=a!=null&&a+"queueHooks",f=p.timers,g=p._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&cQ.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(a==null||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&p.dequeue(this,a)})}}),p.each({slideDown:cZ("show"),slideUp:cZ("hide"),slideToggle:cZ("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){p.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),p.speed=function(a,b,c){var d=a&&typeof a=="object"?p.extend({},a):{complete:c||!c&&b||p.isFunction(a)&&a,duration:a,easing:c&&b||b&&!p.isFunction(b)&&b};d.duration=p.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in p.fx.speeds?p.fx.speeds[d.duration]:p.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";return d.old=d.complete,d.complete=function(){p.isFunction(d.old)&&d.old.call(this),d.queue&&p.dequeue(this,d.queue)},d},p.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},p.timers=[],p.fx=cY.prototype.init,p.fx.tick=function(){var a,b=p.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||p.fx.stop()},p.fx.timer=function(a){a()&&p.timers.push(a)&&!cN&&(cN=setInterval(p.fx.tick,p.fx.interval))},p.fx.interval=13,p.fx.stop=function(){clearInterval(cN),cN=null},p.fx.speeds={slow:600,fast:200,_default:400},p.fx.step={},p.expr&&p.expr.filters&&(p.expr.filters.animated=function(a){return p.grep(p.timers,function(b){return a===b.elem}).length});var c$=/^(?:body|html)$/i;p.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){p.offset.setOffset(this,a,b)});var c,d,e,f,g,h,i,j,k,l,m=this[0],n=m&&m.ownerDocument;if(!n)return;return(e=n.body)===m?p.offset.bodyOffset(m):(d=n.documentElement,p.contains(d,m)?(c=m.getBoundingClientRect(),f=c_(n),g=d.clientTop||e.clientTop||0,h=d.clientLeft||e.clientLeft||0,i=f.pageYOffset||d.scrollTop,j=f.pageXOffset||d.scrollLeft,k=c.top+i-g,l=c.left+j-h,{top:k,left:l}):{top:0,left:0})},p.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;return p.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(p.css(a,"marginTop"))||0,c+=parseFloat(p.css(a,"marginLeft"))||0),{top:b,left:c}},setOffset:function(a,b,c){var d=p.css(a,"position");d==="static"&&(a.style.position="relative");var e=p(a),f=e.offset(),g=p.css(a,"top"),h=p.css(a,"left"),i=(d==="absolute"||d==="fixed")&&p.inArray("auto",[g,h])>-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c$.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c$.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=c_(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); (function (a, b) {
  function G(a) {
  var b = F[a] = {};
  return p.each(a.split(s), function (a, c) {
  b[c] = !0
  }), b
  }
   
  function J(a, c, d) {
  if (d === b && a.nodeType === 1) {
  var e = "data-" + c.replace(I, "-$1").toLowerCase();
  d = a.getAttribute(e);
  if (typeof d == "string") {
  try {
  d = d === "true" ? !0 : d === "false" ? !1 : d === "null" ? null : +d + "" === d ? +d : H.test(d) ? p.parseJSON(d) : d
  } catch (f) {
  }
  p.data(a, c, d)
  } else d = b
  }
  return d
  }
   
  function K(a) {
  var b;
  for (b in a) {
  if (b === "data" && p.isEmptyObject(a[b]))continue;
  if (b !== "toJSON")return!1
  }
  return!0
  }
   
  function ba() {
  return!1
  }
   
  function bb() {
  return!0
  }
   
  function bh(a) {
  return!a || !a.parentNode || a.parentNode.nodeType === 11
  }
   
  function bi(a, b) {
  do a = a[b]; while (a && a.nodeType !== 1);
  return a
  }
   
  function bj(a, b, c) {
  b = b || 0;
  if (p.isFunction(b))return p.grep(a, function (a, d) {
  var e = !!b.call(a, d, a);
  return e === c
  });
  if (b.nodeType)return p.grep(a, function (a, d) {
  return a === b === c
  });
  if (typeof b == "string") {
  var d = p.grep(a, function (a) {
  return a.nodeType === 1
  });
  if (be.test(b))return p.filter(b, d, !c);
  b = p.filter(b, d)
  }
  return p.grep(a, function (a, d) {
  return p.inArray(a, b) >= 0 === c
  })
  }
   
  function bk(a) {
  var b = bl.split("|"), c = a.createDocumentFragment();
  if (c.createElement)while (b.length)c.createElement(b.pop());
  return c
  }
   
  function bC(a, b) {
  return a.getElementsByTagName(b)[0] || a.appendChild(a.ownerDocument.createElement(b))
  }
   
  function bD(a, b) {
  if (b.nodeType !== 1 || !p.hasData(a))return;
  var c, d, e, f = p._data(a), g = p._data(b, f), h = f.events;
  if (h) {
  delete g.handle, g.events = {};
  for (c in h)for (d = 0, e = h[c].length; d < e; d++)p.event.add(b, c, h[c][d])
  }
  g.data && (g.data = p.extend({}, g.data))
  }
   
  function bE(a, b) {
  var c;
  if (b.nodeType !== 1)return;
  b.clearAttributes && b.clearAttributes(), b.mergeAttributes && b.mergeAttributes(a), c = b.nodeName.toLowerCase(), c === "object" ? (b.parentNode && (b.outerHTML = a.outerHTML), p.support.html5Clone && a.innerHTML && !p.trim(b.innerHTML) && (b.innerHTML = a.innerHTML)) : c === "input" && bv.test(a.type) ? (b.defaultChecked = b.checked = a.checked, b.value !== a.value && (b.value = a.value)) : c === "option" ? b.selected = a.defaultSelected : c === "input" || c === "textarea" ? b.defaultValue = a.defaultValue : c === "script" && b.text !== a.text && (b.text = a.text), b.removeAttribute(p.expando)
  }
   
  function bF(a) {
  return typeof a.getElementsByTagName != "undefined" ? a.getElementsByTagName("*") : typeof a.querySelectorAll != "undefined" ? a.querySelectorAll("*") : []
  }
   
  function bG(a) {
  bv.test(a.type) && (a.defaultChecked = a.checked)
  }
   
  function bX(a, b) {
  if (b in a)return b;
  var c = b.charAt(0).toUpperCase() + b.slice(1), d = b, e = bV.length;
  while (e--) {
  b = bV[e] + c;
  if (b in a)return b
  }
  return d
  }
   
  function bY(a, b) {
  return a = b || a, p.css(a, "display") === "none" || !p.contains(a.ownerDocument, a)
  }
   
  function bZ(a, b) {
  var c, d, e = [], f = 0, g = a.length;
  for (; f < g; f++) {
  c = a[f];
  if (!c.style)continue;
  e[f] = p._data(c, "olddisplay"), b ? (!e[f] && c.style.display === "none" && (c.style.display = ""), c.style.display === "" && bY(c) && (e[f] = p._data(c, "olddisplay", cb(c.nodeName)))) : (d = bH(c, "display"), !e[f] && d !== "none" && p._data(c, "olddisplay", d))
  }
  for (f = 0; f < g; f++) {
  c = a[f];
  if (!c.style)continue;
  if (!b || c.style.display === "none" || c.style.display === "")c.style.display = b ? e[f] || "" : "none"
  }
  return a
  }
   
  function b$(a, b, c) {
  var d = bO.exec(b);
  return d ? Math.max(0, d[1] - (c || 0)) + (d[2] || "px") : b
  }
   
  function b_(a, b, c, d) {
  var e = c === (d ? "border" : "content") ? 4 : b === "width" ? 1 : 0, f = 0;
  for (; e < 4; e += 2)c === "margin" && (f += p.css(a, c + bU[e], !0)), d ? (c === "content" && (f -= parseFloat(bH(a, "padding" + bU[e])) || 0), c !== "margin" && (f -= parseFloat(bH(a, "border" + bU[e] + "Width")) || 0)) : (f += parseFloat(bH(a, "padding" + bU[e])) || 0, c !== "padding" && (f += parseFloat(bH(a, "border" + bU[e] + "Width")) || 0));
  return f
  }
   
  function ca(a, b, c) {
  var d = b === "width" ? a.offsetWidth : a.offsetHeight, e = !0, f = p.support.boxSizing && p.css(a, "boxSizing") === "border-box";
  if (d <= 0) {
  d = bH(a, b);
  if (d < 0 || d == null)d = a.style[b];
  if (bP.test(d))return d;
  e = f && (p.support.boxSizingReliable || d === a.style[b]), d = parseFloat(d) || 0
  }
  return d + b_(a, b, c || (f ? "border" : "content"), e) + "px"
  }
   
  function cb(a) {
  if (bR[a])return bR[a];
  var b = p("<" + a + ">").appendTo(e.body), c = b.css("display");
  b.remove();
  if (c === "none" || c === "") {
  bI = e.body.appendChild(bI || p.extend(e.createElement("iframe"), {frameBorder: 0, width: 0, height: 0}));
  if (!bJ || !bI.createElement)bJ = (bI.contentWindow || bI.contentDocument).document, bJ.write("<!doctype html><html><body>"), bJ.close();
  b = bJ.body.appendChild(bJ.createElement(a)), c = bH(b, "display"), e.body.removeChild(bI)
  }
  return bR[a] = c, c
  }
   
  function ch(a, b, c, d) {
  var e;
  if (p.isArray(b))p.each(b, function (b, e) {
  c || cd.test(a) ? d(a, e) : ch(a + "[" + (typeof e == "object" ? b : "") + "]", e, c, d)
  }); else if (!c && p.type(b) === "object")for (e in b)ch(a + "[" + e + "]", b[e], c, d); else d(a, b)
  }
   
  function cy(a) {
  return function (b, c) {
  typeof b != "string" && (c = b, b = "*");
  var d, e, f, g = b.toLowerCase().split(s), h = 0, i = g.length;
  if (p.isFunction(c))for (; h < i; h++)d = g[h], f = /^\+/.test(d), f && (d = d.substr(1) || "*"), e = a[d] = a[d] || [], e[f ? "unshift" : "push"](c)
  }
  }
   
  function cz(a, c, d, e, f, g) {
  f = f || c.dataTypes[0], g = g || {}, g[f] = !0;
  var h, i = a[f], j = 0, k = i ? i.length : 0, l = a === cu;
  for (; j < k && (l || !h); j++)h = i[j](c, d, e), typeof h == "string" && (!l || g[h] ? h = b : (c.dataTypes.unshift(h), h = cz(a, c, d, e, h, g)));
  return(l || !h) && !g["*"] && (h = cz(a, c, d, e, "*", g)), h
  }
   
  function cA(a, c) {
  var d, e, f = p.ajaxSettings.flatOptions || {};
  for (d in c)c[d] !== b && ((f[d] ? a : e || (e = {}))[d] = c[d]);
  e && p.extend(!0, a, e)
  }
   
  function cB(a, c, d) {
  var e, f, g, h, i = a.contents, j = a.dataTypes, k = a.responseFields;
  for (f in k)f in d && (c[k[f]] = d[f]);
  while (j[0] === "*")j.shift(), e === b && (e = a.mimeType || c.getResponseHeader("content-type"));
  if (e)for (f in i)if (i[f] && i[f].test(e)) {
  j.unshift(f);
  break
  }
  if (j[0]in d)g = j[0]; else {
  for (f in d) {
  if (!j[0] || a.converters[f + " " + j[0]]) {
  g = f;
  break
  }
  h || (h = f)
  }
  g = g || h
  }
  if (g)return g !== j[0] && j.unshift(g), d[g]
  }
   
  function cC(a, b) {
  var c, d, e, f, g = a.dataTypes.slice(), h = g[0], i = {}, j = 0;
  a.dataFilter && (b = a.dataFilter(b, a.dataType));
  if (g[1])for (c in a.converters)i[c.toLowerCase()] = a.converters[c];
  for (; e = g[++j];)if (e !== "*") {
  if (h !== "*" && h !== e) {
  c = i[h + " " + e] || i["* " + e];
  if (!c)for (d in i) {
  f = d.split(" ");
  if (f[1] === e) {
  c = i[h + " " + f[0]] || i["* " + f[0]];
  if (c) {
  c === !0 ? c = i[d] : i[d] !== !0 && (e = f[0], g.splice(j--, 0, e));
  break
  }
  }
  }
  if (c !== !0)if (c && a["throws"])b = c(b); else try {
  b = c(b)
  } catch (k) {
  return{state: "parsererror", error: c ? k : "No conversion from " + h + " to " + e}
  }
  }
  h = e
  }
  return{state: "success", data: b}
  }
   
  function cK() {
  try {
  return new a.XMLHttpRequest
  } catch (b) {
  }
  }
   
  function cL() {
  try {
  return new a.ActiveXObject("Microsoft.XMLHTTP")
  } catch (b) {
  }
  }
   
  function cT() {
  return setTimeout(function () {
  cM = b
  }, 0), cM = p.now()
  }
   
  function cU(a, b) {
  p.each(b, function (b, c) {
  var d = (cS[b] || []).concat(cS["*"]), e = 0, f = d.length;
  for (; e < f; e++)if (d[e].call(a, b, c))return
  })
  }
   
  function cV(a, b, c) {
  var d, e = 0, f = 0, g = cR.length, h = p.Deferred().always(function () {
  delete i.elem
  }), i = function () {
  var b = cM || cT(), c = Math.max(0, j.startTime + j.duration - b), d = 1 - (c / j.duration || 0), e = 0, f = j.tweens.length;
  for (; e < f; e++)j.tweens[e].run(d);
  return h.notifyWith(a, [j, d, c]), d < 1 && f ? c : (h.resolveWith(a, [j]), !1)
  }, j = h.promise({elem: a, props: p.extend({}, b), opts: p.extend(!0, {specialEasing: {}}, c), originalProperties: b, originalOptions: c, startTime: cM || cT(), duration: c.duration, tweens: [], createTween: function (b, c, d) {
  var e = p.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing);
  return j.tweens.push(e), e
  }, stop: function (b) {
  var c = 0, d = b ? j.tweens.length : 0;
  for (; c < d; c++)j.tweens[c].run(1);
  return b ? h.resolveWith(a, [j, b]) : h.rejectWith(a, [j, b]), this
  }}), k = j.props;
  cW(k, j.opts.specialEasing);
  for (; e < g; e++) {
  d = cR[e].call(j, a, k, j.opts);
  if (d)return d
  }
  return cU(j, k), p.isFunction(j.opts.start) && j.opts.start.call(a, j), p.fx.timer(p.extend(i, {anim: j, queue: j.opts.queue, elem: a})), j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always)
  }
   
  function cW(a, b) {
  var c, d, e, f, g;
  for (c in a) {
  d = p.camelCase(c), e = b[d], f = a[c], p.isArray(f) && (e = f[1], f = a[c] = f[0]), c !== d && (a[d] = f, delete a[c]), g = p.cssHooks[d];
  if (g && "expand"in g) {
  f = g.expand(f), delete a[d];
  for (c in f)c in a || (a[c] = f[c], b[c] = e)
  } else b[d] = e
  }
  }
   
  function cX(a, b, c) {
  var d, e, f, g, h, i, j, k, l = this, m = a.style, n = {}, o = [], q = a.nodeType && bY(a);
  c.queue || (j = p._queueHooks(a, "fx"), j.unqueued == null && (j.unqueued = 0, k = j.empty.fire, j.empty.fire = function () {
  j.unqueued || k()
  }), j.unqueued++, l.always(function () {
  l.always(function () {
  j.unqueued--, p.queue(a, "fx").length || j.empty.fire()
  })
  })), a.nodeType === 1 && ("height"in b || "width"in b) && (c.overflow = [m.overflow, m.overflowX, m.overflowY], p.css(a, "display") === "inline" && p.css(a, "float") === "none" && (!p.support.inlineBlockNeedsLayout || cb(a.nodeName) === "inline" ? m.display = "inline-block" : m.zoom = 1)), c.overflow && (m.overflow = "hidden", p.support.shrinkWrapBlocks || l.done(function () {
  m.overflow = c.overflow[0], m.overflowX = c.overflow[1], m.overflowY = c.overflow[2]
  }));
  for (d in b) {
  f = b[d];
  if (cO.exec(f)) {
  delete b[d];
  if (f === (q ? "hide" : "show"))continue;
  o.push(d)
  }
  }
  g = o.length;
  if (g) {
  h = p._data(a, "fxshow") || p._data(a, "fxshow", {}), q ? p(a).show() : l.done(function () {
  p(a).hide()
  }), l.done(function () {
  var b;
  p.removeData(a, "fxshow", !0);
  for (b in n)p.style(a, b, n[b])
  });
  for (d = 0; d < g; d++)e = o[d], i = l.createTween(e, q ? h[e] : 0), n[e] = h[e] || p.style(a, e), e in h || (h[e] = i.start, q && (i.end = i.start, i.start = e === "width" || e === "height" ? 1 : 0))
  }
  }
   
  function cY(a, b, c, d, e) {
  return new cY.prototype.init(a, b, c, d, e)
  }
   
  function cZ(a, b) {
  var c, d = {height: a}, e = 0;
  for (; e < 4; e += 2 - b)c = bU[e], d["margin" + c] = d["padding" + c] = a;
  return b && (d.opacity = d.width = a), d
  }
   
  function c_(a) {
  return p.isWindow(a) ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : !1
  }
   
  var c, d, e = a.document, f = a.location, g = a.navigator, h = a.jQuery, i = a.$, j = Array.prototype.push, k = Array.prototype.slice, l = Array.prototype.indexOf, m = Object.prototype.toString, n = Object.prototype.hasOwnProperty, o = String.prototype.trim, p = function (a, b) {
  return new p.fn.init(a, b, c)
  }, q = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source, r = /\S/, s = /\s+/, t = r.test(" ") ? /^[\s\xA0]+|[\s\xA0]+$/g : /^\s+|\s+$/g, u = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, v = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, w = /^[\],:{}\s]*$/, x = /(?:^|:|,)(?:\s*\[)+/g, y = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, z = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g, A = /^-ms-/, B = /-([\da-z])/gi, C = function (a, b) {
  return(b + "").toUpperCase()
  }, D = function () {
  e.addEventListener ? (e.removeEventListener("DOMContentLoaded", D, !1), p.ready()) : e.readyState === "complete" && (e.detachEvent("onreadystatechange", D), p.ready())
  }, E = {};
  p.fn = p.prototype = {constructor: p, init: function (a, c, d) {
  var f, g, h, i;
  if (!a)return this;
  if (a.nodeType)return this.context = this[0] = a, this.length = 1, this;
  if (typeof a == "string") {
  a.charAt(0) === "<" && a.charAt(a.length - 1) === ">" && a.length >= 3 ? f = [null, a, null] : f = u.exec(a);
  if (f && (f[1] || !c)) {
  if (f[1])return c = c instanceof p ? c[0] : c, i = c && c.nodeType ? c.ownerDocument || c : e, a = p.parseHTML(f[1], i, !0), v.test(f[1]) && p.isPlainObject(c) && this.attr.call(a, c, !0), p.merge(this, a);
  g = e.getElementById(f[2]);
  if (g && g.parentNode) {
  if (g.id !== f[2])return d.find(a);
  this.length = 1, this[0] = g
  }
  return this.context = e, this.selector = a, this
  }
  return!c || c.jquery ? (c || d).find(a) : this.constructor(c).find(a)
  }
  return p.isFunction(a) ? d.ready(a) : (a.selector !== b && (this.selector = a.selector, this.context = a.context), p.makeArray(a, this))
  }, selector: "", jquery: "1.8.0", length: 0, size: function () {
  return this.length
  }, toArray: function () {
  return k.call(this)
  }, get: function (a) {
  return a == null ? this.toArray() : a < 0 ? this[this.length + a] : this[a]
  }, pushStack: function (a, b, c) {
  var d = p.merge(this.constructor(), a);
  return d.prevObject = this, d.context = this.context, b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")"), d
  }, each: function (a, b) {
  return p.each(this, a, b)
  }, ready: function (a) {
  return p.ready.promise().done(a), this
  }, eq: function (a) {
  return a = +a, a === -1 ? this.slice(a) : this.slice(a, a + 1)
  }, first: function () {
  return this.eq(0)
  }, last: function () {
  return this.eq(-1)
  }, slice: function () {
  return this.pushStack(k.apply(this, arguments), "slice", k.call(arguments).join(","))
  }, map: function (a) {
  return this.pushStack(p.map(this, function (b, c) {
  return a.call(b, c, b)
  }))
  }, end: function () {
  return this.prevObject || this.constructor(null)
  }, push: j, sort: [].sort, splice: [].splice}, p.fn.init.prototype = p.fn, p.extend = p.fn.extend = function () {
  var a, c, d, e, f, g, h = arguments[0] || {}, i = 1, j = arguments.length, k = !1;
  typeof h == "boolean" && (k = h, h = arguments[1] || {}, i = 2), typeof h != "object" && !p.isFunction(h) && (h = {}), j === i && (h = this, --i);
  for (; i < j; i++)if ((a = arguments[i]) != null)for (c in a) {
  d = h[c], e = a[c];
  if (h === e)continue;
  k && e && (p.isPlainObject(e) || (f = p.isArray(e))) ? (f ? (f = !1, g = d && p.isArray(d) ? d : []) : g = d && p.isPlainObject(d) ? d : {}, h[c] = p.extend(k, g, e)) : e !== b && (h[c] = e)
  }
  return h
  }, p.extend({noConflict: function (b) {
  return a.$ === p && (a.$ = i), b && a.jQuery === p && (a.jQuery = h), p
  }, isReady: !1, readyWait: 1, holdReady: function (a) {
  a ? p.readyWait++ : p.ready(!0)
  }, ready: function (a) {
  if (a === !0 ? --p.readyWait : p.isReady)return;
  if (!e.body)return setTimeout(p.ready, 1);
  p.isReady = !0;
  if (a !== !0 && --p.readyWait > 0)return;
  d.resolveWith(e, [p]), p.fn.trigger && p(e).trigger("ready").off("ready")
  }, isFunction: function (a) {
  return p.type(a) === "function"
  }, isArray: Array.isArray || function (a) {
  return p.type(a) === "array"
  }, isWindow: function (a) {
  return a != null && a == a.window
  }, isNumeric: function (a) {
  return!isNaN(parseFloat(a)) && isFinite(a)
  }, type: function (a) {
  return a == null ? String(a) : E[m.call(a)] || "object"
  }, isPlainObject: function (a) {
  if (!a || p.type(a) !== "object" || a.nodeType || p.isWindow(a))return!1;
  try {
  if (a.constructor && !n.call(a, "constructor") && !n.call(a.constructor.prototype, "isPrototypeOf"))return!1
  } catch (c) {
  return!1
  }
  var d;
  for (d in a);
  return d === b || n.call(a, d)
  }, isEmptyObject: function (a) {
  var b;
  for (b in a)return!1;
  return!0
  }, error: function (a) {
  throw new Error(a)
  }, parseHTML: function (a, b, c) {
  var d;
  return!a || typeof a != "string" ? null : (typeof b == "boolean" && (c = b, b = 0), b = b || e, (d = v.exec(a)) ? [b.createElement(d[1])] : (d = p.buildFragment([a], b, c ? null : []), p.merge([], (d.cacheable ? p.clone(d.fragment) : d.fragment).childNodes)))
  }, parseJSON: function (b) {
  if (!b || typeof b != "string")return null;
  b = p.trim(b);
  if (a.JSON && a.JSON.parse)return a.JSON.parse(b);
  if (w.test(b.replace(y, "@").replace(z, "]").replace(x, "")))return(new Function("return " + b))();
  p.error("Invalid JSON: " + b)
  }, parseXML: function (c) {
  var d, e;
  if (!c || typeof c != "string")return null;
  try {
  a.DOMParser ? (e = new DOMParser, d = e.parseFromString(c, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"), d.async = "false", d.loadXML(c))
  } catch (f) {
  d = b
  }
  return(!d || !d.documentElement || d.getElementsByTagName("parsererror").length) && p.error("Invalid XML: " + c), d
  }, noop: function () {
  }, globalEval: function (b) {
  b && r.test(b) && (a.execScript || function (b) {
  a.eval.call(a, b)
  })(b)
  }, camelCase: function (a) {
  return a.replace(A, "ms-").replace(B, C)
  }, nodeName: function (a, b) {
  return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase()
  }, each: function (a, c, d) {
  var e, f = 0, g = a.length, h = g === b || p.isFunction(a);
  if (d) {
  if (h) {
  for (e in a)if (c.apply(a[e], d) === !1)break
  } else for (; f < g;)if (c.apply(a[f++], d) === !1)break
  } else if (h) {
  for (e in a)if (c.call(a[e], e, a[e]) === !1)break
  } else for (; f < g;)if (c.call(a[f], f, a[f++]) === !1)break;
  return a
  }, trim: o ? function (a) {
  return a == null ? "" : o.call(a)
  } : function (a) {
  return a == null ? "" : a.toString().replace(t, "")
  }, makeArray: function (a, b) {
  var c, d = b || [];
  return a != null && (c = p.type(a), a.length == null || c === "string" || c === "function" || c === "regexp" || p.isWindow(a) ? j.call(d, a) : p.merge(d, a)), d
  }, inArray: function (a, b, c) {
  var d;
  if (b) {
  if (l)return l.call(b, a, c);
  d = b.length, c = c ? c < 0 ? Math.max(0, d + c) : c : 0;
  for (; c < d; c++)if (c in b && b[c] === a)return c
  }
  return-1
  }, merge: function (a, c) {
  var d = c.length, e = a.length, f = 0;
  if (typeof d == "number")for (; f < d; f++)a[e++] = c[f]; else while (c[f] !== b)a[e++] = c[f++];
  return a.length = e, a
  }, grep: function (a, b, c) {
  var d, e = [], f = 0, g = a.length;
  c = !!c;
  for (; f < g; f++)d = !!b(a[f], f), c !== d && e.push(a[f]);
  return e
  }, map: function (a, c, d) {
  var e, f, g = [], h = 0, i = a.length, j = a instanceof p || i !== b && typeof i == "number" && (i > 0 && a[0] && a[i - 1] || i === 0 || p.isArray(a));
  if (j)for (; h < i; h++)e = c(a[h], h, d), e != null && (g[g.length] = e); else for (f in a)e = c(a[f], f, d), e != null && (g[g.length] = e);
  return g.concat.apply([], g)
  }, guid: 1, proxy: function (a, c) {
  var d, e, f;
  return typeof c == "string" && (d = a[c], c = a, a = d), p.isFunction(a) ? (e = k.call(arguments, 2), f = function () {
  return a.apply(c, e.concat(k.call(arguments)))
  }, f.guid = a.guid = a.guid || f.guid || p.guid++, f) : b
  }, access: function (a, c, d, e, f, g, h) {
  var i, j = d == null, k = 0, l = a.length;
  if (d && typeof d == "object") {
  for (k in d)p.access(a, c, k, d[k], 1, g, e);
  f = 1
  } else if (e !== b) {
  i = h === b && p.isFunction(e), j && (i ? (i = c, c = function (a, b, c) {
  return i.call(p(a), c)
  }) : (c.call(a, e), c = null));
  if (c)for (; k < l; k++)c(a[k], d, i ? e.call(a[k], k, c(a[k], d)) : e, h);
  f = 1
  }
  return f ? a : j ? c.call(a) : l ? c(a[0], d) : g
  }, now: function () {
  return(new Date).getTime()
  }}), p.ready.promise = function (b) {
  if (!d) {
  d = p.Deferred();
  if (e.readyState === "complete" || e.readyState !== "loading" && e.addEventListener)setTimeout(p.ready, 1); else if (e.addEventListener)e.addEventListener("DOMContentLoaded", D, !1), a.addEventListener("load", p.ready, !1); else {
  e.attachEvent("onreadystatechange", D), a.attachEvent("onload", p.ready);
  var c = !1;
  try {
  c = a.frameElement == null && e.documentElement
  } catch (f) {
  }
  c && c.doScroll && function g() {
  if (!p.isReady) {
  try {
  c.doScroll("left")
  } catch (a) {
  return setTimeout(g, 50)
  }
  p.ready()
  }
  }()
  }
  }
  return d.promise(b)
  }, p.each("Boolean Number String Function Array Date RegExp Object".split(" "), function (a, b) {
  E["[object " + b + "]"] = b.toLowerCase()
  }), c = p(e);
  var F = {};
  p.Callbacks = function (a) {
  a = typeof a == "string" ? F[a] || G(a) : p.extend({}, a);
  var c, d, e, f, g, h, i = [], j = !a.once && [], k = function (b) {
  c = a.memory && b, d = !0, h = f || 0, f = 0, g = i.length, e = !0;
  for (; i && h < g; h++)if (i[h].apply(b[0], b[1]) === !1 && a.stopOnFalse) {
  c = !1;
  break
  }
  e = !1, i && (j ? j.length && k(j.shift()) : c ? i = [] : l.disable())
  }, l = {add: function () {
  if (i) {
  var b = i.length;
  (function d(b) {
  p.each(b, function (b, c) {
  p.isFunction(c) && (!a.unique || !l.has(c)) ? i.push(c) : c && c.length && d(c)
  })
  })(arguments), e ? g = i.length : c && (f = b, k(c))
  }
  return this
  }, remove: function () {
  return i && p.each(arguments, function (a, b) {
  var c;
  while ((c = p.inArray(b, i, c)) > -1)i.splice(c, 1), e && (c <= g && g--, c <= h && h--)
  }), this
  }, has: function (a) {
  return p.inArray(a, i) > -1
  }, empty: function () {
  return i = [], this
  }, disable: function () {
  return i = j = c = b, this
  }, disabled: function () {
  return!i
  }, lock: function () {
  return j = b, c || l.disable(), this
  }, locked: function () {
  return!j
  }, fireWith: function (a, b) {
  return b = b || [], b = [a, b.slice ? b.slice() : b], i && (!d || j) && (e ? j.push(b) : k(b)), this
  }, fire: function () {
  return l.fireWith(this, arguments), this
  }, fired: function () {
  return!!d
  }};
  return l
  }, p.extend({Deferred: function (a) {
  var b = [
  ["resolve", "done", p.Callbacks("once memory"), "resolved"],
  ["reject", "fail", p.Callbacks("once memory"), "rejected"],
  ["notify", "progress", p.Callbacks("memory")]
  ], c = "pending", d = {state: function () {
  return c
  }, always: function () {
  return e.done(arguments).fail(arguments), this
  }, then: function () {
  var a = arguments;
  return p.Deferred(function (c) {
  p.each(b, function (b, d) {
  var f = d[0], g = a[b];
  e[d[1]](p.isFunction(g) ? function () {
  var a = g.apply(this, arguments);
  a && p.isFunction(a.promise) ? a.promise().done(c.resolve).fail(c.reject).progress(c.notify) : c[f + "With"](this === e ? c : this, [a])
  } : c[f])
  }), a = null
  }).promise()
  }, promise: function (a) {
  return typeof a == "object" ? p.extend(a, d) : d
  }}, e = {};
  return d.pipe = d.then, p.each(b, function (a, f) {
  var g = f[2], h = f[3];
  d[f[1]] = g.add, h && g.add(function () {
  c = h
  }, b[a ^ 1][2].disable, b[2][2].lock), e[f[0]] = g.fire, e[f[0] + "With"] = g.fireWith
  }), d.promise(e), a && a.call(e, e), e
  }, when: function (a) {
  var b = 0, c = k.call(arguments), d = c.length, e = d !== 1 || a && p.isFunction(a.promise) ? d : 0, f = e === 1 ? a : p.Deferred(), g = function (a, b, c) {
  return function (d) {
  b[a] = this, c[a] = arguments.length > 1 ? k.call(arguments) : d, c === h ? f.notifyWith(b, c) : --e || f.resolveWith(b, c)
  }
  }, h, i, j;
  if (d > 1) {
  h = new Array(d), i = new Array(d), j = new Array(d);
  for (; b < d; b++)c[b] && p.isFunction(c[b].promise) ? c[b].promise().done(g(b, j, c)).fail(f.reject).progress(g(b, i, h)) : --e
  }
  return e || f.resolveWith(j, c), f.promise()
  }}), p.support = function () {
  var b, c, d, f, g, h, i, j, k, l, m, n = e.createElement("div");
  n.setAttribute("className", "t"), n.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", c = n.getElementsByTagName("*"), d = n.getElementsByTagName("a")[0], d.style.cssText = "top:1px;float:left;opacity:.5";
  if (!c || !c.length || !d)return{};
  f = e.createElement("select"), g = f.appendChild(e.createElement("option")), h = n.getElementsByTagName("input")[0], b = {leadingWhitespace: n.firstChild.nodeType === 3, tbody: !n.getElementsByTagName("tbody").length, htmlSerialize: !!n.getElementsByTagName("link").length, style: /top/.test(d.getAttribute("style")), hrefNormalized: d.getAttribute("href") === "/a", opacity: /^0.5/.test(d.style.opacity), cssFloat: !!d.style.cssFloat, checkOn: h.value === "on", optSelected: g.selected, getSetAttribute: n.className !== "t", enctype: !!e.createElement("form").enctype, html5Clone: e.createElement("nav").cloneNode(!0).outerHTML !== "<:nav></:nav>", boxModel: e.compatMode === "CSS1Compat", submitBubbles: !0, changeBubbles: !0, focusinBubbles: !1, deleteExpando: !0, noCloneEvent: !0, inlineBlockNeedsLayout: !1, shrinkWrapBlocks: !1, reliableMarginRight: !0, boxSizingReliable: !0, pixelPosition: !1}, h.checked = !0, b.noCloneChecked = h.cloneNode(!0).checked, f.disabled = !0, b.optDisabled = !g.disabled;
  try {
  delete n.test
  } catch (o) {
  b.deleteExpando = !1
  }
  !n.addEventListener && n.attachEvent && n.fireEvent && (n.attachEvent("onclick", m = function () {
  b.noCloneEvent = !1
  }), n.cloneNode(!0).fireEvent("onclick"), n.detachEvent("onclick", m)), h = e.createElement("input"), h.value = "t", h.setAttribute("type", "radio"), b.radioValue = h.value === "t", h.setAttribute("checked", "checked"), h.setAttribute("name", "t"), n.appendChild(h), i = e.createDocumentFragment(), i.appendChild(n.lastChild), b.checkClone = i.cloneNode(!0).cloneNode(!0).lastChild.checked, b.appendChecked = h.checked, i.removeChild(h), i.appendChild(n);
  if (n.attachEvent)for (k in{submit: !0, change: !0, focusin: !0})j = "on" + k, l = j in n, l || (n.setAttribute(j, "return;"), l = typeof n[j] == "function"), b[k + "Bubbles"] = l;
  return p(function () {
  var c, d, f, g, h = "padding:0;margin:0;border:0;display:block;overflow:hidden;", i = e.getElementsByTagName("body")[0];
  if (!i)return;
  c = e.createElement("div"), c.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px", i.insertBefore(c, i.firstChild), d = e.createElement("div"), c.appendChild(d), d.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", f = d.getElementsByTagName("td"), f[0].style.cssText = "padding:0;margin:0;border:0;display:none", l = f[0].offsetHeight === 0, f[0].style.display = "", f[1].style.display = "none", b.reliableHiddenOffsets = l && f[0].offsetHeight === 0, d.innerHTML = "", d.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", b.boxSizing = d.offsetWidth === 4, b.doesNotIncludeMarginInBodyOffset = i.offsetTop !== 1, a.getComputedStyle && (b.pixelPosition = (a.getComputedStyle(d, null) || {}).top !== "1%", b.boxSizingReliable = (a.getComputedStyle(d, null) || {width: "4px"}).width === "4px", g = e.createElement("div"), g.style.cssText = d.style.cssText = h, g.style.marginRight = g.style.width = "0", d.style.width = "1px", d.appendChild(g), b.reliableMarginRight = !parseFloat((a.getComputedStyle(g, null) || {}).marginRight)), typeof d.style.zoom != "undefined" && (d.innerHTML = "", d.style.cssText = h + "width:1px;padding:1px;display:inline;zoom:1", b.inlineBlockNeedsLayout = d.offsetWidth === 3, d.style.display = "block", d.style.overflow = "visible", d.innerHTML = "<div></div>", d.firstChild.style.width = "5px", b.shrinkWrapBlocks = d.offsetWidth !== 3, c.style.zoom = 1), i.removeChild(c), c = d = f = g = null
  }), i.removeChild(n), c = d = f = g = h = i = n = null, b
  }();
  var H = /^(?:\{.*\}|\[.*\])$/, I = /([A-Z])/g;
  p.extend({cache: {}, deletedIds: [], uuid: 0, expando: "jQuery" + (p.fn.jquery + Math.random()).replace(/\D/g, ""), noData: {embed: !0, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", applet: !0}, hasData: function (a) {
  return a = a.nodeType ? p.cache[a[p.expando]] : a[p.expando], !!a && !K(a)
  }, data: function (a, c, d, e) {
  if (!p.acceptData(a))return;
  var f, g, h = p.expando, i = typeof c == "string", j = a.nodeType, k = j ? p.cache : a, l = j ? a[h] : a[h] && h;
  if ((!l || !k[l] || !e && !k[l].data) && i && d === b)return;
  l || (j ? a[h] = l = p.deletedIds.pop() || ++p.uuid : l = h), k[l] || (k[l] = {}, j || (k[l].toJSON = p.noop));
  if (typeof c == "object" || typeof c == "function")e ? k[l] = p.extend(k[l], c) : k[l].data = p.extend(k[l].data, c);
  return f = k[l], e || (f.data || (f.data = {}), f = f.data), d !== b && (f[p.camelCase(c)] = d), i ? (g = f[c], g == null && (g = f[p.camelCase(c)])) : g = f, g
  }, removeData: function (a, b, c) {
  if (!p.acceptData(a))return;
  var d, e, f, g = a.nodeType, h = g ? p.cache : a, i = g ? a[p.expando] : p.expando;
  if (!h[i])return;
  if (b) {
  d = c ? h[i] : h[i].data;
  if (d) {
  p.isArray(b) || (b in d ? b = [b] : (b = p.camelCase(b), b in d ? b = [b] : b = b.split(" ")));
  for (e = 0, f = b.length; e < f; e++)delete d[b[e]];
  if (!(c ? K : p.isEmptyObject)(d))return
  }
  }
  if (!c) {
  delete h[i].data;
  if (!K(h[i]))return
  }
  g ? p.cleanData([a], !0) : p.support.deleteExpando || h != h.window ? delete h[i] : h[i] = null
  }, _data: function (a, b, c) {
  return p.data(a, b, c, !0)
  }, acceptData: function (a) {
  var b = a.nodeName && p.noData[a.nodeName.toLowerCase()];
  return!b || b !== !0 && a.getAttribute("classid") === b
  }}), p.fn.extend({data: function (a, c) {
  var d, e, f, g, h, i = this[0], j = 0, k = null;
  if (a === b) {
  if (this.length) {
  k = p.data(i);
  if (i.nodeType === 1 && !p._data(i, "parsedAttrs")) {
  f = i.attributes;
  for (h = f.length; j < h; j++)g = f[j].name, g.indexOf("data-") === 0 && (g = p.camelCase(g.substring(5)), J(i, g, k[g]));
  p._data(i, "parsedAttrs", !0)
  }
  }
  return k
  }
  return typeof a == "object" ? this.each(function () {
  p.data(this, a)
  }) : (d = a.split(".", 2), d[1] = d[1] ? "." + d[1] : "", e = d[1] + "!", p.access(this, function (c) {
  if (c === b)return k = this.triggerHandler("getData" + e, [d[0]]), k === b && i && (k = p.data(i, a), k = J(i, a, k)), k === b && d[1] ? this.data(d[0]) : k;
  d[1] = c, this.each(function () {
  var b = p(this);
  b.triggerHandler("setData" + e, d), p.data(this, a, c), b.triggerHandler("changeData" + e, d)
  })
  }, null, c, arguments.length > 1, null, !1))
  }, removeData: function (a) {
  return this.each(function () {
  p.removeData(this, a)
  })
  }}), p.extend({queue: function (a, b, c) {
  var d;
  if (a)return b = (b || "fx") + "queue", d = p._data(a, b), c && (!d || p.isArray(c) ? d = p._data(a, b, p.makeArray(c)) : d.push(c)), d || []
  }, dequeue: function (a, b) {
  b = b || "fx";
  var c = p.queue(a, b), d = c.shift(), e = p._queueHooks(a, b), f = function () {
  p.dequeue(a, b)
  };
  d === "inprogress" && (d = c.shift()), d && (b === "fx" && c.unshift("inprogress"), delete e.stop, d.call(a, f, e)), !c.length && e && e.empty.fire()
  }, _queueHooks: function (a, b) {
  var c = b + "queueHooks";
  return p._data(a, c) || p._data(a, c, {empty: p.Callbacks("once memory").add(function () {
  p.removeData(a, b + "queue", !0), p.removeData(a, c, !0)
  })})
  }}), p.fn.extend({queue: function (a, c) {
  var d = 2;
  return typeof a != "string" && (c = a, a = "fx", d--), arguments.length < d ? p.queue(this[0], a) : c === b ? this : this.each(function () {
  var b = p.queue(this, a, c);
  p._queueHooks(this, a), a === "fx" && b[0] !== "inprogress" && p.dequeue(this, a)
  })
  }, dequeue: function (a) {
  return this.each(function () {
  p.dequeue(this, a)
  })
  }, delay: function (a, b) {
  return a = p.fx ? p.fx.speeds[a] || a : a, b = b || "fx", this.queue(b, function (b, c) {
  var d = setTimeout(b, a);
  c.stop = function () {
  clearTimeout(d)
  }
  })
  }, clearQueue: function (a) {
  return this.queue(a || "fx", [])
  }, promise: function (a, c) {
  var d, e = 1, f = p.Deferred(), g = this, h = this.length, i = function () {
  --e || f.resolveWith(g, [g])
  };
  typeof a != "string" && (c = a, a = b), a = a || "fx";
  while (h--)(d = p._data(g[h], a + "queueHooks")) && d.empty && (e++, d.empty.add(i));
  return i(), f.promise(c)
  }});
  var L, M, N, O = /[\t\r\n]/g, P = /\r/g, Q = /^(?:button|input)$/i, R = /^(?:button|input|object|select|textarea)$/i, S = /^a(?:rea|)$/i, T = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, U = p.support.getSetAttribute;
  p.fn.extend({attr: function (a, b) {
  return p.access(this, p.attr, a, b, arguments.length > 1)
  }, removeAttr: function (a) {
  return this.each(function () {
  p.removeAttr(this, a)
  })
  }, prop: function (a, b) {
  return p.access(this, p.prop, a, b, arguments.length > 1)
  }, removeProp: function (a) {
  return a = p.propFix[a] || a, this.each(function () {
  try {
  this[a] = b, delete this[a]
  } catch (c) {
  }
  })
  }, addClass: function (a) {
  var b, c, d, e, f, g, h;
  if (p.isFunction(a))return this.each(function (b) {
  p(this).addClass(a.call(this, b, this.className))
  });
  if (a && typeof a == "string") {
  b = a.split(s);
  for (c = 0, d = this.length; c < d; c++) {
  e = this[c];
  if (e.nodeType === 1)if (!e.className && b.length === 1)e.className = a; else {
  f = " " + e.className + " ";
  for (g = 0, h = b.length; g < h; g++)~f.indexOf(" " + b[g] + " ") || (f += b[g] + " ");
  e.className = p.trim(f)
  }
  }
  }
  return this
  }, removeClass: function (a) {
  var c, d, e, f, g, h, i;
  if (p.isFunction(a))return this.each(function (b) {
  p(this).removeClass(a.call(this, b, this.className))
  });
  if (a && typeof a == "string" || a === b) {
  c = (a || "").split(s);
  for (h = 0, i = this.length; h < i; h++) {
  e = this[h];
  if (e.nodeType === 1 && e.className) {
  d = (" " + e.className + " ").replace(O, " ");
  for (f = 0, g = c.length; f < g; f++)while (d.indexOf(" " + c[f] + " ") > -1)d = d.replace(" " + c[f] + " ", " ");
  e.className = a ? p.trim(d) : ""
  }
  }
  }
  return this
  }, toggleClass: function (a, b) {
  var c = typeof a, d = typeof b == "boolean";
  return p.isFunction(a) ? this.each(function (c) {
  p(this).toggleClass(a.call(this, c, this.className, b), b)
  }) : this.each(function () {
  if (c === "string") {
  var e, f = 0, g = p(this), h = b, i = a.split(s);
  while (e = i[f++])h = d ? h : !g.hasClass(e), g[h ? "addClass" : "removeClass"](e)
  } else if (c === "undefined" || c === "boolean")this.className && p._data(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : p._data(this, "__className__") || ""
  })
  }, hasClass: function (a) {
  var b = " " + a + " ", c = 0, d = this.length;
  for (; c < d; c++)if (this[c].nodeType === 1 && (" " + this[c].className + " ").replace(O, " ").indexOf(b) > -1)return!0;
  return!1
  }, val: function (a) {
  var c, d, e, f = this[0];
  if (!arguments.length) {
  if (f)return c = p.valHooks[f.type] || p.valHooks[f.nodeName.toLowerCase()], c && "get"in c && (d = c.get(f, "value")) !== b ? d : (d = f.value, typeof d == "string" ? d.replace(P, "") : d == null ? "" : d);
  return
  }
  return e = p.isFunction(a), this.each(function (d) {
  var f, g = p(this);
  if (this.nodeType !== 1)return;
  e ? f = a.call(this, d, g.val()) : f = a, f == null ? f = "" : typeof f == "number" ? f += "" : p.isArray(f) && (f = p.map(f, function (a) {
  return a == null ? "" : a + ""
  })), c = p.valHooks[this.type] || p.valHooks[this.nodeName.toLowerCase()];
  if (!c || !("set"in c) || c.set(this, f, "value") === b)this.value = f
  })
  }}), p.extend({valHooks: {option: {get: function (a) {
  var b = a.attributes.value;
  return!b || b.specified ? a.value : a.text
  }}, select: {get: function (a) {
  var b, c, d, e, f = a.selectedIndex, g = [], h = a.options, i = a.type === "select-one";
  if (f < 0)return null;
  c = i ? f : 0, d = i ? f + 1 : h.length;
  for (; c < d; c++) {
  e = h[c];
  if (e.selected && (p.support.optDisabled ? !e.disabled : e.getAttribute("disabled") === null) && (!e.parentNode.disabled || !p.nodeName(e.parentNode, "optgroup"))) {
  b = p(e).val();
  if (i)return b;
  g.push(b)
  }
  }
  return i && !g.length && h.length ? p(h[f]).val() : g
  }, set: function (a, b) {
  var c = p.makeArray(b);
  return p(a).find("option").each(function () {
  this.selected = p.inArray(p(this).val(), c) >= 0
  }), c.length || (a.selectedIndex = -1), c
  }}}, attrFn: {}, attr: function (a, c, d, e) {
  var f, g, h, i = a.nodeType;
  if (!a || i === 3 || i === 8 || i === 2)return;
  if (e && p.isFunction(p.fn[c]))return p(a)[c](d);
  if (typeof a.getAttribute == "undefined")return p.prop(a, c, d);
  h = i !== 1 || !p.isXMLDoc(a), h && (c = c.toLowerCase(), g = p.attrHooks[c] || (T.test(c) ? M : L));
  if (d !== b) {
  if (d === null) {
  p.removeAttr(a, c);
  return
  }
  return g && "set"in g && h && (f = g.set(a, d, c)) !== b ? f : (a.setAttribute(c, "" + d), d)
  }
  return g && "get"in g && h && (f = g.get(a, c)) !== null ? f : (f = a.getAttribute(c), f === null ? b : f)
  }, removeAttr: function (a, b) {
  var c, d, e, f, g = 0;
  if (b && a.nodeType === 1) {
  d = b.split(s);
  for (; g < d.length; g++)e = d[g], e && (c = p.propFix[e] || e, f = T.test(e), f || p.attr(a, e, ""), a.removeAttribute(U ? e : c), f && c in a && (a[c] = !1))
  }
  }, attrHooks: {type: {set: function (a, b) {
  if (Q.test(a.nodeName) && a.parentNode)p.error("type property can't be changed"); else if (!p.support.radioValue && b === "radio" && p.nodeName(a, "input")) {
  var c = a.value;
  return a.setAttribute("type", b), c && (a.value = c), b
  }
  }}, value: {get: function (a, b) {
  return L && p.nodeName(a, "button") ? L.get(a, b) : b in a ? a.value : null
  }, set: function (a, b, c) {
  if (L && p.nodeName(a, "button"))return L.set(a, b, c);
  a.value = b
  }}}, propFix: {tabindex: "tabIndex", readonly: "readOnly", "for": "htmlFor", "class": "className", maxlength: "maxLength", cellspacing: "cellSpacing", cellpadding: "cellPadding", rowspan: "rowSpan", colspan: "colSpan", usemap: "useMap", frameborder: "frameBorder", contenteditable: "contentEditable"}, prop: function (a, c, d) {
  var e, f, g, h = a.nodeType;
  if (!a || h === 3 || h === 8 || h === 2)return;
  return g = h !== 1 || !p.isXMLDoc(a), g && (c = p.propFix[c] || c, f = p.propHooks[c]), d !== b ? f && "set"in f && (e = f.set(a, d, c)) !== b ? e : a[c] = d : f && "get"in f && (e = f.get(a, c)) !== null ? e : a[c]
  }, propHooks: {tabIndex: {get: function (a) {
  var c = a.getAttributeNode("tabindex");
  return c && c.specified ? parseInt(c.value, 10) : R.test(a.nodeName) || S.test(a.nodeName) && a.href ? 0 : b
  }}}}), M = {get: function (a, c) {
  var d, e = p.prop(a, c);
  return e === !0 || typeof e != "boolean" && (d = a.getAttributeNode(c)) && d.nodeValue !== !1 ? c.toLowerCase() : b
  }, set: function (a, b, c) {
  var d;
  return b === !1 ? p.removeAttr(a, c) : (d = p.propFix[c] || c, d in a && (a[d] = !0), a.setAttribute(c, c.toLowerCase())), c
  }}, U || (N = {name: !0, id: !0, coords: !0}, L = p.valHooks.button = {get: function (a, c) {
  var d;
  return d = a.getAttributeNode(c), d && (N[c] ? d.value !== "" : d.specified) ? d.value : b
  }, set: function (a, b, c) {
  var d = a.getAttributeNode(c);
  return d || (d = e.createAttribute(c), a.setAttributeNode(d)), d.value = b + ""
  }}, p.each(["width", "height"], function (a, b) {
  p.attrHooks[b] = p.extend(p.attrHooks[b], {set: function (a, c) {
  if (c === "")return a.setAttribute(b, "auto"), c
  }})
  }), p.attrHooks.contenteditable = {get: L.get, set: function (a, b, c) {
  b === "" && (b = "false"), L.set(a, b, c)
  }}), p.support.hrefNormalized || p.each(["href", "src", "width", "height"], function (a, c) {
  p.attrHooks[c] = p.extend(p.attrHooks[c], {get: function (a) {
  var d = a.getAttribute(c, 2);
  return d === null ? b : d
  }})
  }), p.support.style || (p.attrHooks.style = {get: function (a) {
  return a.style.cssText.toLowerCase() || b
  }, set: function (a, b) {
  return a.style.cssText = "" + b
  }}), p.support.optSelected || (p.propHooks.selected = p.extend(p.propHooks.selected, {get: function (a) {
  var b = a.parentNode;
  return b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex), null
  }})), p.support.enctype || (p.propFix.enctype = "encoding"), p.support.checkOn || p.each(["radio", "checkbox"], function () {
  p.valHooks[this] = {get: function (a) {
  return a.getAttribute("value") === null ? "on" : a.value
  }}
  }), p.each(["radio", "checkbox"], function () {
  p.valHooks[this] = p.extend(p.valHooks[this], {set: function (a, b) {
  if (p.isArray(b))return a.checked = p.inArray(p(a).val(), b) >= 0
  }})
  });
  var V = /^(?:textarea|input|select)$/i, W = /^([^\.]*|)(?:\.(.+)|)$/, X = /(?:^|\s)hover(\.\S+|)\b/, Y = /^key/, Z = /^(?:mouse|contextmenu)|click/, $ = /^(?:focusinfocus|focusoutblur)$/, _ = function (a) {
  return p.event.special.hover ? a : a.replace(X, "mouseenter$1 mouseleave$1")
  };
  p.event = {add: function (a, c, d, e, f) {
  var g, h, i, j, k, l, m, n, o, q, r;
  if (a.nodeType === 3 || a.nodeType === 8 || !c || !d || !(g = p._data(a)))return;
  d.handler && (o = d, d = o.handler, f = o.selector), d.guid || (d.guid = p.guid++), i = g.events, i || (g.events = i = {}), h = g.handle, h || (g.handle = h = function (a) {
  return typeof p != "undefined" && (!a || p.event.triggered !== a.type) ? p.event.dispatch.apply(h.elem, arguments) : b
  }, h.elem = a), c = p.trim(_(c)).split(" ");
  for (j = 0; j < c.length; j++) {
  k = W.exec(c[j]) || [], l = k[1], m = (k[2] || "").split(".").sort(), r = p.event.special[l] || {}, l = (f ? r.delegateType : r.bindType) || l, r = p.event.special[l] || {}, n = p.extend({type: l, origType: k[1], data: e, handler: d, guid: d.guid, selector: f, namespace: m.join(".")}, o), q = i[l];
  if (!q) {
  q = i[l] = [], q.delegateCount = 0;
  if (!r.setup || r.setup.call(a, e, m, h) === !1)a.addEventListener ? a.addEventListener(l, h, !1) : a.attachEvent && a.attachEvent("on" + l, h)
  }
  r.add && (r.add.call(a, n), n.handler.guid || (n.handler.guid = d.guid)), f ? q.splice(q.delegateCount++, 0, n) : q.push(n), p.event.global[l] = !0
  }
  a = null
  }, global: {}, remove: function (a, b, c, d, e) {
  var f, g, h, i, j, k, l, m, n, o, q, r = p.hasData(a) && p._data(a);
  if (!r || !(m = r.events))return;
  b = p.trim(_(b || "")).split(" ");
  for (f = 0; f < b.length; f++) {
  g = W.exec(b[f]) || [], h = i = g[1], j = g[2];
  if (!h) {
  for (h in m)p.event.remove(a, h + b[f], c, d, !0);
  continue
  }
  n = p.event.special[h] || {}, h = (d ? n.delegateType : n.bindType) || h, o = m[h] || [], k = o.length, j = j ? new RegExp("(^|\\.)" + j.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null;
  for (l = 0; l < o.length; l++)q = o[l], (e || i === q.origType) && (!c || c.guid === q.guid) && (!j || j.test(q.namespace)) && (!d || d === q.selector || d === "**" && q.selector) && (o.splice(l--, 1), q.selector && o.delegateCount--, n.remove && n.remove.call(a, q));
  o.length === 0 && k !== o.length && ((!n.teardown || n.teardown.call(a, j, r.handle) === !1) && p.removeEvent(a, h, r.handle), delete m[h])
  }
  p.isEmptyObject(m) && (delete r.handle, p.removeData(a, "events", !0))
  }, customEvent: {getData: !0, setData: !0, changeData: !0}, trigger: function (c, d, f, g) {
  if (!f || f.nodeType !== 3 && f.nodeType !== 8) {
  var h, i, j, k, l, m, n, o, q, r, s = c.type || c, t = [];
  if ($.test(s + p.event.triggered))return;
  s.indexOf("!") >= 0 && (s = s.slice(0, -1), i = !0), s.indexOf(".") >= 0 && (t = s.split("."), s = t.shift(), t.sort());
  if ((!f || p.event.customEvent[s]) && !p.event.global[s])return;
  c = typeof c == "object" ? c[p.expando] ? c : new p.Event(s, c) : new p.Event(s), c.type = s, c.isTrigger = !0, c.exclusive = i, c.namespace = t.join("."), c.namespace_re = c.namespace ? new RegExp("(^|\\.)" + t.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, m = s.indexOf(":") < 0 ? "on" + s : "";
  if (!f) {
  h = p.cache;
  for (j in h)h[j].events && h[j].events[s] && p.event.trigger(c, d, h[j].handle.elem, !0);
  return
  }
  c.result = b, c.target || (c.target = f), d = d != null ? p.makeArray(d) : [], d.unshift(c), n = p.event.special[s] || {};
  if (n.trigger && n.trigger.apply(f, d) === !1)return;
  q = [
  [f, n.bindType || s]
  ];
  if (!g && !n.noBubble && !p.isWindow(f)) {
  r = n.delegateType || s, k = $.test(r + s) ? f : f.parentNode;
  for (l = f; k; k = k.parentNode)q.push([k, r]), l = k;
  l === (f.ownerDocument || e) && q.push([l.defaultView || l.parentWindow || a, r])
  }
  for (j = 0; j < q.length && !c.isPropagationStopped(); j++)k = q[j][0], c.type = q[j][1], o = (p._data(k, "events") || {})[c.type] && p._data(k, "handle"), o && o.apply(k, d), o = m && k[m], o && p.acceptData(k) && o.apply(k, d) === !1 && c.preventDefault();
  return c.type = s, !g && !c.isDefaultPrevented() && (!n._default || n._default.apply(f.ownerDocument, d) === !1) && (s !== "click" || !p.nodeName(f, "a")) && p.acceptData(f) && m && f[s] && (s !== "focus" && s !== "blur" || c.target.offsetWidth !== 0) && !p.isWindow(f) && (l = f[m], l && (f[m] = null), p.event.triggered = s, f[s](), p.event.triggered = b, l && (f[m] = l)), c.result
  }
  return
  }, dispatch: function (c) {
  c = p.event.fix(c || a.event);
  var d, e, f, g, h, i, j, k, l, m, n, o = (p._data(this, "events") || {})[c.type] || [], q = o.delegateCount, r = [].slice.call(arguments), s = !c.exclusive && !c.namespace, t = p.event.special[c.type] || {}, u = [];
  r[0] = c, c.delegateTarget = this;
  if (t.preDispatch && t.preDispatch.call(this, c) === !1)return;
  if (q && (!c.button || c.type !== "click")) {
  g = p(this), g.context = this;
  for (f = c.target; f != this; f = f.parentNode || this)if (f.disabled !== !0 || c.type !== "click") {
  i = {}, k = [], g[0] = f;
  for (d = 0; d < q; d++)l = o[d], m = l.selector, i[m] === b && (i[m] = g.is(m)), i[m] && k.push(l);
  k.length && u.push({elem: f, matches: k})
  }
  }
  o.length > q && u.push({elem: this, matches: o.slice(q)});
  for (d = 0; d < u.length && !c.isPropagationStopped(); d++) {
  j = u[d], c.currentTarget = j.elem;
  for (e = 0; e < j.matches.length && !c.isImmediatePropagationStopped(); e++) {
  l = j.matches[e];
  if (s || !c.namespace && !l.namespace || c.namespace_re && c.namespace_re.test(l.namespace))c.data = l.data, c.handleObj = l, h = ((p.event.special[l.origType] || {}).handle || l.handler).apply(j.elem, r), h !== b && (c.result = h, h === !1 && (c.preventDefault(), c.stopPropagation()))
  }
  }
  return t.postDispatch && t.postDispatch.call(this, c), c.result
  }, props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: {props: "char charCode key keyCode".split(" "), filter: function (a, b) {
  return a.which == null && (a.which = b.charCode != null ? b.charCode : b.keyCode), a
  }}, mouseHooks: {props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function (a, c) {
  var d, f, g, h = c.button, i = c.fromElement;
  return a.pageX == null && c.clientX != null && (d = a.target.ownerDocument || e, f = d.documentElement, g = d.body, a.pageX = c.clientX + (f && f.scrollLeft || g && g.scrollLeft || 0) - (f && f.clientLeft || g && g.clientLeft || 0), a.pageY = c.clientY + (f && f.scrollTop || g && g.scrollTop || 0) - (f && f.clientTop || g && g.clientTop || 0)), !a.relatedTarget && i && (a.relatedTarget = i === a.target ? c.toElement : i), !a.which && h !== b && (a.which = h & 1 ? 1 : h & 2 ? 3 : h & 4 ? 2 : 0), a
  }}, fix: function (a) {
  if (a[p.expando])return a;
  var b, c, d = a, f = p.event.fixHooks[a.type] || {}, g = f.props ? this.props.concat(f.props) : this.props;
  a = p.Event(d);
  for (b = g.length; b;)c = g[--b], a[c] = d[c];
  return a.target || (a.target = d.srcElement || e), a.target.nodeType === 3 && (a.target = a.target.parentNode), a.metaKey = !!a.metaKey, f.filter ? f.filter(a, d) : a
  }, special: {ready: {setup: p.bindReady}, load: {noBubble: !0}, focus: {delegateType: "focusin"}, blur: {delegateType: "focusout"}, beforeunload: {setup: function (a, b, c) {
  p.isWindow(this) && (this.onbeforeunload = c)
  }, teardown: function (a, b) {
  this.onbeforeunload === b && (this.onbeforeunload = null)
  }}}, simulate: function (a, b, c, d) {
  var e = p.extend(new p.Event, c, {type: a, isSimulated: !0, originalEvent: {}});
  d ? p.event.trigger(e, null, b) : p.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault()
  }}, p.event.handle = p.event.dispatch, p.removeEvent = e.removeEventListener ? function (a, b, c) {
  a.removeEventListener && a.removeEventListener(b, c, !1)
  } : function (a, b, c) {
  var d = "on" + b;
  a.detachEvent && (typeof a[d] == "undefined" && (a[d] = null), a.detachEvent(d, c))
  }, p.Event = function (a, b) {
  if (this instanceof p.Event)a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || a.returnValue === !1 || a.getPreventDefault && a.getPreventDefault() ? bb : ba) : this.type = a, b && p.extend(this, b), this.timeStamp = a && a.timeStamp || p.now(), this[p.expando] = !0; else return new p.Event(a, b)
  }, p.Event.prototype = {preventDefault: function () {
  this.isDefaultPrevented = bb;
  var a = this.originalEvent;
  if (!a)return;
  a.preventDefault ? a.preventDefault() : a.returnValue = !1
  }, stopPropagation: function () {
  this.isPropagationStopped = bb;
  var a = this.originalEvent;
  if (!a)return;
  a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0
  }, stopImmediatePropagation: function () {
  this.isImmediatePropagationStopped = bb, this.stopPropagation()
  }, isDefaultPrevented: ba, isPropagationStopped: ba, isImmediatePropagationStopped: ba}, p.each({mouseenter: "mouseover", mouseleave: "mouseout"}, function (a, b) {
  p.event.special[a] = {delegateType: b, bindType: b, handle: function (a) {
  var c, d = this, e = a.relatedTarget, f = a.handleObj, g = f.selector;
  if (!e || e !== d && !p.contains(d, e))a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b;
  return c
  }}
  }), p.support.submitBubbles || (p.event.special.submit = {setup: function () {
  if (p.nodeName(this, "form"))return!1;
  p.event.add(this, "click._submit keypress._submit", function (a) {
  var c = a.target, d = p.nodeName(c, "input") || p.nodeName(c, "button") ? c.form : b;
  d && !p._data(d, "_submit_attached") && (p.event.add(d, "submit._submit", function (a) {
  a._submit_bubble = !0
  }), p._data(d, "_submit_attached", !0))
  })
  }, postDispatch: function (a) {
  a._submit_bubble && (delete a._submit_bubble, this.parentNode && !a.isTrigger && p.event.simulate("submit", this.parentNode, a, !0))
  }, teardown: function () {
  if (p.nodeName(this, "form"))return!1;
  p.event.remove(this, "._submit")
  }}), p.support.changeBubbles || (p.event.special.change = {setup: function () {
  if (V.test(this.nodeName)) {
  if (this.type === "checkbox" || this.type === "radio")p.event.add(this, "propertychange._change", function (a) {
  a.originalEvent.propertyName === "checked" && (this._just_changed = !0)
  }), p.event.add(this, "click._change", function (a) {
  this._just_changed && !a.isTrigger && (this._just_changed = !1), p.event.simulate("change", this, a, !0)
  });
  return!1
  }
  p.event.add(this, "beforeactivate._change", function (a) {
  var b = a.target;
  V.test(b.nodeName) && !p._data(b, "_change_attached") && (p.event.add(b, "change._change", function (a) {
  this.parentNode && !a.isSimulated && !a.isTrigger && p.event.simulate("change", this.parentNode, a, !0)
  }), p._data(b, "_change_attached", !0))
  })
  }, handle: function (a) {
  var b = a.target;
  if (this !== b || a.isSimulated || a.isTrigger || b.type !== "radio" && b.type !== "checkbox")return a.handleObj.handler.apply(this, arguments)
  }, teardown: function () {
  return p.event.remove(this, "._change"), V.test(this.nodeName)
  }}), p.support.focusinBubbles || p.each({focus: "focusin", blur: "focusout"}, function (a, b) {
  var c = 0, d = function (a) {
  p.event.simulate(b, a.target, p.event.fix(a), !0)
  };
  p.event.special[b] = {setup: function () {
  c++ === 0 && e.addEventListener(a, d, !0)
  }, teardown: function () {
  --c === 0 && e.removeEventListener(a, d, !0)
  }}
  }), p.fn.extend({on: function (a, c, d, e, f) {
  var g, h;
  if (typeof a == "object") {
  typeof c != "string" && (d = d || c, c = b);
  for (h in a)this.on(h, c, d, a[h], f);
  return this
  }
  d == null && e == null ? (e = c, d = c = b) : e == null && (typeof c == "string" ? (e = d, d = b) : (e = d, d = c, c = b));
  if (e === !1)e = ba; else if (!e)return this;
  return f === 1 && (g = e, e = function (a) {
  return p().off(a), g.apply(this, arguments)
  }, e.guid = g.guid || (g.guid = p.guid++)), this.each(function () {
  p.event.add(this, a, e, d, c)
  })
  }, one: function (a, b, c, d) {
  return this.on(a, b, c, d, 1)
  }, off: function (a, c, d) {
  var e, f;
  if (a && a.preventDefault && a.handleObj)return e = a.handleObj, p(a.delegateTarget).off(e.namespace ? e.origType + "." + e.namespace : e.origType, e.selector, e.handler), this;
  if (typeof a == "object") {
  for (f in a)this.off(f, c, a[f]);
  return this
  }
  if (c === !1 || typeof c == "function")d = c, c = b;
  return d === !1 && (d = ba), this.each(function () {
  p.event.remove(this, a, d, c)
  })
  }, bind: function (a, b, c) {
  return this.on(a, null, b, c)
  }, unbind: function (a, b) {
  return this.off(a, null, b)
  }, live: function (a, b, c) {
  return p(this.context).on(a, this.selector, b, c), this
  }, die: function (a, b) {
  return p(this.context).off(a, this.selector || "**", b), this
  }, delegate: function (a, b, c, d) {
  return this.on(b, a, c, d)
  }, undelegate: function (a, b, c) {
  return arguments.length == 1 ? this.off(a, "**") : this.off(b, a || "**", c)
  }, trigger: function (a, b) {
  return this.each(function () {
  p.event.trigger(a, b, this)
  })
  }, triggerHandler: function (a, b) {
  if (this[0])return p.event.trigger(a, b, this[0], !0)
  }, toggle: function (a) {
  var b = arguments, c = a.guid || p.guid++, d = 0, e = function (c) {
  var e = (p._data(this, "lastToggle" + a.guid) || 0) % d;
  return p._data(this, "lastToggle" + a.guid, e + 1), c.preventDefault(), b[e].apply(this, arguments) || !1
  };
  e.guid = c;
  while (d < b.length)b[d++].guid = c;
  return this.click(e)
  }, hover: function (a, b) {
  return this.mouseenter(a).mouseleave(b || a)
  }}), p.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function (a, b) {
  p.fn[b] = function (a, c) {
  return c == null && (c = a, a = null), arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b)
  }, Y.test(b) && (p.event.fixHooks[b] = p.event.keyHooks), Z.test(b) && (p.event.fixHooks[b] = p.event.mouseHooks)
  }), function (a, b) {
  function bd(a, b, c, d) {
  var e = 0, f = b.length;
  for (; e < f; e++)Z(a, b[e], c, d)
  }
   
  function be(a, b, c, d, e, f) {
  var g, h = $.setFilters[b.toLowerCase()];
  return h || Z.error(b), (a || !(g = e)) && bd(a || "*", d, g = [], e), g.length > 0 ? h(g, c, f) : []
  }
   
  function bf(a, c, d, e, f) {
  var g, h, i, j, k, l, m, n, p = 0, q = f.length, s = L.POS, t = new RegExp("^" + s.source + "(?!" + r + ")", "i"), u = function () {
  var a = 1, c = arguments.length - 2;
  for (; a < c; a++)arguments[a] === b && (g[a] = b)
  };
  for (; p < q; p++) {
  s.exec(""), a = f[p], j = [], i = 0, k = e;
  while (g = s.exec(a)) {
  n = s.lastIndex = g.index + g[0].length;
  if (n > i) {
  m = a.slice(i, g.index), i = n, l = [c], B.test(m) && (k && (l = k), k = e);
  if (h = H.test(m))m = m.slice(0, -5).replace(B, "$&*");
  g.length > 1 && g[0].replace(t, u), k = be(m, g[1], g[2], l, k, h)
  }
  }
  k ? (j = j.concat(k), (m = a.slice(i)) && m !== ")" ? B.test(m) ? bd(m, j, d, e) : Z(m, c, d, e ? e.concat(k) : k) : o.apply(d, j)) : Z(a, c, d, e)
  }
  return q === 1 ? d : Z.uniqueSort(d)
  }
   
  function bg(a, b, c) {
  var d, e, f, g = [], i = 0, j = D.exec(a), k = !j.pop() && !j.pop(), l = k && a.match(C) || [""], m = $.preFilter, n = $.filter, o = !c && b !== h;
  for (; (e = l[i]) != null && k; i++) {
  g.push(d = []), o && (e = " " + e);
  while (e) {
  k = !1;
  if (j = B.exec(e))e = e.slice(j[0].length), k = d.push({part: j.pop().replace(A, " "), captures: j});
  for (f in n)(j = L[f].exec(e)) && (!m[f] || (j = m[f](j, b, c))) && (e = e.slice(j.shift().length), k = d.push({part: f, captures: j}));
  if (!k)break
  }
  }
  return k || Z.error(a), g
  }
   
  function bh(a, b, e) {
  var f = b.dir, g = m++;
  return a || (a = function (a) {
  return a === e
  }), b.first ? function (b, c) {
  while (b = b[f])if (b.nodeType === 1)return a(b, c) && b
  } : function (b, e) {
  var h, i = g + "." + d, j = i + "." + c;
  while (b = b[f])if (b.nodeType === 1) {
  if ((h = b[q]) === j)return b.sizset;
  if (typeof h == "string" && h.indexOf(i) === 0) {
  if (b.sizset)return b
  } else {
  b[q] = j;
  if (a(b, e))return b.sizset = !0, b;
  b.sizset = !1
  }
  }
  }
  }
   
  function bi(a, b) {
  return a ? function (c, d) {
  var e = b(c, d);
  return e && a(e === !0 ? c : e, d)
  } : b
  }
   
  function bj(a, b, c) {
  var d, e, f = 0;
  for (; d = a[f]; f++)$.relative[d.part] ? e = bh(e, $.relative[d.part], b) : (d.captures.push(b, c), e = bi(e, $.filter[d.part].apply(null, d.captures)));
  return e
  }
   
  function bk(a) {
  return function (b, c) {
  var d, e = 0;
  for (; d = a[e]; e++)if (d(b, c))return!0;
  return!1
  }
  }
   
  var c, d, e, f, g, h = a.document, i = h.documentElement, j = "undefined", k = !1, l = !0, m = 0, n = [].slice, o = [].push, q = ("sizcache" + Math.random()).replace(".", ""), r = "[\\x20\\t\\r\\n\\f]", s = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+", t = s.replace("w", "w#"), u = "([*^$|!~]?=)", v = "\\[" + r + "*(" + s + ")" + r + "*(?:" + u + r + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + t + ")|)|)" + r + "*\\]", w = ":(" + s + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|((?:[^,]|\\\\,|(?:,(?=[^\\[]*\\]))|(?:,(?=[^\\(]*\\))))*))\\)|)", x = ":(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\)|)(?=[^-]|$)", y = r + "*([\\x20\\t\\r\\n\\f>+~])" + r + "*", z = "(?=[^\\x20\\t\\r\\n\\f])(?:\\\\.|" + v + "|" + w.replace(2, 7) + "|[^\\\\(),])+", A = new RegExp("^" + r + "+|((?:^|[^\\\\])(?:\\\\.)*)" + r + "+$", "g"), B = new RegExp("^" + y), C = new RegExp(z + "?(?=" + r + "*,|$)", "g"), D = new RegExp("^(?:(?!,)(?:(?:^|,)" + r + "*" + z + ")*?|" + r + "*(.*?))(\\)|$)"), E = new RegExp(z.slice(19, -6) + "\\x20\\t\\r\\n\\f>+~])+|" + y, "g"), F = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/, G = /[\x20\t\r\n\f]*[+~]/, H = /:not\($/, I = /h\d/i, J = /input|select|textarea|button/i, K = /\\(?!\\)/g, L = {ID: new RegExp("^#(" + s + ")"), CLASS: new RegExp("^\\.(" + s + ")"), NAME: new RegExp("^\\[name=['\"]?(" + s + ")['\"]?\\]"), TAG: new RegExp("^(" + s.replace("[-", "[-\\*") + ")"), ATTR: new RegExp("^" + v), PSEUDO: new RegExp("^" + w), CHILD: new RegExp("^:(only|nth|last|first)-child(?:\\(" + r + "*(even|odd|(([+-]|)(\\d*)n|)" + r + "*(?:([+-]|)" + r + "*(\\d+)|))" + r + "*\\)|)", "i"), POS: new RegExp(x, "ig"), needsContext: new RegExp("^" + r + "*[>+~]|" + x, "i")}, M = {}, N = [], O = {}, P = [], Q = function (a) {
  return a.sizzleFilter = !0, a
  }, R = function (a) {
  return function (b) {
  return b.nodeName.toLowerCase() === "input" && b.type === a
  }
  }, S = function (a) {
  return function (b) {
  var c = b.nodeName.toLowerCase();
  return(c === "input" || c === "button") && b.type === a
  }
  }, T = function (a) {
  var b = !1, c = h.createElement("div");
  try {
  b = a(c)
  } catch (d) {
  }
  return c = null, b
  }, U = T(function (a) {
  a.innerHTML = "<select></select>";
  var b = typeof a.lastChild.getAttribute("multiple");
  return b !== "boolean" && b !== "string"
  }), V = T(function (a) {
  a.id = q + 0, a.innerHTML = "<a name='" + q + "'></a><div name='" + q + "'></div>", i.insertBefore(a, i.firstChild);
  var b = h.getElementsByName && h.getElementsByName(q).length === 2 + h.getElementsByName(q + 0).length;
  return g = !h.getElementById(q), i.removeChild(a), b
  }), W = T(function (a) {
  return a.appendChild(h.createComment("")), a.getElementsByTagName("*").length === 0
  }), X = T(function (a) {
  return a.innerHTML = "<a href='#'></a>", a.firstChild && typeof a.firstChild.getAttribute !== j && a.firstChild.getAttribute("href") === "#"
  }), Y = T(function (a) {
  return a.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>", !a.getElementsByClassName || a.getElementsByClassName("e").length === 0 ? !1 : (a.lastChild.className = "e", a.getElementsByClassName("e").length !== 1)
  }), Z = function (a, b, c, d) {
  c = c || [], b = b || h;
  var e, f, g, i, j = b.nodeType;
  if (j !== 1 && j !== 9)return[];
  if (!a || typeof a != "string")return c;
  g = ba(b);
  if (!g && !d)if (e = F.exec(a))if (i = e[1]) {
  if (j === 9) {
  f = b.getElementById(i);
  if (!f || !f.parentNode)return c;
  if (f.id === i)return c.push(f), c
  } else if (b.ownerDocument && (f = b.ownerDocument.getElementById(i)) && bb(b, f) && f.id === i)return c.push(f), c
  } else {
  if (e[2])return o.apply(c, n.call(b.getElementsByTagName(a), 0)), c;
  if ((i = e[3]) && Y && b.getElementsByClassName)return o.apply(c, n.call(b.getElementsByClassName(i), 0)), c
  }
  return bm(a, b, c, d, g)
  }, $ = Z.selectors = {cacheLength: 50, match: L, order: ["ID", "TAG"], attrHandle: {}, createPseudo: Q, find: {ID: g ? function (a, b, c) {
  if (typeof b.getElementById !== j && !c) {
  var d = b.getElementById(a);
  return d && d.parentNode ? [d] : []
  }
  } : function (a, c, d) {
  if (typeof c.getElementById !== j && !d) {
  var e = c.getElementById(a);
  return e ? e.id === a || typeof e.getAttributeNode !== j && e.getAttributeNode("id").value === a ? [e] : b : []
  }
  }, TAG: W ? function (a, b) {
  if (typeof b.getElementsByTagName !== j)return b.getElementsByTagName(a)
  } : function (a, b) {
  var c = b.getElementsByTagName(a);
  if (a === "*") {
  var d, e = [], f = 0;
  for (; d = c[f]; f++)d.nodeType === 1 && e.push(d);
  return e
  }
  return c
  }}, relative: {">": {dir: "parentNode", first: !0}, " ": {dir: "parentNode"}, "+": {dir: "previousSibling", first: !0}, "~": {dir: "previousSibling"}}, preFilter: {ATTR: function (a) {
  return a[1] = a[1].replace(K, ""), a[3] = (a[4] || a[5] || "").replace(K, ""), a[2] === "~=" && (a[3] = " " + a[3] + " "), a.slice(0, 4)
  }, CHILD: function (a) {
  return a[1] = a[1].toLowerCase(), a[1] === "nth" ? (a[2] || Z.error(a[0]), a[3] = +(a[3] ? a[4] + (a[5] || 1) : 2 * (a[2] === "even" || a[2] === "odd")), a[4] = +(a[6] + a[7] || a[2] === "odd")) : a[2] && Z.error(a[0]), a
  }, PSEUDO: function (a) {
  var b, c = a[4];
  return L.CHILD.test(a[0]) ? null : (c && (b = D.exec(c)) && b.pop() && (a[0] = a[0].slice(0, b[0].length - c.length - 1), c = b[0].slice(0, -1)), a.splice(2, 3, c || a[3]), a)
  }}, filter: {ID: g ? function (a) {
  return a = a.replace(K, ""), function (b) {
  return b.getAttribute("id") === a
  }
  } : function (a) {
  return a = a.replace(K, ""), function (b) {
  var c = typeof b.getAttributeNode !== j && b.getAttributeNode("id");
  return c && c.value === a
  }
  }, TAG: function (a) {
  return a === "*" ? function () {
  return!0
  } : (a = a.replace(K, "").toLowerCase(), function (b) {
  return b.nodeName && b.nodeName.toLowerCase() === a
  })
  }, CLASS: function (a) {
  var b = M[a];
  return b || (b = M[a] = new RegExp("(^|" + r + ")" + a + "(" + r + "|$)"), N.push(a), N.length > $.cacheLength && delete M[N.shift()]), function (a) {
  return b.test(a.className || typeof a.getAttribute !== j && a.getAttribute("class") || "")
  }
  }, ATTR: function (a, b, c) {
  return b ? function (d) {
  var e = Z.attr(d, a), f = e + "";
  if (e == null)return b === "!=";
  switch (b) {
  case"=":
  return f === c;
  case"!=":
  return f !== c;
  case"^=":
  return c && f.indexOf(c) === 0;
  case"*=":
  return c && f.indexOf(c) > -1;
  case"$=":
  return c && f.substr(f.length - c.length) === c;
  case"~=":
  return(" " + f + " ").indexOf(c) > -1;
  case"|=":
  return f === c || f.substr(0, c.length + 1) === c + "-"
  }
  } : function (b) {
  return Z.attr(b, a) != null
  }
  }, CHILD: function (a, b, c, d) {
  if (a === "nth") {
  var e = m++;
  return function (a) {
  var b, f, g = 0, h = a;
  if (c === 1 && d === 0)return!0;
  b = a.parentNode;
  if (b && (b[q] !== e || !a.sizset)) {
  for (h = b.firstChild; h; h = h.nextSibling)if (h.nodeType === 1) {
  h.sizset = ++g;
  if (h === a)break
  }
  b[q] = e
  }
  return f = a.sizset - d, c === 0 ? f === 0 : f % c === 0 && f / c >= 0
  }
  }
  return function (b) {
  var c = b;
  switch (a) {
  case"only":
  case"first":
  while (c = c.previousSibling)if (c.nodeType === 1)return!1;
  if (a === "first")return!0;
  c = b;
  case"last":
  while (c = c.nextSibling)if (c.nodeType === 1)return!1;
  return!0
  }
  }
  }, PSEUDO: function (a, b, c, d) {
  var e = $.pseudos[a] || $.pseudos[a.toLowerCase()];
  return e || Z.error("unsupported pseudo: " + a), e.sizzleFilter ? e(b, c, d) : e
  }}, pseudos: {not: Q(function (a, b, c) {
  var d = bl(a.replace(A, "$1"), b, c);
  return function (a) {
  return!d(a)
  }
  }), enabled: function (a) {
  return a.disabled === !1
  }, disabled: function (a) {
  return a.disabled === !0
  }, checked: function (a) {
  var b = a.nodeName.toLowerCase();
  return b === "input" && !!a.checked || b === "option" && !!a.selected
  }, selected: function (a) {
  return a.parentNode && a.parentNode.selectedIndex, a.selected === !0
  }, parent: function (a) {
  return!$.pseudos.empty(a)
  }, empty: function (a) {
  var b;
  a = a.firstChild;
  while (a) {
  if (a.nodeName > "@" || (b = a.nodeType) === 3 || b === 4)return!1;
  a = a.nextSibling
  }
  return!0
  }, contains: Q(function (a) {
  return function (b) {
  return(b.textContent || b.innerText || bc(b)).indexOf(a) > -1
  }
  }), has: Q(function (a) {
  return function (b) {
  return Z(a, b).length > 0
  }
  }), header: function (a) {
  return I.test(a.nodeName)
  }, text: function (a) {
  var b, c;
  return a.nodeName.toLowerCase() === "input" && (b = a.type) === "text" && ((c = a.getAttribute("type")) == null || c.toLowerCase() === b)
  }, radio: R("radio"), checkbox: R("checkbox"), file: R("file"), password: R("password"), image: R("image"), submit: S("submit"), reset: S("reset"), button: function (a) {
  var b = a.nodeName.toLowerCase();
  return b === "input" && a.type === "button" || b === "button"
  }, input: function (a) {
  return J.test(a.nodeName)
  }, focus: function (a) {
  var b = a.ownerDocument;
  return a === b.activeElement && (!b.hasFocus || b.hasFocus()) && (!!a.type || !!a.href)
  }, active: function (a) {
  return a === a.ownerDocument.activeElement
  }}, setFilters: {first: function (a, b, c) {
  return c ? a.slice(1) : [a[0]]
  }, last: function (a, b, c) {
  var d = a.pop();
  return c ? a : [d]
  }, even: function (a, b, c) {
  var d = [], e = c ? 1 : 0, f = a.length;
  for (; e < f; e = e + 2)d.push(a[e]);
  return d
  }, odd: function (a, b, c) {
  var d = [], e = c ? 0 : 1, f = a.length;
  for (; e < f; e = e + 2)d.push(a[e]);
  return d
  }, lt: function (a, b, c) {
  return c ? a.slice(+b) : a.slice(0, +b)
  }, gt: function (a, b, c) {
  return c ? a.slice(0, +b + 1) : a.slice(+b + 1)
  }, eq: function (a, b, c) {
  var d = a.splice(+b, 1);
  return c ? a : d
  }}};
  $.setFilters.nth = $.setFilters.eq, $.filters = $.pseudos, X || ($.attrHandle = {href: function (a) {
  return a.getAttribute("href", 2)
  }, type: function (a) {
  return a.getAttribute("type")
  }}), V && ($.order.push("NAME"), $.find.NAME = function (a, b) {
  if (typeof b.getElementsByName !== j)return b.getElementsByName(a)
  }), Y && ($.order.splice(1, 0, "CLASS"), $.find.CLASS = function (a, b, c) {
  if (typeof b.getElementsByClassName !== j && !c)return b.getElementsByClassName(a)
  });
  try {
  n.call(i.childNodes, 0)[0].nodeType
  } catch (_) {
  n = function (a) {
  var b, c = [];
  for (; b = this[a]; a++)c.push(b);
  return c
  }
  }
  var ba = Z.isXML = function (a) {
  var b = a && (a.ownerDocument || a).documentElement;
  return b ? b.nodeName !== "HTML" : !1
  }, bb = Z.contains = i.compareDocumentPosition ? function (a, b) {
  return!!(a.compareDocumentPosition(b) & 16)
  } : i.contains ? function (a, b) {
  var c = a.nodeType === 9 ? a.documentElement : a, d = b.parentNode;
  return a === d || !!(d && d.nodeType === 1 && c.contains && c.contains(d))
  } : function (a, b) {
  while (b = b.parentNode)if (b === a)return!0;
  return!1
  }, bc = Z.getText = function (a) {
  var b, c = "", d = 0, e = a.nodeType;
  if (e) {
  if (e === 1 || e === 9 || e === 11) {
  if (typeof a.textContent == "string")return a.textContent;
  for (a = a.firstChild; a; a = a.nextSibling)c += bc(a)
  } else if (e === 3 || e === 4)return a.nodeValue
  } else for (; b = a[d]; d++)c += bc(b);
  return c
  };
  Z.attr = function (a, b) {
  var c, d = ba(a);
  return d || (b = b.toLowerCase()), $.attrHandle[b] ? $.attrHandle[b](a) : U || d ? a.getAttribute(b) : (c = a.getAttributeNode(b), c ? typeof a[b] == "boolean" ? a[b] ? b : null : c.specified ? c.value : null : null)
  }, Z.error = function (a) {
  throw new Error("Syntax error, unrecognized expression: " + a)
  }, [0, 0].sort(function () {
  return l = 0
  }), i.compareDocumentPosition ? e = function (a, b) {
  return a === b ? (k = !0, 0) : (!a.compareDocumentPosition || !b.compareDocumentPosition ? a.compareDocumentPosition : a.compareDocumentPosition(b) & 4) ? -1 : 1
  } : (e = function (a, b) {
  if (a === b)return k = !0, 0;
  if (a.sourceIndex && b.sourceIndex)return a.sourceIndex - b.sourceIndex;
  var c, d, e = [], g = [], h = a.parentNode, i = b.parentNode, j = h;
  if (h === i)return f(a, b);
  if (!h)return-1;
  if (!i)return 1;
  while (j)e.unshift(j), j = j.parentNode;
  j = i;
  while (j)g.unshift(j), j = j.parentNode;
  c = e.length, d = g.length;
  for (var l = 0; l < c && l < d; l++)if (e[l] !== g[l])return f(e[l], g[l]);
  return l === c ? f(a, g[l], -1) : f(e[l], b, 1)
  }, f = function (a, b, c) {
  if (a === b)return c;
  var d = a.nextSibling;
  while (d) {
  if (d === b)return-1;
  d = d.nextSibling
  }
  return 1
  }), Z.uniqueSort = function (a) {
  var b, c = 1;
  if (e) {
  k = l, a.sort(e);
  if (k)for (; b = a[c]; c++)b === a[c - 1] && a.splice(c--, 1)
  }
  return a
  };
  var bl = Z.compile = function (a, b, c) {
  var d, e, f, g = O[a];
  if (g && g.context === b)return g;
  e = bg(a, b, c);
  for (f = 0; d = e[f]; f++)e[f] = bj(d, b, c);
  return g = O[a] = bk(e), g.context = b, g.runs = g.dirruns = 0, P.push(a), P.length > $.cacheLength && delete O[P.shift()], g
  };
  Z.matches = function (a, b) {
  return Z(a, null, null, b)
  }, Z.matchesSelector = function (a, b) {
  return Z(b, null, null, [a]).length > 0
  };
  var bm = function (a, b, e, f, g) {
  a = a.replace(A, "$1");
  var h, i, j, k, l, m, p, q, r, s = a.match(C), t = a.match(E), u = b.nodeType;
  if (L.POS.test(a))return bf(a, b, e, f, s);
  if (f)h = n.call(f, 0); else if (s && s.length === 1) {
  if (t.length > 1 && u === 9 && !g && (s = L.ID.exec(t[0]))) {
  b = $.find.ID(s[1], b, g)[0];
  if (!b)return e;
  a = a.slice(t.shift().length)
  }
  q = (s = G.exec(t[0])) && !s.index && b.parentNode || b, r = t.pop(), m = r.split(":not")[0];
  for (j = 0, k = $.order.length; j < k; j++) {
  p = $.order[j];
  if (s = L[p].exec(m)) {
  h = $.find[p]((s[1] || "").replace(K, ""), q, g);
  if (h == null)continue;
  m === r && (a = a.slice(0, a.length - r.length) + m.replace(L[p], ""), a || o.apply(e, n.call(h, 0)));
  break
  }
  }
  }
  if (a) {
  i = bl(a, b, g), d = i.dirruns++, h == null && (h = $.find.TAG("*", G.test(a) && b.parentNode || b));
  for (j = 0; l = h[j]; j++)c = i.runs++, i(l, b) && e.push(l)
  }
  return e
  };
  h.querySelectorAll && function () {
  var a, b = bm, c = /'|\\/g, d = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, e = [], f = [":active"], g = i.matchesSelector || i.mozMatchesSelector || i.webkitMatchesSelector || i.oMatchesSelector || i.msMatchesSelector;
  T(function (a) {
  a.innerHTML = "<select><option selected></option></select>", a.querySelectorAll("[selected]").length || e.push("\\[" + r + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"), a.querySelectorAll(":checked").length || e.push(":checked")
  }), T(function (a) {
  a.innerHTML = "<p test=''></p>", a.querySelectorAll("[test^='']").length && e.push("[*^$]=" + r + "*(?:\"\"|'')"), a.innerHTML = "<input type='hidden'>", a.querySelectorAll(":enabled").length || e.push(":enabled", ":disabled")
  }), e = e.length && new RegExp(e.join("|")), bm = function (a, d, f, g, h) {
  if (!g && !h && (!e || !e.test(a)))if (d.nodeType === 9)try {
  return o.apply(f, n.call(d.querySelectorAll(a), 0)), f
  } catch (i) {
  } else if (d.nodeType === 1 && d.nodeName.toLowerCase() !== "object") {
  var j = d.getAttribute("id"), k = j || q, l = G.test(a) && d.parentNode || d;
  j ? k = k.replace(c, "\\$&") : d.setAttribute("id", k);
  try {
  return o.apply(f, n.call(l.querySelectorAll(a.replace(C, "[id='" + k + "'] $&")), 0)), f
  } catch (i) {
  } finally {
  j || d.removeAttribute("id")
  }
  }
  return b(a, d, f, g, h)
  }, g && (T(function (b) {
  a = g.call(b, "div");
  try {
  g.call(b, "[test!='']:sizzle"), f.push($.match.PSEUDO)
  } catch (c) {
  }
  }), f = new RegExp(f.join("|")), Z.matchesSelector = function (b, c) {
  c = c.replace(d, "='$1']");
  if (!ba(b) && !f.test(c) && (!e || !e.test(c)))try {
  var h = g.call(b, c);
  if (h || a || b.document && b.document.nodeType !== 11)return h
  } catch (i) {
  }
  return Z(c, null, null, [b]).length > 0
  })
  }(), Z.attr = p.attr, p.find = Z, p.expr = Z.selectors, p.expr[":"] = p.expr.pseudos, p.unique = Z.uniqueSort, p.text = Z.getText, p.isXMLDoc = Z.isXML, p.contains = Z.contains
  }(a);
  var bc = /Until$/, bd = /^(?:parents|prev(?:Until|All))/, be = /^.[^:#\[\.,]*$/, bf = p.expr.match.needsContext, bg = {children: !0, contents: !0, next: !0, prev: !0};
  p.fn.extend({find: function (a) {
  var b, c, d, e, f, g, h = this;
  if (typeof a != "string")return p(a).filter(function () {
  for (b = 0, c = h.length; b < c; b++)if (p.contains(h[b], this))return!0
  });
  g = this.pushStack("", "find", a);
  for (b = 0, c = this.length; b < c; b++) {
  d = g.length, p.find(a, this[b], g);
  if (b > 0)for (e = d; e < g.length; e++)for (f = 0; f < d; f++)if (g[f] === g[e]) {
  g.splice(e--, 1);
  break
  }
  }
  return g
  }, has: function (a) {
  var b, c = p(a, this), d = c.length;
  return this.filter(function () {
  for (b = 0; b < d; b++)if (p.contains(this, c[b]))return!0
  })
  }, not: function (a) {
  return this.pushStack(bj(this, a, !1), "not", a)
  }, filter: function (a) {
  return this.pushStack(bj(this, a, !0), "filter", a)
  }, is: function (a) {
  return!!a && (typeof a == "string" ? bf.test(a) ? p(a, this.context).index(this[0]) >= 0 : p.filter(a, this).length > 0 : this.filter(a).length > 0)
  }, closest: function (a, b) {
  var c, d = 0, e = this.length, f = [], g = bf.test(a) || typeof a != "string" ? p(a, b || this.context) : 0;
  for (; d < e; d++) {
  c = this[d];
  while (c && c.ownerDocument && c !== b && c.nodeType !== 11) {
  if (g ? g.index(c) > -1 : p.find.matchesSelector(c, a)) {
  f.push(c);
  break
  }
  c = c.parentNode
  }
  }
  return f = f.length > 1 ? p.unique(f) : f, this.pushStack(f, "closest", a)
  }, index: function (a) {
  return a ? typeof a == "string" ? p.inArray(this[0], p(a)) : p.inArray(a.jquery ? a[0] : a, this) : this[0] && this[0].parentNode ? this.prevAll().length : -1
  }, add: function (a, b) {
  var c = typeof a == "string" ? p(a, b) : p.makeArray(a && a.nodeType ? [a] : a), d = p.merge(this.get(), c);
  return this.pushStack(bh(c[0]) || bh(d[0]) ? d : p.unique(d))
  }, addBack: function (a) {
  return this.add(a == null ? this.prevObject : this.prevObject.filter(a))
  }}), p.fn.andSelf = p.fn.addBack, p.each({parent: function (a) {
  var b = a.parentNode;
  return b && b.nodeType !== 11 ? b : null
  }, parents: function (a) {
  return p.dir(a, "parentNode")
  }, parentsUntil: function (a, b, c) {
  return p.dir(a, "parentNode", c)
  }, next: function (a) {
  return bi(a, "nextSibling")
  }, prev: function (a) {
  return bi(a, "previousSibling")
  }, nextAll: function (a) {
  return p.dir(a, "nextSibling")
  }, prevAll: function (a) {
  return p.dir(a, "previousSibling")
  }, nextUntil: function (a, b, c) {
  return p.dir(a, "nextSibling", c)
  }, prevUntil: function (a, b, c) {
  return p.dir(a, "previousSibling", c)
  }, siblings: function (a) {
  return p.sibling((a.parentNode || {}).firstChild, a)
  }, children: function (a) {
  return p.sibling(a.firstChild)
  }, contents: function (a) {
  return p.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : p.merge([], a.childNodes)
  }}, function (a, b) {
  p.fn[a] = function (c, d) {
  var e = p.map(this, b, c);
  return bc.test(a) || (d = c), d && typeof d == "string" && (e = p.filter(d, e)), e = this.length > 1 && !bg[a] ? p.unique(e) : e, this.length > 1 && bd.test(a) && (e = e.reverse()), this.pushStack(e, a, k.call(arguments).join(","))
  }
  }), p.extend({filter: function (a, b, c) {
  return c && (a = ":not(" + a + ")"), b.length === 1 ? p.find.matchesSelector(b[0], a) ? [b[0]] : [] : p.find.matches(a, b)
  }, dir: function (a, c, d) {
  var e = [], f = a[c];
  while (f && f.nodeType !== 9 && (d === b || f.nodeType !== 1 || !p(f).is(d)))f.nodeType === 1 && e.push(f), f = f[c];
  return e
  }, sibling: function (a, b) {
  var c = [];
  for (; a; a = a.nextSibling)a.nodeType === 1 && a !== b && c.push(a);
  return c
  }});
  var bl = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", bm = / jQuery\d+="(?:null|\d+)"/g, bn = /^\s+/, bo = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, bp = /<([\w:]+)/, bq = /<tbody/i, br = /<|&#?\w+;/, bs = /<(?:script|style|link)/i, bt = /<(?:script|object|embed|option|style)/i, bu = new RegExp("<(?:" + bl + ")[\\s/>]", "i"), bv = /^(?:checkbox|radio)$/, bw = /checked\s*(?:[^=]|=\s*.checked.)/i, bx = /\/(java|ecma)script/i, by = /^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g, bz = {option: [1, "<select multiple='multiple'>", "</select>"], legend: [1, "<fieldset>", "</fieldset>"], thead: [1, "<table>", "</table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"], area: [1, "<map>", "</map>"], _default: [0, "", ""]}, bA = bk(e), bB = bA.appendChild(e.createElement("div"));
  bz.optgroup = bz.option, bz.tbody = bz.tfoot = bz.colgroup = bz.caption = bz.thead, bz.th = bz.td, p.support.htmlSerialize || (bz._default = [1, "X<div>", "</div>"]), p.fn.extend({text: function (a) {
  return p.access(this, function (a) {
  return a === b ? p.text(this) : this.empty().append((this[0] && this[0].ownerDocument || e).createTextNode(a))
  }, null, a, arguments.length)
  }, wrapAll: function (a) {
  if (p.isFunction(a))return this.each(function (b) {
  p(this).wrapAll(a.call(this, b))
  });
  if (this[0]) {
  var b = p(a, this[0].ownerDocument).eq(0).clone(!0);
  this[0].parentNode && b.insertBefore(this[0]), b.map(function () {
  var a = this;
  while (a.firstChild && a.firstChild.nodeType === 1)a = a.firstChild;
  return a
  }).append(this)
  }
  return this
  }, wrapInner: function (a) {
  return p.isFunction(a) ? this.each(function (b) {
  p(this).wrapInner(a.call(this, b))
  }) : this.each(function () {
  var b = p(this), c = b.contents();
  c.length ? c.wrapAll(a) : b.append(a)
  })
  }, wrap: function (a) {
  var b = p.isFunction(a);
  return this.each(function (c) {
  p(this).wrapAll(b ? a.call(this, c) : a)
  })
  }, unwrap: function () {
  return this.parent().each(function () {
  p.nodeName(this, "body") || p(this).replaceWith(this.childNodes)
  }).end()
  }, append: function () {
  return this.domManip(arguments, !0, function (a) {
  (this.nodeType === 1 || this.nodeType === 11) && this.appendChild(a)
  })
  }, prepend: function () {
  return this.domManip(arguments, !0, function (a) {
  (this.nodeType === 1 || this.nodeType === 11) && this.insertBefore(a, this.firstChild)
  })
  }, before: function () {
  if (!bh(this[0]))return this.domManip(arguments, !1, function (a) {
  this.parentNode.insertBefore(a, this)
  });
  if (arguments.length) {
  var a = p.clean(arguments);
  return this.pushStack(p.merge(a, this), "before", this.selector)
  }
  }, after: function () {
  if (!bh(this[0]))return this.domManip(arguments, !1, function (a) {
  this.parentNode.insertBefore(a, this.nextSibling)
  });
  if (arguments.length) {
  var a = p.clean(arguments);
  return this.pushStack(p.merge(this, a), "after", this.selector)
  }
  }, remove: function (a, b) {
  var c, d = 0;
  for (; (c = this[d]) != null; d++)if (!a || p.filter(a, [c]).length)!b && c.nodeType === 1 && (p.cleanData(c.getElementsByTagName("*")), p.cleanData([c])), c.parentNode && c.parentNode.removeChild(c);
  return this
  }, empty: function () {
  var a, b = 0;
  for (; (a = this[b]) != null; b++) {
  a.nodeType === 1 && p.cleanData(a.getElementsByTagName("*"));
  while (a.firstChild)a.removeChild(a.firstChild)
  }
  return this
  }, clone: function (a, b) {
  return a = a == null ? !1 : a, b = b == null ? a : b, this.map(function () {
  return p.clone(this, a, b)
  })
  }, html: function (a) {
  return p.access(this, function (a) {
  var c = this[0] || {}, d = 0, e = this.length;
  if (a === b)return c.nodeType === 1 ? c.innerHTML.replace(bm, "") : b;
  if (typeof a == "string" && !bs.test(a) && (p.support.htmlSerialize || !bu.test(a)) && (p.support.leadingWhitespace || !bn.test(a)) && !bz[(bp.exec(a) || ["", ""])[1].toLowerCase()]) {
  a = a.replace(bo, "<$1></$2>");
  try {
  for (; d < e; d++)c = this[d] || {}, c.nodeType === 1 && (p.cleanData(c.getElementsByTagName("*")), c.innerHTML = a);
  c = 0
  } catch (f) {
  }
  }
  c && this.empty().append(a)
  }, null, a, arguments.length)
  }, replaceWith: function (a) {
  return bh(this[0]) ? this.length ? this.pushStack(p(p.isFunction(a) ? a() : a), "replaceWith", a) : this : p.isFunction(a) ? this.each(function (b) {
  var c = p(this), d = c.html();
  c.replaceWith(a.call(this, b, d))
  }) : (typeof a != "string" && (a = p(a).detach()), this.each(function () {
  var b = this.nextSibling, c = this.parentNode;
  p(this).remove(), b ? p(b).before(a) : p(c).append(a)
  }))
  }, detach: function (a) {
  return this.remove(a, !0)
  }, domManip: function (a, c, d) {
  a = [].concat.apply([], a);
  var e, f, g, h, i = 0, j = a[0], k = [], l = this.length;
  if (!p.support.checkClone && l > 1 && typeof j == "string" && bw.test(j))return this.each(function () {
  p(this).domManip(a, c, d)
  });
  if (p.isFunction(j))return this.each(function (e) {
  var f = p(this);
  a[0] = j.call(this, e, c ? f.html() : b), f.domManip(a, c, d)
  });
  if (this[0]) {
  e = p.buildFragment(a, this, k), g = e.fragment, f = g.firstChild, g.childNodes.length === 1 && (g = f);
  if (f) {
  c = c && p.nodeName(f, "tr");
  for (h = e.cacheable || l - 1; i < l; i++)d.call(c && p.nodeName(this[i], "table") ? bC(this[i], "tbody") : this[i], i === h ? g : p.clone(g, !0, !0))
  }
  g = f = null, k.length && p.each(k, function (a, b) {
  b.src ? p.ajax ? p.ajax({url: b.src, type: "GET", dataType: "script", async: !1, global: !1, "throws": !0}) : p.error("no ajax") : p.globalEval((b.text || b.textContent || b.innerHTML || "").replace(by, "")), b.parentNode && b.parentNode.removeChild(b)
  })
  }
  return this
  }}), p.buildFragment = function (a, c, d) {
  var f, g, h, i = a[0];
  return c = c || e, c = (c[0] || c).ownerDocument || c[0] || c, typeof c.createDocumentFragment == "undefined" && (c = e), a.length === 1 && typeof i == "string" && i.length < 512 && c === e && i.charAt(0) === "<" && !bt.test(i) && (p.support.checkClone || !bw.test(i)) && (p.support.html5Clone || !bu.test(i)) && (g = !0, f = p.fragments[i], h = f !== b), f || (f = c.createDocumentFragment(), p.clean(a, c, f, d), g && (p.fragments[i] = h && f)), {fragment: f, cacheable: g}
  }, p.fragments = {}, p.each({appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith"}, function (a, b) {
  p.fn[a] = function (c) {
  var d, e = 0, f = [], g = p(c), h = g.length, i = this.length === 1 && this[0].parentNode;
  if ((i == null || i && i.nodeType === 11 && i.childNodes.length === 1) && h === 1)return g[b](this[0]), this;
  for (; e < h; e++)d = (e > 0 ? this.clone(!0) : this).get(), p(g[e])[b](d), f = f.concat(d);
  return this.pushStack(f, a, g.selector)
  }
  }), p.extend({clone: function (a, b, c) {
  var d, e, f, g;
  p.support.html5Clone || p.isXMLDoc(a) || !bu.test("<" + a.nodeName + ">") ? g = a.cloneNode(!0) : (bB.innerHTML = a.outerHTML, bB.removeChild(g = bB.firstChild));
  if ((!p.support.noCloneEvent || !p.support.noCloneChecked) && (a.nodeType === 1 || a.nodeType === 11) && !p.isXMLDoc(a)) {
  bE(a, g), d = bF(a), e = bF(g);
  for (f = 0; d[f]; ++f)e[f] && bE(d[f], e[f])
  }
  if (b) {
  bD(a, g);
  if (c) {
  d = bF(a), e = bF(g);
  for (f = 0; d[f]; ++f)bD(d[f], e[f])
  }
  }
  return d = e = null, g
  }, clean: function (a, b, c, d) {
  var f, g, h, i, j, k, l, m, n, o, q, r, s = 0, t = [];
  if (!b || typeof b.createDocumentFragment == "undefined")b = e;
  for (g = b === e && bA; (h = a[s]) != null; s++) {
  typeof h == "number" && (h += "");
  if (!h)continue;
  if (typeof h == "string")if (!br.test(h))h = b.createTextNode(h); else {
  g = g || bk(b), l = l || g.appendChild(b.createElement("div")), h = h.replace(bo, "<$1></$2>"), i = (bp.exec(h) || ["", ""])[1].toLowerCase(), j = bz[i] || bz._default, k = j[0], l.innerHTML = j[1] + h + j[2];
  while (k--)l = l.lastChild;
  if (!p.support.tbody) {
  m = bq.test(h), n = i === "table" && !m ? l.firstChild && l.firstChild.childNodes : j[1] === "<table>" && !m ? l.childNodes : [];
  for (f = n.length - 1; f >= 0; --f)p.nodeName(n[f], "tbody") && !n[f].childNodes.length && n[f].parentNode.removeChild(n[f])
  }
  !p.support.leadingWhitespace && bn.test(h) && l.insertBefore(b.createTextNode(bn.exec(h)[0]), l.firstChild), h = l.childNodes, l = g.lastChild
  }
  h.nodeType ? t.push(h) : t = p.merge(t, h)
  }
  l && (g.removeChild(l), h = l = g = null);
  if (!p.support.appendChecked)for (s = 0; (h = t[s]) != null; s++)p.nodeName(h, "input") ? bG(h) : typeof h.getElementsByTagName != "undefined" && p.grep(h.getElementsByTagName("input"), bG);
  if (c) {
  q = function (a) {
  if (!a.type || bx.test(a.type))return d ? d.push(a.parentNode ? a.parentNode.removeChild(a) : a) : c.appendChild(a)
  };
  for (s = 0; (h = t[s]) != null; s++)if (!p.nodeName(h, "script") || !q(h))c.appendChild(h), typeof h.getElementsByTagName != "undefined" && (r = p.grep(p.merge([], h.getElementsByTagName("script")), q), t.splice.apply(t, [s + 1, 0].concat(r)), s += r.length)
  }
  return t
  }, cleanData: function (a, b) {
  var c, d, e, f, g = 0, h = p.expando, i = p.cache, j = p.support.deleteExpando, k = p.event.special;
  for (; (e = a[g]) != null; g++)if (b || p.acceptData(e)) {
  d = e[h], c = d && i[d];
  if (c) {
  if (c.events)for (f in c.events)k[f] ? p.event.remove(e, f) : p.removeEvent(e, f, c.handle);
  i[d] && (delete i[d], j ? delete e[h] : e.removeAttribute ? e.removeAttribute(h) : e[h] = null, p.deletedIds.push(d))
  }
  }
  }}), function () {
  var a, b;
  p.uaMatch = function (a) {
  a = a.toLowerCase();
  var b = /(chrome)[ \/]([\w.]+)/.exec(a) || /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || a.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a) || [];
  return{browser: b[1] || "", version: b[2] || "0"}
  }, a = p.uaMatch(g.userAgent), b = {}, a.browser && (b[a.browser] = !0, b.version = a.version), b.webkit && (b.safari = !0), p.browser = b, p.sub = function () {
  function a(b, c) {
  return new a.fn.init(b, c)
  }
   
  p.extend(!0, a, this), a.superclass = this, a.fn = a.prototype = this(), a.fn.constructor = a, a.sub = this.sub, a.fn.init = function c(c, d) {
  return d && d instanceof p && !(d instanceof a) && (d = a(d)), p.fn.init.call(this, c, d, b)
  }, a.fn.init.prototype = a.fn;
  var b = a(e);
  return a
  }
  }();
  var bH, bI, bJ, bK = /alpha\([^)]*\)/i, bL = /opacity=([^)]*)/, bM = /^(top|right|bottom|left)$/, bN = /^margin/, bO = new RegExp("^(" + q + ")(.*)$", "i"), bP = new RegExp("^(" + q + ")(?!px)[a-z%]+$", "i"), bQ = new RegExp("^([-+])=(" + q + ")", "i"), bR = {}, bS = {position: "absolute", visibility: "hidden", display: "block"}, bT = {letterSpacing: 0, fontWeight: 400, lineHeight: 1}, bU = ["Top", "Right", "Bottom", "Left"], bV = ["Webkit", "O", "Moz", "ms"], bW = p.fn.toggle;
  p.fn.extend({css: function (a, c) {
  return p.access(this, function (a, c, d) {
  return d !== b ? p.style(a, c, d) : p.css(a, c)
  }, a, c, arguments.length > 1)
  }, show: function () {
  return bZ(this, !0)
  }, hide: function () {
  return bZ(this)
  }, toggle: function (a, b) {
  var c = typeof a == "boolean";
  return p.isFunction(a) && p.isFunction(b) ? bW.apply(this, arguments) : this.each(function () {
  (c ? a : bY(this)) ? p(this).show() : p(this).hide()
  })
  }}), p.extend({cssHooks: {opacity: {get: function (a, b) {
  if (b) {
  var c = bH(a, "opacity");
  return c === "" ? "1" : c
  }
  }}}, cssNumber: {fillOpacity: !0, fontWeight: !0, lineHeight: !0, opacity: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0}, cssProps: {"float": p.support.cssFloat ? "cssFloat" : "styleFloat"}, style: function (a, c, d, e) {
  if (!a || a.nodeType === 3 || a.nodeType === 8 || !a.style)return;
  var f, g, h, i = p.camelCase(c), j = a.style;
  c = p.cssProps[i] || (p.cssProps[i] = bX(j, i)), h = p.cssHooks[c] || p.cssHooks[i];
  if (d === b)return h && "get"in h && (f = h.get(a, !1, e)) !== b ? f : j[c];
  g = typeof d, g === "string" && (f = bQ.exec(d)) && (d = (f[1] + 1) * f[2] + parseFloat(p.css(a, c)), g = "number");
  if (d == null || g === "number" && isNaN(d))return;
  g === "number" && !p.cssNumber[i] && (d += "px");
  if (!h || !("set"in h) || (d = h.set(a, d, e)) !== b)try {
  j[c] = d
  } catch (k) {
  }
  }, css: function (a, c, d, e) {
  var f, g, h, i = p.camelCase(c);
  return c = p.cssProps[i] || (p.cssProps[i] = bX(a.style, i)), h = p.cssHooks[c] || p.cssHooks[i], h && "get"in h && (f = h.get(a, !0, e)), f === b && (f = bH(a, c)), f === "normal" && c in bT && (f = bT[c]), d || e !== b ? (g = parseFloat(f), d || p.isNumeric(g) ? g || 0 : f) : f
  }, swap: function (a, b, c) {
  var d, e, f = {};
  for (e in b)f[e] = a.style[e], a.style[e] = b[e];
  d = c.call(a);
  for (e in b)a.style[e] = f[e];
  return d
  }}), a.getComputedStyle ? bH = function (a, b) {
  var c, d, e, f, g = getComputedStyle(a, null), h = a.style;
  return g && (c = g[b], c === "" && !p.contains(a.ownerDocument.documentElement, a) && (c = p.style(a, b)), bP.test(c) && bN.test(b) && (d = h.width, e = h.minWidth, f = h.maxWidth, h.minWidth = h.maxWidth = h.width = c, c = g.width, h.width = d, h.minWidth = e, h.maxWidth = f)), c
  } : e.documentElement.currentStyle && (bH = function (a, b) {
  var c, d, e = a.currentStyle && a.currentStyle[b], f = a.style;
  return e == null && f && f[b] && (e = f[b]), bP.test(e) && !bM.test(b) && (c = f.left, d = a.runtimeStyle && a.runtimeStyle.left, d && (a.runtimeStyle.left = a.currentStyle.left), f.left = b === "fontSize" ? "1em" : e, e = f.pixelLeft + "px", f.left = c, d && (a.runtimeStyle.left = d)), e === "" ? "auto" : e
  }), p.each(["height", "width"], function (a, b) {
  p.cssHooks[b] = {get: function (a, c, d) {
  if (c)return a.offsetWidth !== 0 || bH(a, "display") !== "none" ? ca(a, b, d) : p.swap(a, bS, function () {
  return ca(a, b, d)
  })
  }, set: function (a, c, d) {
  return b$(a, c, d ? b_(a, b, d, p.support.boxSizing && p.css(a, "boxSizing") === "border-box") : 0)
  }}
  }), p.support.opacity || (p.cssHooks.opacity = {get: function (a, b) {
  return bL.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : b ? "1" : ""
  }, set: function (a, b) {
  var c = a.style, d = a.currentStyle, e = p.isNumeric(b) ? "alpha(opacity=" + b * 100 + ")" : "", f = d && d.filter || c.filter || "";
  c.zoom = 1;
  if (b >= 1 && p.trim(f.replace(bK, "")) === "" && c.removeAttribute) {
  c.removeAttribute("filter");
  if (d && !d.filter)return
  }
  c.filter = bK.test(f) ? f.replace(bK, e) : f + " " + e
  }}), p(function () {
  p.support.reliableMarginRight || (p.cssHooks.marginRight = {get: function (a, b) {
  return p.swap(a, {display: "inline-block"}, function () {
  if (b)return bH(a, "marginRight")
  })
  }}), !p.support.pixelPosition && p.fn.position && p.each(["top", "left"], function (a, b) {
  p.cssHooks[b] = {get: function (a, c) {
  if (c) {
  var d = bH(a, b);
  return bP.test(d) ? p(a).position()[b] + "px" : d
  }
  }}
  })
  }), p.expr && p.expr.filters && (p.expr.filters.hidden = function (a) {
  return a.offsetWidth === 0 && a.offsetHeight === 0 || !p.support.reliableHiddenOffsets && (a.style && a.style.display || bH(a, "display")) === "none"
  }, p.expr.filters.visible = function (a) {
  return!p.expr.filters.hidden(a)
  }), p.each({margin: "", padding: "", border: "Width"}, function (a, b) {
  p.cssHooks[a + b] = {expand: function (c) {
  var d, e = typeof c == "string" ? c.split(" ") : [c], f = {};
  for (d = 0; d < 4; d++)f[a + bU[d] + b] = e[d] || e[d - 2] || e[0];
  return f
  }}, bN.test(a) || (p.cssHooks[a + b].set = b$)
  });
  var cc = /%20/g, cd = /\[\]$/, ce = /\r?\n/g, cf = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, cg = /^(?:select|textarea)/i;
  p.fn.extend({serialize: function () {
  return p.param(this.serializeArray())
  }, serializeArray: function () {
  return this.map(function () {
  return this.elements ? p.makeArray(this.elements) : this
  }).filter(function () {
  return this.name && !this.disabled && (this.checked || cg.test(this.nodeName) || cf.test(this.type))
  }).map(function (a, b) {
  var c = p(this).val();
  return c == null ? null : p.isArray(c) ? p.map(c, function (a, c) {
  return{name: b.name, value: a.replace(ce, "\r\n")}
  }) : {name: b.name, value: c.replace(ce, "\r\n")}
  }).get()
  }}), p.param = function (a, c) {
  var d, e = [], f = function (a, b) {
  b = p.isFunction(b) ? b() : b == null ? "" : b, e[e.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b)
  };
  c === b && (c = p.ajaxSettings && p.ajaxSettings.traditional);
  if (p.isArray(a) || a.jquery && !p.isPlainObject(a))p.each(a, function () {
  f(this.name, this.value)
  }); else for (d in a)ch(d, a[d], c, f);
  return e.join("&").replace(cc, "+")
  };
  var ci, cj, ck = /#.*$/, cl = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, cm = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, cn = /^(?:GET|HEAD)$/, co = /^\/\//, cp = /\?/, cq = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, cr = /([?&])_=[^&]*/, cs = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, ct = p.fn.load, cu = {}, cv = {}, cw = ["*/"] + ["*"];
  try {
  ci = f.href
  } catch (cx) {
  ci = e.createElement("a"), ci.href = "", ci = ci.href
  }
  cj = cs.exec(ci.toLowerCase()) || [], p.fn.load = function (a, c, d) {
  if (typeof a != "string" && ct)return ct.apply(this, arguments);
  if (!this.length)return this;
  var e, f, g, h = this, i = a.indexOf(" ");
  return i >= 0 && (e = a.slice(i, a.length), a = a.slice(0, i)), p.isFunction(c) ? (d = c, c = b) : typeof c == "object" && (f = "POST"), p.ajax({url: a, type: f, dataType: "html", data: c, complete: function (a, b) {
  d && h.each(d, g || [a.responseText, b, a])
  }}).done(function (a) {
  g = arguments, h.html(e ? p("<div>").append(a.replace(cq, "")).find(e) : a)
  }), this
  }, p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function (a, b) {
  p.fn[b] = function (a) {
  return this.on(b, a)
  }
  }), p.each(["get", "post"], function (a, c) {
  p[c] = function (a, d, e, f) {
  return p.isFunction(d) && (f = f || e, e = d, d = b), p.ajax({type: c, url: a, data: d, success: e, dataType: f})
  }
  }), p.extend({getScript: function (a, c) {
  return p.get(a, b, c, "script")
  }, getJSON: function (a, b, c) {
  return p.get(a, b, c, "json")
  }, ajaxSetup: function (a, b) {
  return b ? cA(a, p.ajaxSettings) : (b = a, a = p.ajaxSettings), cA(a, b), a
  }, ajaxSettings: {url: ci, isLocal: cm.test(cj[1]), global: !0, type: "GET", contentType: "application/x-www-form-urlencoded; charset=UTF-8", processData: !0, async: !0, accepts: {xml: "application/xml, text/xml", html: "text/html", text: "text/plain", json: "application/json, text/javascript", "*": cw}, contents: {xml: /xml/, html: /html/, json: /json/}, responseFields: {xml: "responseXML", text: "responseText"}, converters: {"* text": a.String, "text html": !0, "text json": p.parseJSON, "text xml": p.parseXML}, flatOptions: {context: !0, url: !0}}, ajaxPrefilter: cy(cu), ajaxTransport: cy(cv), ajax: function (a, c) {
  function y(a, c, f, i) {
  var k, s, t, u, w, y = c;
  if (v === 2)return;
  v = 2, h && clearTimeout(h), g = b, e = i || "", x.readyState = a > 0 ? 4 : 0, f && (u = cB(l, x, f));
  if (a >= 200 && a < 300 || a === 304)l.ifModified && (w = x.getResponseHeader("Last-Modified"), w && (p.lastModified[d] = w), w = x.getResponseHeader("Etag"), w && (p.etag[d] = w)), a === 304 ? (y = "notmodified", k = !0) : (k = cC(l, u), y = k.state, s = k.data, t = k.error, k = !t); else {
  t = y;
  if (!y || a)y = "error", a < 0 && (a = 0)
  }
  x.status = a, x.statusText = "" + (c || y), k ? o.resolveWith(m, [s, y, x]) : o.rejectWith(m, [x, y, t]), x.statusCode(r), r = b, j && n.trigger("ajax" + (k ? "Success" : "Error"), [x, l, k ? s : t]), q.fireWith(m, [x, y]), j && (n.trigger("ajaxComplete", [x, l]), --p.active || p.event.trigger("ajaxStop"))
  }
   
  typeof a == "object" && (c = a, a = b), c = c || {};
  var d, e, f, g, h, i, j, k, l = p.ajaxSetup({}, c), m = l.context || l, n = m !== l && (m.nodeType || m instanceof p) ? p(m) : p.event, o = p.Deferred(), q = p.Callbacks("once memory"), r = l.statusCode || {}, t = {}, u = {}, v = 0, w = "canceled", x = {readyState: 0, setRequestHeader: function (a, b) {
  if (!v) {
  var c = a.toLowerCase();
  a = u[c] = u[c] || a, t[a] = b
  }
  return this
  }, getAllResponseHeaders: function () {
  return v === 2 ? e : null
  }, getResponseHeader: function (a) {
  var c;
  if (v === 2) {
  if (!f) {
  f = {};
  while (c = cl.exec(e))f[c[1].toLowerCase()] = c[2]
  }
  c = f[a.toLowerCase()]
  }
  return c === b ? null : c
  }, overrideMimeType: function (a) {
  return v || (l.mimeType = a), this
  }, abort: function (a) {
  return a = a || w, g && g.abort(a), y(0, a), this
  }};
  o.promise(x), x.success = x.done, x.error = x.fail, x.complete = q.add, x.statusCode = function (a) {
  if (a) {
  var b;
  if (v < 2)for (b in a)r[b] = [r[b], a[b]]; else b = a[x.status], x.always(b)
  }
  return this
  }, l.url = ((a || l.url) + "").replace(ck, "").replace(co, cj[1] + "//"), l.dataTypes = p.trim(l.dataType || "*").toLowerCase().split(s), l.crossDomain == null && (i = cs.exec(l.url.toLowerCase()), l.crossDomain = !(!i || i[1] == cj[1] && i[2] == cj[2] && (i[3] || (i[1] === "http:" ? 80 : 443)) == (cj[3] || (cj[1] === "http:" ? 80 : 443)))), l.data && l.processData && typeof l.data != "string" && (l.data = p.param(l.data, l.traditional)), cz(cu, l, c, x);
  if (v === 2)return x;
  j = l.global, l.type = l.type.toUpperCase(), l.hasContent = !cn.test(l.type), j && p.active++ === 0 && p.event.trigger("ajaxStart");
  if (!l.hasContent) {
  l.data && (l.url += (cp.test(l.url) ? "&" : "?") + l.data, delete l.data), d = l.url;
  if (l.cache === !1) {
  var z = p.now(), A = l.url.replace(cr, "$1_=" + z);
  l.url = A + (A === l.url ? (cp.test(l.url) ? "&" : "?") + "_=" + z : "")
  }
  }
  (l.data && l.hasContent && l.contentType !== !1 || c.contentType) && x.setRequestHeader("Content-Type", l.contentType), l.ifModified && (d = d || l.url, p.lastModified[d] && x.setRequestHeader("If-Modified-Since", p.lastModified[d]), p.etag[d] && x.setRequestHeader("If-None-Match", p.etag[d])), x.setRequestHeader("Accept", l.dataTypes[0] && l.accepts[l.dataTypes[0]] ? l.accepts[l.dataTypes[0]] + (l.dataTypes[0] !== "*" ? ", " + cw + "; q=0.01" : "") : l.accepts["*"]);
  for (k in l.headers)x.setRequestHeader(k, l.headers[k]);
  if (!l.beforeSend || l.beforeSend.call(m, x, l) !== !1 && v !== 2) {
  w = "abort";
  for (k in{success: 1, error: 1, complete: 1})x[k](l[k]);
  g = cz(cv, l, c, x);
  if (!g)y(-1, "No Transport"); else {
  x.readyState = 1, j && n.trigger("ajaxSend", [x, l]), l.async && l.timeout > 0 && (h = setTimeout(function () {
  x.abort("timeout")
  }, l.timeout));
  try {
  v = 1, g.send(t, y)
  } catch (B) {
  if (v < 2)y(-1, B); else throw B
  }
  }
  return x
  }
  return x.abort()
  }, active: 0, lastModified: {}, etag: {}});
  var cD = [], cE = /\?/, cF = /(=)\?(?=&|$)|\?\?/, cG = p.now();
  p.ajaxSetup({jsonp: "callback", jsonpCallback: function () {
  var a = cD.pop() || p.expando + "_" + cG++;
  return this[a] = !0, a
  }}), p.ajaxPrefilter("json jsonp", function (c, d, e) {
  var f, g, h, i = c.data, j = c.url, k = c.jsonp !== !1, l = k && cF.test(j), m = k && !l && typeof i == "string" && !(c.contentType || "").indexOf("application/x-www-form-urlencoded") && cF.test(i);
  if (c.dataTypes[0] === "jsonp" || l || m)return f = c.jsonpCallback = p.isFunction(c.jsonpCallback) ? c.jsonpCallback() : c.jsonpCallback, g = a[f], l ? c.url = j.replace(cF, "$1" + f) : m ? c.data = i.replace(cF, "$1" + f) : k && (c.url += (cE.test(j) ? "&" : "?") + c.jsonp + "=" + f), c.converters["script json"] = function () {
  return h || p.error(f + " was not called"), h[0]
  }, c.dataTypes[0] = "json", a[f] = function () {
  h = arguments
  }, e.always(function () {
  a[f] = g, c[f] && (c.jsonpCallback = d.jsonpCallback, cD.push(f)), h && p.isFunction(g) && g(h[0]), h = g = b
  }), "script"
  }), p.ajaxSetup({accepts: {script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"}, contents: {script: /javascript|ecmascript/}, converters: {"text script": function (a) {
  return p.globalEval(a), a
  }}}), p.ajaxPrefilter("script", function (a) {
  a.cache === b && (a.cache = !1), a.crossDomain && (a.type = "GET", a.global = !1)
  }), p.ajaxTransport("script", function (a) {
  if (a.crossDomain) {
  var c, d = e.head || e.getElementsByTagName("head")[0] || e.documentElement;
  return{send: function (f, g) {
  c = e.createElement("script"), c.async = "async", a.scriptCharset && (c.charset = a.scriptCharset), c.src = a.url, c.onload = c.onreadystatechange = function (a, e) {
  if (e || !c.readyState || /loaded|complete/.test(c.readyState))c.onload = c.onreadystatechange = null, d && c.parentNode && d.removeChild(c), c = b, e || g(200, "success")
  }, d.insertBefore(c, d.firstChild)
  }, abort: function () {
  c && c.onload(0, 1)
  }}
  }
  });
  var cH, cI = a.ActiveXObject ? function () {
  for (var a in cH)cH[a](0, 1)
  } : !1, cJ = 0;
  p.ajaxSettings.xhr = a.ActiveXObject ? function () {
  return!this.isLocal && cK() || cL()
  } : cK, function (a) {
  p.extend(p.support, {ajax: !!a, cors: !!a && "withCredentials"in a})
  }(p.ajaxSettings.xhr()), p.support.ajax && p.ajaxTransport(function (c) {
  if (!c.crossDomain || p.support.cors) {
  var d;
  return{send: function (e, f) {
  var g, h, i = c.xhr();
  c.username ? i.open(c.type, c.url, c.async, c.username, c.password) : i.open(c.type, c.url, c.async);
  if (c.xhrFields)for (h in c.xhrFields)i[h] = c.xhrFields[h];
  c.mimeType && i.overrideMimeType && i.overrideMimeType(c.mimeType), !c.crossDomain && !e["X-Requested-With"] && (e["X-Requested-With"] = "XMLHttpRequest");
  try {
  for (h in e)i.setRequestHeader(h, e[h])
  } catch (j) {
  }
  i.send(c.hasContent && c.data || null), d = function (a, e) {
  var h, j, k, l, m;
  try {
  if (d && (e || i.readyState === 4)) {
  d = b, g && (i.onreadystatechange = p.noop, cI && delete cH[g]);
  if (e)i.readyState !== 4 && i.abort(); else {
  h = i.status, k = i.getAllResponseHeaders(), l = {}, m = i.responseXML, m && m.documentElement && (l.xml = m);
  try {
  l.text = i.responseText
  } catch (a) {
  }
  try {
  j = i.statusText
  } catch (n) {
  j = ""
  }
  !h && c.isLocal && !c.crossDomain ? h = l.text ? 200 : 404 : h === 1223 && (h = 204)
  }
  }
  } catch (o) {
  e || f(-1, o)
  }
  l && f(h, j, l, k)
  }, c.async ? i.readyState === 4 ? setTimeout(d, 0) : (g = ++cJ, cI && (cH || (cH = {}, p(a).unload(cI)), cH[g] = d), i.onreadystatechange = d) : d()
  }, abort: function () {
  d && d(0, 1)
  }}
  }
  });
  var cM, cN, cO = /^(?:toggle|show|hide)$/, cP = new RegExp("^(?:([-+])=|)(" + q + ")([a-z%]*)$", "i"), cQ = /queueHooks$/, cR = [cX], cS = {"*": [function (a, b) {
  var c, d, e, f = this.createTween(a, b), g = cP.exec(b), h = f.cur(), i = +h || 0, j = 1;
  if (g) {
  c = +g[2], d = g[3] || (p.cssNumber[a] ? "" : "px");
  if (d !== "px" && i) {
  i = p.css(f.elem, a, !0) || c || 1;
  do e = j = j || ".5", i = i / j, p.style(f.elem, a, i + d), j = f.cur() / h; while (j !== 1 && j !== e)
  }
  f.unit = d, f.start = i, f.end = g[1] ? i + (g[1] + 1) * c : c
  }
  return f
  }]};
  p.Animation = p.extend(cV, {tweener: function (a, b) {
  p.isFunction(a) ? (b = a, a = ["*"]) : a = a.split(" ");
  var c, d = 0, e = a.length;
  for (; d < e; d++)c = a[d], cS[c] = cS[c] || [], cS[c].unshift(b)
  }, prefilter: function (a, b) {
  b ? cR.unshift(a) : cR.push(a)
  }}), p.Tween = cY, cY.prototype = {constructor: cY, init: function (a, b, c, d, e, f) {
  this.elem = a, this.prop = c, this.easing = e || "swing", this.options = b, this.start = this.now = this.cur(), this.end = d, this.unit = f || (p.cssNumber[c] ? "" : "px")
  }, cur: function () {
  var a = cY.propHooks[this.prop];
  return a && a.get ? a.get(this) : cY.propHooks._default.get(this)
  }, run: function (a) {
  var b, c = cY.propHooks[this.prop];
  return this.pos = b = p.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration), this.now = (this.end - this.start) * b + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), c && c.set ? c.set(this) : cY.propHooks._default.set(this), this
  }}, cY.prototype.init.prototype = cY.prototype, cY.propHooks = {_default: {get: function (a) {
  var b;
  return a.elem[a.prop] == null || !!a.elem.style && a.elem.style[a.prop] != null ? (b = p.css(a.elem, a.prop, !1, ""), !b || b === "auto" ? 0 : b) : a.elem[a.prop]
  }, set: function (a) {
  p.fx.step[a.prop] ? p.fx.step[a.prop](a) : a.elem.style && (a.elem.style[p.cssProps[a.prop]] != null || p.cssHooks[a.prop]) ? p.style(a.elem, a.prop, a.now + a.unit) : a.elem[a.prop] = a.now
  }}}, cY.propHooks.scrollTop = cY.propHooks.scrollLeft = {set: function (a) {
  a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now)
  }}, p.each(["toggle", "show", "hide"], function (a, b) {
  var c = p.fn[b];
  p.fn[b] = function (d, e, f) {
  return d == null || typeof d == "boolean" || !a && p.isFunction(d) && p.isFunction(e) ? c.apply(this, arguments) : this.animate(cZ(b, !0), d, e, f)
  }
  }), p.fn.extend({fadeTo: function (a, b, c, d) {
  return this.filter(bY).css("opacity", 0).show().end().animate({opacity: b}, a, c, d)
  }, animate: function (a, b, c, d) {
  var e = p.isEmptyObject(a), f = p.speed(b, c, d), g = function () {
  var b = cV(this, p.extend({}, a), f);
  e && b.stop(!0)
  };
  return e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g)
  }, stop: function (a, c, d) {
  var e = function (a) {
  var b = a.stop;
  delete a.stop, b(d)
  };
  return typeof a != "string" && (d = c, c = a, a = b), c && a !== !1 && this.queue(a || "fx", []), this.each(function () {
  var b = !0, c = a != null && a + "queueHooks", f = p.timers, g = p._data(this);
  if (c)g[c] && g[c].stop && e(g[c]); else for (c in g)g[c] && g[c].stop && cQ.test(c) && e(g[c]);
  for (c = f.length; c--;)f[c].elem === this && (a == null || f[c].queue === a) && (f[c].anim.stop(d), b = !1, f.splice(c, 1));
  (b || !d) && p.dequeue(this, a)
  })
  }}), p.each({slideDown: cZ("show"), slideUp: cZ("hide"), slideToggle: cZ("toggle"), fadeIn: {opacity: "show"}, fadeOut: {opacity: "hide"}, fadeToggle: {opacity: "toggle"}}, function (a, b) {
  p.fn[a] = function (a, c, d) {
  return this.animate(b, a, c, d)
  }
  }), p.speed = function (a, b, c) {
  var d = a && typeof a == "object" ? p.extend({}, a) : {complete: c || !c && b || p.isFunction(a) && a, duration: a, easing: c && b || b && !p.isFunction(b) && b};
  d.duration = p.fx.off ? 0 : typeof d.duration == "number" ? d.duration : d.duration in p.fx.speeds ? p.fx.speeds[d.duration] : p.fx.speeds._default;
  if (d.queue == null || d.queue === !0)d.queue = "fx";
  return d.old = d.complete, d.complete = function () {
  p.isFunction(d.old) && d.old.call(this), d.queue && p.dequeue(this, d.queue)
  }, d
  }, p.easing = {linear: function (a) {
  return a
  }, swing: function (a) {
  return.5 - Math.cos(a * Math.PI) / 2
  }}, p.timers = [], p.fx = cY.prototype.init, p.fx.tick = function () {
  var a, b = p.timers, c = 0;
  for (; c < b.length; c++)a = b[c], !a() && b[c] === a && b.splice(c--, 1);
  b.length || p.fx.stop()
  }, p.fx.timer = function (a) {
  a() && p.timers.push(a) && !cN && (cN = setInterval(p.fx.tick, p.fx.interval))
  }, p.fx.interval = 13, p.fx.stop = function () {
  clearInterval(cN), cN = null
  }, p.fx.speeds = {slow: 600, fast: 200, _default: 400}, p.fx.step = {}, p.expr && p.expr.filters && (p.expr.filters.animated = function (a) {
  return p.grep(p.timers,function (b) {
  return a === b.elem
  }).length
  });
  var c$ = /^(?:body|html)$/i;
  p.fn.offset = function (a) {
  if (arguments.length)return a === b ? this : this.each(function (b) {
  p.offset.setOffset(this, a, b)
  });
  var c, d, e, f, g, h, i, j, k, l, m = this[0], n = m && m.ownerDocument;
  if (!n)return;
  return(e = n.body) === m ? p.offset.bodyOffset(m) : (d = n.documentElement, p.contains(d, m) ? (c = m.getBoundingClientRect(), f = c_(n), g = d.clientTop || e.clientTop || 0, h = d.clientLeft || e.clientLeft || 0, i = f.pageYOffset || d.scrollTop, j = f.pageXOffset || d.scrollLeft, k = c.top + i - g, l = c.left + j - h, {top: k, left: l}) : {top: 0, left: 0})
  }, p.offset = {bodyOffset: function (a) {
  var b = a.offsetTop, c = a.offsetLeft;
  return p.support.doesNotIncludeMarginInBodyOffset && (b += parseFloat(p.css(a, "marginTop")) || 0, c += parseFloat(p.css(a, "marginLeft")) || 0), {top: b, left: c}
  }, setOffset: function (a, b, c) {
  var d = p.css(a, "position");
  d === "static" && (a.style.position = "relative");
  var e = p(a), f = e.offset(), g = p.css(a, "top"), h = p.css(a, "left"), i = (d === "absolute" || d === "fixed") && p.inArray("auto", [g, h]) > -1, j = {}, k = {}, l, m;
  i ? (k = e.position(), l = k.top, m = k.left) : (l = parseFloat(g) || 0, m = parseFloat(h) || 0), p.isFunction(b) && (b = b.call(a, c, f)), b.top != null && (j.top = b.top - f.top + l), b.left != null && (j.left = b.left - f.left + m), "using"in b ? b.using.call(a, j) : e.css(j)
  }}, p.fn.extend({position: function () {
  if (!this[0])return;
  var a = this[0], b = this.offsetParent(), c = this.offset(), d = c$.test(b[0].nodeName) ? {top: 0, left: 0} : b.offset();
  return c.top -= parseFloat(p.css(a, "marginTop")) || 0, c.left -= parseFloat(p.css(a, "marginLeft")) || 0, d.top += parseFloat(p.css(b[0], "borderTopWidth")) || 0, d.left += parseFloat(p.css(b[0], "borderLeftWidth")) || 0, {top: c.top - d.top, left: c.left - d.left}
  }, offsetParent: function () {
  return this.map(function () {
  var a = this.offsetParent || e.body;
  while (a && !c$.test(a.nodeName) && p.css(a, "position") === "static")a = a.offsetParent;
  return a || e.body
  })
  }}), p.each({scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function (a, c) {
  var d = /Y/.test(c);
  p.fn[a] = function (e) {
  return p.access(this, function (a, e, f) {
  var g = c_(a);
  if (f === b)return g ? c in g ? g[c] : g.document.documentElement[e] : a[e];
  g ? g.scrollTo(d ? p(g).scrollLeft() : f, d ? f : p(g).scrollTop()) : a[e] = f
  }, a, e, arguments.length, null)
  }
  }), p.each({Height: "height", Width: "width"}, function (a, c) {
  p.each({padding: "inner" + a, content: c, "": "outer" + a}, function (d, e) {
  p.fn[e] = function (e, f) {
  var g = arguments.length && (d || typeof e != "boolean"), h = d || (e === !0 || f === !0 ? "margin" : "border");
  return p.access(this, function (c, d, e) {
  var f;
  return p.isWindow(c) ? c.document.documentElement["client" + a] : c.nodeType === 9 ? (f = c.documentElement, Math.max(c.body["scroll" + a], f["scroll" + a], c.body["offset" + a], f["offset" + a], f["client" + a])) : e === b ? p.css(c, d, e, h) : p.style(c, d, e, h)
  }, c, g ? e : b, g)
  }
  })
  }), a.jQuery = a.$ = p, typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [], function () {
  return p
  })
  })(window);
   
/* Modernizr 2.6.1 (Custom Build) | MIT & BSD /* Modernizr 2.6.1 (Custom Build) | MIT & BSD
* Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
*/ */
;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)u[c[d]]=c[d]in k;return u.list&&(u.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),u}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:e=k.value!=l)),t[a[d]]=!!e;return t}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.6.1",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" "),q=o.toLowerCase().split(" "),r={svg:"http://www.w3.org/2000/svg"},s={},t={},u={},v=[],w=v.slice,x,y=function(a,c,d,e){var f,i,j,k=b.createElement("div"),l=b.body,m=l?l:b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),k.appendChild(j);return f=["&#173;",'<style id="s',h,'">',a,"</style>"].join(""),k.id=h,(l?k:m).innerHTML+=f,m.appendChild(k),l||(m.style.background="",g.appendChild(m)),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(['#modernizr:after{content:"',l,'";visibility:hidden}'].join(""),function(b){a=b.offsetHeight>=1}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return o.call(a)=="[object Function]"}function e(a){return typeof a=="string"}function f(){}function g(a){return!a||a=="loaded"||a=="complete"||a=="uninitialized"}function h(){var a=p.shift();q=1,a?a.t?m(function(){(a.t=="c"?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){a!="img"&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l={},o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};y[c]===1&&(r=1,y[c]=[],l=b.createElement(a)),a=="object"?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),a!="img"&&(r||y[c]===2?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i(b=="c"?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),p.length==1&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&o.call(a.opera)=="[object Opera]",l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return o.call(a)=="[object Array]"},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,i){var j=b(a),l=j.autoCallback;j.url.split(".").pop().split("?").shift(),j.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]||h),j.instead?j.instead(a,e,f,g,i):(y[j.url]?j.noexec=!0:y[j.url]=1,f.load(j.url,j.forceCSS||!j.forceJS&&"css"==j.url.split(".").pop().split("?").shift()?"c":c,j.noexec,j.attrs,j.timeout),(d(e)||d(l))&&f.load(function(){k(),e&&e(j.origUrl,i,g),l&&l(j.origUrl,i,g),y[j.url]=2})))}function i(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var j,l,m=this.yepnope.loader;if(e(a))g(a,0,m,0);else if(w(a))for(j=0;j<a.length;j++)l=a[j],e(l)?g(l,0,m,0):w(l)?B(l):Object(l)===l&&i(l,m);else Object(a)===a&&i(a,m)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))}; ;
  window.Modernizr = function (a, b, c) {
  function D(a) {
  j.cssText = a
  }
   
  function E(a, b) {
  return D(n.join(a + ";") + (b || ""))
  }
   
  function F(a, b) {
  return typeof a === b
  }
   
  function G(a, b) {
  return!!~("" + a).indexOf(b)
  }
   
  function H(a, b) {
  for (var d in a) {
  var e = a[d];
  if (!G(e, "-") && j[e] !== c)return b == "pfx" ? e : !0
  }
  return!1
  }
   
  function I(a, b, d) {
  for (var e in a) {
  var f = b[a[e]];
  if (f !== c)return d === !1 ? a[e] : F(f, "function") ? f.bind(d || b) : f
  }
  return!1
  }
   
  function J(a, b, c) {
  var d = a.charAt(0).toUpperCase() + a.slice(1), e = (a + " " + p.join(d + " ") + d).split(" ");
  return F(b, "string") || F(b, "undefined") ? H(e, b) : (e = (a + " " + q.join(d + " ") + d).split(" "), I(e, b, c))
  }
   
  function K() {
  e.input = function (c) {
  for (var d = 0, e = c.length; d < e; d++)u[c[d]] = c[d]in k;
  return u.list && (u.list = !!b.createElement("datalist") && !!a.HTMLDataListElement), u
  }("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")), e.inputtypes = function (a) {
  for (var d = 0, e, f, h, i = a.length; d < i; d++)k.setAttribute("type", f = a[d]), e = k.type !== "text", e && (k.value = l, k.style.cssText = "position:absolute;visibility:hidden;", /^range$/.test(f) && k.style.WebkitAppearance !== c ? (g.appendChild(k), h = b.defaultView, e = h.getComputedStyle && h.getComputedStyle(k, null).WebkitAppearance !== "textfield" && k.offsetHeight !== 0, g.removeChild(k)) : /^(search|tel)$/.test(f) || (/^(url|email)$/.test(f) ? e = k.checkValidity && k.checkValidity() === !1 : e = k.value != l)), t[a[d]] = !!e;
  return t
  }("search tel url email datetime date month week time datetime-local number range color".split(" "))
  }
   
  var d = "2.6.1", e = {}, f = !0, g = b.documentElement, h = "modernizr", i = b.createElement(h), j = i.style, k = b.createElement("input"), l = ":)", m = {}.toString, n = " -webkit- -moz- -o- -ms- ".split(" "), o = "Webkit Moz O ms", p = o.split(" "), q = o.toLowerCase().split(" "), r = {svg: "http://www.w3.org/2000/svg"}, s = {}, t = {}, u = {}, v = [], w = v.slice, x, y = function (a, c, d, e) {
  var f, i, j, k = b.createElement("div"), l = b.body, m = l ? l : b.createElement("body");
  if (parseInt(d, 10))while (d--)j = b.createElement("div"), j.id = e ? e[d] : h + (d + 1), k.appendChild(j);
  return f = ["&#173;", '<style id="s', h, '">', a, "</style>"].join(""), k.id = h, (l ? k : m).innerHTML += f, m.appendChild(k), l || (m.style.background = "", g.appendChild(m)), i = c(k, a), l ? k.parentNode.removeChild(k) : m.parentNode.removeChild(m), !!i
  }, z = function (b) {
  var c = a.matchMedia || a.msMatchMedia;
  if (c)return c(b).matches;
  var d;
  return y("@media " + b + " { #" + h + " { position: absolute; } }", function (b) {
  d = (a.getComputedStyle ? getComputedStyle(b, null) : b.currentStyle)["position"] == "absolute"
  }), d
  }, A = function () {
  function d(d, e) {
  e = e || b.createElement(a[d] || "div"), d = "on" + d;
  var f = d in e;
  return f || (e.setAttribute || (e = b.createElement("div")), e.setAttribute && e.removeAttribute && (e.setAttribute(d, ""), f = F(e[d], "function"), F(e[d], "undefined") || (e[d] = c), e.removeAttribute(d))), e = null, f
  }
   
  var a = {select: "input", change: "input", submit: "form", reset: "form", error: "img", load: "img", abort: "img"};
  return d
  }(), B = {}.hasOwnProperty, C;
  !F(B, "undefined") && !F(B.call, "undefined") ? C = function (a, b) {
  return B.call(a, b)
  } : C = function (a, b) {
  return b in a && F(a.constructor.prototype[b], "undefined")
  }, Function.prototype.bind || (Function.prototype.bind = function (b) {
  var c = this;
  if (typeof c != "function")throw new TypeError;
  var d = w.call(arguments, 1), e = function () {
  if (this instanceof e) {
  var a = function () {
  };
  a.prototype = c.prototype;
  var f = new a, g = c.apply(f, d.concat(w.call(arguments)));
  return Object(g) === g ? g : f
  }
  return c.apply(b, d.concat(w.call(arguments)))
  };
  return e
  }), s.flexbox = function () {
  return J("flexWrap")
  }, s.canvas = function () {
  var a = b.createElement("canvas");
  return!!a.getContext && !!a.getContext("2d")
  }, s.canvastext = function () {
  return!!e.canvas && !!F(b.createElement("canvas").getContext("2d").fillText, "function")
  }, s.webgl = function () {
  return!!a.WebGLRenderingContext
  }, s.touch = function () {
  var c;
  return"ontouchstart"in a || a.DocumentTouch && b instanceof DocumentTouch ? c = !0 : y(["@media (", n.join("touch-enabled),("), h, ")", "{#modernizr{top:9px;position:absolute}}"].join(""), function (a) {
  c = a.offsetTop === 9
  }), c
  }, s.geolocation = function () {
  return"geolocation"in navigator
  }, s.postmessage = function () {
  return!!a.postMessage
  }, s.websqldatabase = function () {
  return!!a.openDatabase
  }, s.indexedDB = function () {
  return!!J("indexedDB", a)
  }, s.hashchange = function () {
  return A("hashchange", a) && (b.documentMode === c || b.documentMode > 7)
  }, s.history = function () {
  return!!a.history && !!history.pushState
  }, s.draganddrop = function () {
  var a = b.createElement("div");
  return"draggable"in a || "ondragstart"in a && "ondrop"in a
  }, s.websockets = function () {
  return"WebSocket"in a || "MozWebSocket"in a
  }, s.rgba = function () {
  return D("background-color:rgba(150,255,150,.5)"), G(j.backgroundColor, "rgba")
  }, s.hsla = function () {
  return D("background-color:hsla(120,40%,100%,.5)"), G(j.backgroundColor, "rgba") || G(j.backgroundColor, "hsla")
  }, s.multiplebgs = function () {
  return D("background:url(https://),url(https://),red url(https://)"), /(url\s*\(.*?){3}/.test(j.background)
  }, s.backgroundsize = function () {
  return J("backgroundSize")
  }, s.borderimage = function () {
  return J("borderImage")
  }, s.borderradius = function () {
  return J("borderRadius")
  }, s.boxshadow = function () {
  return J("boxShadow")
  }, s.textshadow = function () {
  return b.createElement("div").style.textShadow === ""
  }, s.opacity = function () {
  return E("opacity:.55"), /^0.55$/.test(j.opacity)
  }, s.cssanimations = function () {
  return J("animationName")
  }, s.csscolumns = function () {
  return J("columnCount")
  }, s.cssgradients = function () {
  var a = "background-image:", b = "gradient(linear,left top,right bottom,from(#9f9),to(white));", c = "linear-gradient(left top,#9f9, white);";
  return D((a + "-webkit- ".split(" ").join(b + a) + n.join(c + a)).slice(0, -a.length)), G(j.backgroundImage, "gradient")
  }, s.cssreflections = function () {
  return J("boxReflect")
  }, s.csstransforms = function () {
  return!!J("transform")
  }, s.csstransforms3d = function () {
  var a = !!J("perspective");
  return a && "webkitPerspective"in g.style && y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}", function (b, c) {
  a = b.offsetLeft === 9 && b.offsetHeight === 3
  }), a
  }, s.csstransitions = function () {
  return J("transition")
  }, s.fontface = function () {
  var a;
  return y('@font-face {font-family:"font";src:url("https://")}', function (c, d) {
  var e = b.getElementById("smodernizr"), f = e.sheet || e.styleSheet, g = f ? f.cssRules && f.cssRules[0] ? f.cssRules[0].cssText : f.cssText || "" : "";
  a = /src/i.test(g) && g.indexOf(d.split(" ")[0]) === 0
  }), a
  }, s.generatedcontent = function () {
  var a;
  return y(['#modernizr:after{content:"', l, '";visibility:hidden}'].join(""), function (b) {
  a = b.offsetHeight >= 1
  }), a
  }, s.video = function () {
  var a = b.createElement("video"), c = !1;
  try {
  if (c = !!a.canPlayType)c = new Boolean(c), c.ogg = a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/, ""), c.h264 = a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/, ""), c.webm = a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/, "")
  } catch (d) {
  }
  return c
  }, s.audio = function () {
  var a = b.createElement("audio"), c = !1;
  try {
  if (c = !!a.canPlayType)c = new Boolean(c), c.ogg = a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""), c.mp3 = a.canPlayType("audio/mpeg;").replace(/^no$/, ""), c.wav = a.canPlayType('audio/wav; codecs="1"').replace(/^no$/, ""), c.m4a = (a.canPlayType("audio/x-m4a;") || a.canPlayType("audio/aac;")).replace(/^no$/, "")
  } catch (d) {
  }
  return c
  }, s.localstorage = function () {
  try {
  return localStorage.setItem(h, h), localStorage.removeItem(h), !0
  } catch (a) {
  return!1
  }
  }, s.sessionstorage = function () {
  try {
  return sessionStorage.setItem(h, h), sessionStorage.removeItem(h), !0
  } catch (a) {
  return!1
  }
  }, s.webworkers = function () {
  return!!a.Worker
  }, s.applicationcache = function () {
  return!!a.applicationCache
  }, s.svg = function () {
  return!!b.createElementNS && !!b.createElementNS(r.svg, "svg").createSVGRect
  }, s.inlinesvg = function () {
  var a = b.createElement("div");
  return a.innerHTML = "<svg/>", (a.firstChild && a.firstChild.namespaceURI) == r.svg
  }, s.smil = function () {
  return!!b.createElementNS && /SVGAnimate/.test(m.call(b.createElementNS(r.svg, "animate")))
  }, s.svgclippaths = function () {
  return!!b.createElementNS && /SVGClipPath/.test(m.call(b.createElementNS(r.svg, "clipPath")))
  };
  for (var L in s)C(s, L) && (x = L.toLowerCase(), e[x] = s[L](), v.push((e[x] ? "" : "no-") + x));
  return e.input || K(), e.addTest = function (a, b) {
  if (typeof a == "object")for (var d in a)C(a, d) && e.addTest(d, a[d]); else {
  a = a.toLowerCase();
  if (e[a] !== c)return e;
  b = typeof b == "function" ? b() : b, f && (g.className += " " + (b ? "" : "no-") + a), e[a] = b
  }
  return e
  }, D(""), i = k = null, function (a, b) {
  function k(a, b) {
  var c = a.createElement("p"), d = a.getElementsByTagName("head")[0] || a.documentElement;
  return c.innerHTML = "x<style>" + b + "</style>", d.insertBefore(c.lastChild, d.firstChild)
  }
   
  function l() {
  var a = r.elements;
  return typeof a == "string" ? a.split(" ") : a
  }
   
  function m(a) {
  var b = i[a[g]];
  return b || (b = {}, h++, a[g] = h, i[h] = b), b
  }
   
  function n(a, c, f) {
  c || (c = b);
  if (j)return c.createElement(a);
  f || (f = m(c));
  var g;
  return f.cache[a] ? g = f.cache[a].cloneNode() : e.test(a) ? g = (f.cache[a] = f.createElem(a)).cloneNode() : g = f.createElem(a), g.canHaveChildren && !d.test(a) ? f.frag.appendChild(g) : g
  }
   
  function o(a, c) {
  a || (a = b);
  if (j)return a.createDocumentFragment();
  c = c || m(a);
  var d = c.frag.cloneNode(), e = 0, f = l(), g = f.length;
  for (; e < g; e++)d.createElement(f[e]);
  return d
  }
   
  function p(a, b) {
  b.cache || (b.cache = {}, b.createElem = a.createElement, b.createFrag = a.createDocumentFragment, b.frag = b.createFrag()), a.createElement = function (c) {
  return r.shivMethods ? n(c, a, b) : b.createElem(c)
  }, a.createDocumentFragment = Function("h,f", "return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(" + l().join().replace(/\w+/g, function (a) {
  return b.createElem(a), b.frag.createElement(a), 'c("' + a + '")'
  }) + ");return n}")(r, b.frag)
  }
   
  function q(a) {
  a || (a = b);
  var c = m(a);
  return r.shivCSS && !f && !c.hasCSS && (c.hasCSS = !!k(a, "article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")), j || p(a, c), a
  }
   
  var c = a.html5 || {}, d = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i, e = /^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i, f, g = "_html5shiv", h = 0, i = {}, j;
  (function () {
  try {
  var a = b.createElement("a");
  a.innerHTML = "<xyz></xyz>", f = "hidden"in a, j = a.childNodes.length == 1 || function () {
  b.createElement("a");
  var a = b.createDocumentFragment();
  return typeof a.cloneNode == "undefined" || typeof a.createDocumentFragment == "undefined" || typeof a.createElement == "undefined"
  }()
  } catch (c) {
  f = !0, j = !0
  }
  })();
  var r = {elements: c.elements || "abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video", shivCSS: c.shivCSS !== !1, supportsUnknownElements: j, shivMethods: c.shivMethods !== !1, type: "default", shivDocument: q, createElement: n, createDocumentFragment: o};
  a.html5 = r, q(b)
  }(this, b), e._version = d, e._prefixes = n, e._domPrefixes = q, e._cssomPrefixes = p, e.mq = z, e.hasEvent = A, e.testProp = function (a) {
  return H([a])
  }, e.testAllProps = J, e.testStyles = y, e.prefixed = function (a, b, c) {
  return b ? J(a, b, c) : J(a, "pfx")
  }, g.className = g.className.replace(/(^|\s)no-js(\s|$)/, "$1$2") + (f ? " js " + v.join(" ") : ""), e
  }(this, this.document), function (a, b, c) {
  function d(a) {
  return o.call(a) == "[object Function]"
  }
   
  function e(a) {
  return typeof a == "string"
  }
   
  function f() {
  }
   
  function g(a) {
  return!a || a == "loaded" || a == "complete" || a == "uninitialized"
  }
   
  function h() {
  var a = p.shift();
  q = 1, a ? a.t ? m(function () {
  (a.t == "c" ? B.injectCss : B.injectJs)(a.s, 0, a.a, a.x, a.e, 1)
  }, 0) : (a(), h()) : q = 0
  }
   
  function i(a, c, d, e, f, i, j) {
  function k(b) {
  if (!o && g(l.readyState) && (u.r = o = 1, !q && h(), l.onload = l.onreadystatechange = null, b)) {
  a != "img" && m(function () {
  t.removeChild(l)
  }, 50);
  for (var d in y[c])y[c].hasOwnProperty(d) && y[c][d].onload()
  }
  }
   
  var j = j || B.errorTimeout, l = {}, o = 0, r = 0, u = {t: d, s: c, e: f, a: i, x: j};
  y[c] === 1 && (r = 1, y[c] = [], l = b.createElement(a)), a == "object" ? l.data = c : (l.src = c, l.type = a), l.width = l.height = "0", l.onerror = l.onload = l.onreadystatechange = function () {
  k.call(this, r)
  }, p.splice(e, 0, u), a != "img" && (r || y[c] === 2 ? (t.insertBefore(l, s ? null : n), m(k, j)) : y[c].push(l))
  }
   
  function j(a, b, c, d, f) {
  return q = 0, b = b || "j", e(a) ? i(b == "c" ? v : u, a, b, this.i++, c, d, f) : (p.splice(this.i++, 0, a), p.length == 1 && h()), this
  }
   
  function k() {
  var a = B;
  return a.loader = {load: j, i: 0}, a
  }
   
  var l = b.documentElement, m = a.setTimeout, n = b.getElementsByTagName("script")[0], o = {}.toString, p = [], q = 0, r = "MozAppearance"in l.style, s = r && !!b.createRange().compareNode, t = s ? l : n.parentNode, l = a.opera && o.call(a.opera) == "[object Opera]", l = !!b.attachEvent && !l, u = r ? "object" : l ? "script" : "img", v = l ? "script" : u, w = Array.isArray || function (a) {
  return o.call(a) == "[object Array]"
  }, x = [], y = {}, z = {timeout: function (a, b) {
  return b.length && (a.timeout = b[0]), a
  }}, A, B;
  B = function (a) {
  function b(a) {
  var a = a.split("!"), b = x.length, c = a.pop(), d = a.length, c = {url: c, origUrl: c, prefixes: a}, e, f, g;
  for (f = 0; f < d; f++)g = a[f].split("="), (e = z[g.shift()]) && (c = e(c, g));
  for (f = 0; f < b; f++)c = x[f](c);
  return c
  }
   
  function g(a, e, f, g, i) {
  var j = b(a), l = j.autoCallback;
  j.url.split(".").pop().split("?").shift(), j.bypass || (e && (e = d(e) ? e : e[a] || e[g] || e[a.split("/").pop().split("?")[0]] || h), j.instead ? j.instead(a, e, f, g, i) : (y[j.url] ? j.noexec = !0 : y[j.url] = 1, f.load(j.url, j.forceCSS || !j.forceJS && "css" == j.url.split(".").pop().split("?").shift() ? "c" : c, j.noexec, j.attrs, j.timeout), (d(e) || d(l)) && f.load(function () {
  k(), e && e(j.origUrl, i, g), l && l(j.origUrl, i, g), y[j.url] = 2
  })))
  }
   
  function i(a, b) {
  function c(a, c) {
  if (a) {
  if (e(a))c || (j = function () {
  var a = [].slice.call(arguments);
  k.apply(this, a), l()
  }), g(a, j, b, 0, h); else if (Object(a) === a)for (n in m = function () {
  var b = 0, c;
  for (c in a)a.hasOwnProperty(c) && b++;
  return b
  }(), a)a.hasOwnProperty(n) && (!c && !--m && (d(j) ? j = function () {
  var a = [].slice.call(arguments);
  k.apply(this, a), l()
  } : j[n] = function (a) {
  return function () {
  var b = [].slice.call(arguments);
  a && a.apply(this, b), l()
  }
  }(k[n])), g(a[n], j, b, n, h))
  } else!c && l()
  }
   
  var h = !!a.test, i = a.load || a.both, j = a.callback || f, k = j, l = a.complete || f, m, n;
  c(h ? a.yep : a.nope, !!i), i && c(i)
  }
   
  var j, l, m = this.yepnope.loader;
  if (e(a))g(a, 0, m, 0); else if (w(a))for (j = 0; j < a.length; j++)l = a[j], e(l) ? g(l, 0, m, 0) : w(l) ? B(l) : Object(l) === l && i(l, m); else Object(a) === a && i(a, m)
  }, B.addPrefix = function (a, b) {
  z[a] = b
  }, B.addFilter = function (a) {
  x.push(a)
  }, B.errorTimeout = 1e4, b.readyState == null && b.addEventListener && (b.readyState = "loading", b.addEventListener("DOMContentLoaded", A = function () {
  b.removeEventListener("DOMContentLoaded", A, 0), b.readyState = "complete"
  }, 0)), a.yepnope = k(), a.yepnope.executeStack = h, a.yepnope.injectJs = function (a, c, d, e, i, j) {
  var k = b.createElement("script"), l, o, e = e || B.errorTimeout;
  k.src = a;
  for (o in d)k.setAttribute(o, d[o]);
  c = j ? h : c || f, k.onreadystatechange = k.onload = function () {
  !l && g(k.readyState) && (l = 1, c(), k.onload = k.onreadystatechange = null)
  }, m(function () {
  l || (l = 1, c(1))
  }, e), i ? k.onload() : n.parentNode.insertBefore(k, n)
  }, a.yepnope.injectCss = function (a, c, d, e, g, i) {
  var e = b.createElement("link"), j, c = i ? h : c || f;
  e.href = a, e.rel = "stylesheet", e.type = "text/css";
  for (j in d)e.setAttribute(j, d[j]);
  g || (n.parentNode.insertBefore(e, n), m(c, 0))
  }
  }(this, document), Modernizr.load = function () {
  yepnope.apply(window, [].slice.call(arguments, 0))
  };
   
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://www.netbeans.org/ns/project/1"> <?xml version="1.0" encoding="UTF-8"?>
  <project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.php.project</type> <type>org.netbeans.modules.php.project</type>
<configuration> <configuration>
<data xmlns="http://www.netbeans.org/ns/php-project/1"> <data xmlns="http://www.netbeans.org/ns/php-project/1">
<name>scannr</name> <name>scannr</name>
</data> </data>
</configuration> </configuration>
</project> </project>
file:a/output.txt (deleted)
Opening serial port...  
Loading notifymyandroid...  
Connecting database...  
Scannr started.  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104431  
Worker for 2012-10-12-1350001603.48-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 208862 frames written to 2012-10-12-1350001603.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
539716  
Worker for 2012-10-12-1350001607.25-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350001607.25-demo.wav has no TGID  
done - result 1079432 frames written to 2012-10-12-1350001607.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350001620.32-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350001620.32-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350001620.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104922  
Worker for 2012-10-12-1350001629.82-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 209844 frames written to 2012-10-12-1350001629.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
146619  
Worker for 2012-10-12-1350001633.44-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 293238 frames written to 2012-10-12-1350001633.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
249924  
Worker for 2012-10-12-1350001637.17-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 499848 frames written to 2012-10-12-1350001637.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1676614  
Worker for 2012-10-12-1350001643.71-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350001643.71-demo.wav has no TGID  
done - result 3353228 frames written to 2012-10-12-1350001643.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103409  
Worker for 2012-10-12-1350001687.19-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350001687.19-demo.wav has no TGID  
done - result 206818 frames written to 2012-10-12-1350001687.19-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350001690.07-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350001690.07-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350001690.07-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75976  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
124189  
Worker for 2012-10-12-1350001790.54-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 248378 frames written to 2012-10-12-1350001790.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
585796  
Worker for 2012-10-12-1350001795.16-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350001795.16-demo.wav has no TGID  
done - result 1171592 frames written to 2012-10-12-1350001795.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350001809.26-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350001809.26-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350001809.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350001811.92-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350001811.92-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350001811.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104600  
Worker for 2012-10-12-1350001858.18-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 209200 frames written to 2012-10-12-1350001858.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75423  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
634948  
Worker for 2012-10-12-1350001864.05-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350001864.05-demo.wav has no TGID  
done - result 1269896 frames written to 2012-10-12-1350001864.05-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350001879.27-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350001879.27-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350001879.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
119601  
Worker for 2012-10-12-1350001941.43-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 239202 frames written to 2012-10-12-1350001941.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
125808  
Worker for 2012-10-12-1350001945.62-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 251616 frames written to 2012-10-12-1350001945.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1544360  
Worker for 2012-10-12-1350001948.95-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350001948.95-demo.wav has no TGID  
done - result 3088720 frames written to 2012-10-12-1350001948.95-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350001990.55-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350001990.55-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350001990.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
129707  
Worker for 2012-10-12-1350002030.02-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 259414 frames written to 2012-10-12-1350002030.02-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
141380  
Worker for 2012-10-12-1350002033.49-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 282760 frames written to 2012-10-12-1350002033.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
943172  
Worker for 2012-10-12-1350002037.23-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1886344 frames written to 2012-10-12-1350002037.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
787524  
Worker for 2012-10-12-1350002060.63-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002060.63-demo.wav has no TGID  
done - result 1575048 frames written to 2012-10-12-1350002060.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350002079.66-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002079.66-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350002079.66-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
186054  
Worker for 2012-10-12-1350002102.47-demo.wav  
GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 372108 frames written to 2012-10-12-1350002102.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
74889  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
640068  
Worker for 2012-10-12-1350002108.8-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002108.8-demo.wav has no TGID  
done - result 1280136 frames written to 2012-10-12-1350002108.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350002124.31-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002124.31-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350002124.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350002126.91-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002126.91-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350002126.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
164504  
Worker for 2012-10-12-1350002133.88-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 329008 frames written to 2012-10-12-1350002133.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75598  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
334916  
Worker for 2012-10-12-1350002139.31-demo.wav  
GLG,40068,NFM,0,0,CanberraMtAinsli,AustralianCapita,RFS Ops 1,1,0,NONE,NONE,NONE  
done - result 669832 frames written to 2012-10-12-1350002139.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
685124  
Worker for 2012-10-12-1350002148.33-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002148.33-demo.wav has no TGID  
done - result 1370248 frames written to 2012-10-12-1350002148.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350002164.92-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002164.92-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350002164.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350002167.48-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002167.48-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350002167.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97750  
Worker for 2012-10-12-1350002176.08-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002176.08-demo.wav has no TGID  
done - result 195500 frames written to 2012-10-12-1350002176.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350002178.72-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002178.72-demo.wav has no TGID  
done - result 209032 frames written to 2012-10-12-1350002178.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
95300  
Worker for 2012-10-12-1350002181.35-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002181.35-demo.wav has no TGID  
done - result 190600 frames written to 2012-10-12-1350002181.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350002183.84-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 209032 frames written to 2012-10-12-1350002183.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
210368  
Worker for 2012-10-12-1350002187.39-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 420736 frames written to 2012-10-12-1350002187.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2772036  
Worker for 2012-10-12-1350002192.83-demo.wav  
GLG,44010,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44010,1,0,NONE,NONE,NONE  
done - result 5544072 frames written to 2012-10-12-1350002192.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
94276  
Worker for 2012-10-12-1350002259.17-demo.wav  
GLG,44010,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44010,1,0,NONE,NONE,NONE  
done - result 188552 frames written to 2012-10-12-1350002259.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
751684  
Worker for 2012-10-12-1350002262.3-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002262.3-demo.wav has no TGID  
done - result 1503368 frames written to 2012-10-12-1350002262.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350002280.47-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002280.47-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350002280.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105189  
Worker for 2012-10-12-1350002314.42-demo.wav  
GLG,40068,NFM,0,0,CanberraBlackMnt,AustralianCapita,RFS Ops 1,1,0,NONE,NONE,NONE  
done - result 210378 frames written to 2012-10-12-1350002314.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
532548  
Worker for 2012-10-12-1350002318.25-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002318.25-demo.wav has no TGID  
done - result 1065096 frames written to 2012-10-12-1350002318.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350002331.2-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002331.2-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350002331.2-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350002333.8-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002333.8-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350002333.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
161666  
Worker for 2012-10-12-1350002377.18-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 323332 frames written to 2012-10-12-1350002377.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
659524  
Worker for 2012-10-12-1350002382.98-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002382.98-demo.wav has no TGID  
done - result 1319048 frames written to 2012-10-12-1350002382.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105540  
Worker for 2012-10-12-1350002399.17-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002399.17-demo.wav has no TGID  
done - result 211080 frames written to 2012-10-12-1350002399.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
277168  
Worker for 2012-10-12-1350002471.86-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 554336 frames written to 2012-10-12-1350002471.86-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
703556  
Worker for 2012-10-12-1350002479.47-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002479.47-demo.wav has no TGID  
done - result 1407112 frames written to 2012-10-12-1350002479.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350002496.48-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002496.48-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350002496.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350002499.01-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002499.01-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350002499.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104391  
Worker for 2012-10-12-1350002606.55-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 208782 frames written to 2012-10-12-1350002606.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
596036  
Worker for 2012-10-12-1350002611.05-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002611.05-demo.wav has no TGID  
done - result 1192072 frames written to 2012-10-12-1350002611.05-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350002625.39-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002625.39-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350002625.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
112989  
Worker for 2012-10-12-1350002813.38-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 225978 frames written to 2012-10-12-1350002813.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
474382  
Worker for 2012-10-12-1350002817.13-demo.wav  
GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 948764 frames written to 2012-10-12-1350002817.13-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
713544  
Worker for 2012-10-12-1350002829.48-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1427088 frames written to 2012-10-12-1350002829.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
220927  
Worker for 2012-10-12-1350002847.43-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 441854 frames written to 2012-10-12-1350002847.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
256911  
Worker for 2012-10-12-1350002854.14-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 513822 frames written to 2012-10-12-1350002854.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
382787  
Worker for 2012-10-12-1350002861.19-demo.wav  
GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 765574 frames written to 2012-10-12-1350002861.19-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
156699  
Worker for 2012-10-12-1350002870.78-demo.wav  
GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 313398 frames written to 2012-10-12-1350002870.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
603315  
Worker for 2012-10-12-1350002874.82-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002874.82-demo.wav has no TGID  
done - result 1206630 frames written to 2012-10-12-1350002874.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350002894.1-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002894.1-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350002894.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350002896.75-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002896.75-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350002896.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
118975  
Worker for 2012-10-12-1350002901.2-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 237950 frames written to 2012-10-12-1350002901.2-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
160836  
Worker for 2012-10-12-1350002904.27-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 321672 frames written to 2012-10-12-1350002904.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
189508  
Worker for 2012-10-12-1350002910.45-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 379016 frames written to 2012-10-12-1350002910.45-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1001540  
Worker for 2012-10-12-1350002915.23-demo.wav  
GLG,44010,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44010,1,0,NONE,NONE,NONE  
done - result 2003080 frames written to 2012-10-12-1350002915.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
222273  
Worker for 2012-10-12-1350002939.38-demo.wav  
GLG,44010,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44010,1,1,NONE,NONE,NONE  
done - result 444546 frames written to 2012-10-12-1350002939.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
714684  
Worker for 2012-10-12-1350002945.47-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002945.47-demo.wav has no TGID  
done - result 1429368 frames written to 2012-10-12-1350002945.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350002962.75-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002962.75-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350002962.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350002965.7-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350002965.7-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350002965.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
181887  
Worker for 2012-10-12-1350002985.98-demo.wav  
GLG,40078,NFM,0,0,CanberraMtAinsli,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 363774 frames written to 2012-10-12-1350002985.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
228145  
Worker for 2012-10-12-1350002992.23-demo.wav  
GLG,40078,NFM,0,0,CanberraMtAinsli,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 456290 frames written to 2012-10-12-1350002992.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
212036  
Worker for 2012-10-12-1350002998.49-demo.wav  
GLG,40078,NFM,0,0,CanberraMtAinsli,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 424072 frames written to 2012-10-12-1350002998.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
215090  
Worker for 2012-10-12-1350003004.47-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350003004.47-demo.wav has no TGID  
done - result 430180 frames written to 2012-10-12-1350003004.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
702526  
Worker for 2012-10-12-1350003009.83-demo.wav  
GLG,40083,NFM,0,0,CanberraMtAinsli,AustralianCapita,SES Ops 6,1,0,NONE,NONE,NONE  
done - result 1405052 frames written to 2012-10-12-1350003009.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1322052  
Worker for 2012-10-12-1350003027.34-demo.wav  
GLG,40083,NFM,0,0,CanberraMtAinsli,AustralianCapita,SES Ops 6,1,0,NONE,NONE,NONE  
done - result 2644104 frames written to 2012-10-12-1350003027.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
530794  
Worker for 2012-10-12-1350003059.62-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350003059.62-demo.wav has no TGID  
done - result 1061588 frames written to 2012-10-12-1350003059.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
470084  
Worker for 2012-10-12-1350003073.39-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350003073.39-demo.wav has no TGID  
done - result 940168 frames written to 2012-10-12-1350003073.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350003084.74-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350003084.74-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350003084.74-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
203860  
Worker for 2012-10-12-1350003311.38-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 407720 frames written to 2012-10-12-1350003311.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
155716  
Worker for 2012-10-12-1350003316.69-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 311432 frames written to 2012-10-12-1350003316.69-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1326148  
Worker for 2012-10-12-1350003320.67-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 2652296 frames written to 2012-10-12-1350003320.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
267313  
Worker for 2012-10-12-1350003353.38-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 534626 frames written to 2012-10-12-1350003353.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
184388  
Worker for 2012-10-12-1350003361.2-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 368776 frames written to 2012-10-12-1350003361.2-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
331844  
Worker for 2012-10-12-1350003366.53-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 663688 frames written to 2012-10-12-1350003366.53-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
199748  
Worker for 2012-10-12-1350003376.05-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 399496 frames written to 2012-10-12-1350003376.05-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
127983  
Worker for 2012-10-12-1350003381.63-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 255966 frames written to 2012-10-12-1350003381.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1385536  
Worker for 2012-10-12-1350003385.26-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 2771072 frames written to 2012-10-12-1350003385.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
110269  
Worker for 2012-10-12-1350003419.17-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 220538 frames written to 2012-10-12-1350003419.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
304882  
Worker for 2012-10-12-1350003422.64-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 609764 frames written to 2012-10-12-1350003422.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
979868  
Worker for 2012-10-12-1350003430.26-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350003430.26-demo.wav has no TGID  
done - result 1959736 frames written to 2012-10-12-1350003430.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
107588  
Worker for 2012-10-12-1350003457.26-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350003457.26-demo.wav has no TGID  
done - result 215176 frames written to 2012-10-12-1350003457.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350003459.92-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350003459.92-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350003459.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350003462.19-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350003462.19-demo.wav has no TGID  
done - result 186504 frames written to 2012-10-12-1350003462.19-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
81988  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
61141  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
124822  
Worker for 2012-10-12-1350003884.8-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 249644 frames written to 2012-10-12-1350003884.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76644  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
576580  
Worker for 2012-10-12-1350003889.22-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350003889.22-demo.wav has no TGID  
done - result 1153160 frames written to 2012-10-12-1350003889.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350003903.24-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350003903.24-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350003903.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
173321  
Worker for 2012-10-12-1350003950.57-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 346642 frames written to 2012-10-12-1350003950.57-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
237636  
Worker for 2012-10-12-1350003955.31-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 475272 frames written to 2012-10-12-1350003955.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
137284  
Worker for 2012-10-12-1350003963.39-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 274568 frames written to 2012-10-12-1350003963.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
260164  
Worker for 2012-10-12-1350003967.09-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 520328 frames written to 2012-10-12-1350003967.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
294517  
Worker for 2012-10-12-1350003974.21-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 589034 frames written to 2012-10-12-1350003974.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
305220  
Worker for 2012-10-12-1350003981.71-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 610440 frames written to 2012-10-12-1350003981.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
108612  
Worker for 2012-10-12-1350003989.26-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 217224 frames written to 2012-10-12-1350003989.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
141373  
Worker for 2012-10-12-1350003992.46-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 282746 frames written to 2012-10-12-1350003992.46-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
79940  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
763670  
Worker for 2012-10-12-1350003999.38-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350003999.38-demo.wav has no TGID  
done - result 1527340 frames written to 2012-10-12-1350003999.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350004017.85-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004017.85-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350004017.85-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
155785  
Worker for 2012-10-12-1350004056.08-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 311570 frames written to 2012-10-12-1350004056.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
487073  
Worker for 2012-10-12-1350004061.42-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 974146 frames written to 2012-10-12-1350004061.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
194628  
Worker for 2012-10-12-1350004073.32-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 389256 frames written to 2012-10-12-1350004073.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
409668  
Worker for 2012-10-12-1350004078.29-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004078.29-demo.wav has no TGID  
done - result 819336 frames written to 2012-10-12-1350004078.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
234564  
Worker for 2012-10-12-1350004088.31-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 469128 frames written to 2012-10-12-1350004088.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
603094  
Worker for 2012-10-12-1350004094.33-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004094.33-demo.wav has no TGID  
done - result 1206188 frames written to 2012-10-12-1350004094.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350004112.57-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004112.57-demo.wav has no TGID  
done - result 209032 frames written to 2012-10-12-1350004112.57-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350004115.5-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004115.5-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350004115.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
112814  
Worker for 2012-10-12-1350004175.23-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 225628 frames written to 2012-10-12-1350004175.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105540  
Worker for 2012-10-12-1350004178.33-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 211080 frames written to 2012-10-12-1350004178.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
419646  
Worker for 2012-10-12-1350004181.13-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 839292 frames written to 2012-10-12-1350004181.13-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1174171  
Worker for 2012-10-12-1350004191.51-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004191.51-demo.wav has no TGID  
done - result 2348342 frames written to 2012-10-12-1350004191.51-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350004224.08-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004224.08-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350004224.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350004226.72-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004226.72-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350004226.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
172049  
Worker for 2012-10-12-1350004247.0-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 344098 frames written to 2012-10-12-1350004247.0-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75288  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
592919  
Worker for 2012-10-12-1350004253.28-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1185838 frames written to 2012-10-12-1350004253.28-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1015458  
Worker for 2012-10-12-1350004267.74-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004267.74-demo.wav has no TGID  
done - result 2030916 frames written to 2012-10-12-1350004267.74-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
117828  
Worker for 2012-10-12-1350004292.19-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 235656 frames written to 2012-10-12-1350004292.19-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
203907  
Worker for 2012-10-12-1350004295.95-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 407814 frames written to 2012-10-12-1350004295.95-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
683003  
Worker for 2012-10-12-1350004301.78-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 1366006 frames written to 2012-10-12-1350004301.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350004318.32-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 209032 frames written to 2012-10-12-1350004318.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
641092  
Worker for 2012-10-12-1350004321.76-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004321.76-demo.wav has no TGID  
done - result 1282184 frames written to 2012-10-12-1350004321.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350004337.33-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004337.33-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350004337.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350004339.94-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004339.94-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350004339.94-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
205636  
Worker for 2012-10-12-1350004343.77-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 411272 frames written to 2012-10-12-1350004343.77-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350004348.83-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 198792 frames written to 2012-10-12-1350004348.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
522308  
Worker for 2012-10-12-1350004354.52-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004354.52-demo.wav has no TGID  
done - result 1044616 frames written to 2012-10-12-1350004354.52-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
528474  
Worker for 2012-10-12-1350004367.24-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004367.24-demo.wav has no TGID  
done - result 1056948 frames written to 2012-10-12-1350004367.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350004385.35-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004385.35-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350004385.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
289385  
Worker for 2012-10-12-1350004428.28-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 578770 frames written to 2012-10-12-1350004428.28-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
220216  
Worker for 2012-10-12-1350004435.33-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 440432 frames written to 2012-10-12-1350004435.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
515436  
Worker for 2012-10-12-1350004442.38-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 1030872 frames written to 2012-10-12-1350004442.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
131140  
Worker for 2012-10-12-1350004454.96-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 262280 frames written to 2012-10-12-1350004454.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
309316  
Worker for 2012-10-12-1350004458.74-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 618632 frames written to 2012-10-12-1350004458.74-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
115780  
Worker for 2012-10-12-1350004467.58-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 231560 frames written to 2012-10-12-1350004467.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
232516  
Worker for 2012-10-12-1350004472.07-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 465032 frames written to 2012-10-12-1350004472.07-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
123972  
Worker for 2012-10-12-1350004478.68-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 247944 frames written to 2012-10-12-1350004478.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1652804  
Worker for 2012-10-12-1350004482.16-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004482.16-demo.wav has no TGID  
done - result 3305608 frames written to 2012-10-12-1350004482.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
123972  
Worker for 2012-10-12-1350004521.92-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 247944 frames written to 2012-10-12-1350004521.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
664644  
Worker for 2012-10-12-1350004526.31-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 1329288 frames written to 2012-10-12-1350004526.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
241702  
Worker for 2012-10-12-1350004542.36-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 483404 frames written to 2012-10-12-1350004542.36-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
200707  
Worker for 2012-10-12-1350004549.76-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 401414 frames written to 2012-10-12-1350004549.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2696911  
Worker for 2012-10-12-1350004554.81-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004554.81-demo.wav has no TGID  
done - result 5393822 frames written to 2012-10-12-1350004554.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103285  
Worker for 2012-10-12-1350004622.62-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004622.62-demo.wav has no TGID  
done - result 206570 frames written to 2012-10-12-1350004622.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350004625.49-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004625.49-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350004625.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
132700  
Worker for 2012-10-12-1350004684.22-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 265400 frames written to 2012-10-12-1350004684.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76375  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
384068  
Worker for 2012-10-12-1350004689.16-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 768136 frames written to 2012-10-12-1350004689.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
236612  
Worker for 2012-10-12-1350004699.36-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 473224 frames written to 2012-10-12-1350004699.36-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1338436  
Worker for 2012-10-12-1350004705.59-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004705.59-demo.wav has no TGID  
done - result 2676872 frames written to 2012-10-12-1350004705.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
489862  
Worker for 2012-10-12-1350004737.71-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004737.71-demo.wav has no TGID  
done - result 979724 frames written to 2012-10-12-1350004737.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
153668  
Worker for 2012-10-12-1350004755.17-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 307336 frames written to 2012-10-12-1350004755.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
384562  
Worker for 2012-10-12-1350004760.18-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 769124 frames written to 2012-10-12-1350004760.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105540  
Worker for 2012-10-12-1350004769.62-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 211080 frames written to 2012-10-12-1350004769.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1716116  
Worker for 2012-10-12-1350004773.18-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 3432232 frames written to 2012-10-12-1350004773.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1743170  
Worker for 2012-10-12-1350004814.7-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004814.7-demo.wav has no TGID  
done - result 3486340 frames written to 2012-10-12-1350004814.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102349  
Worker for 2012-10-12-1350004861.25-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004861.25-demo.wav has no TGID  
done - result 204698 frames written to 2012-10-12-1350004861.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
107229  
Worker for 2012-10-12-1350004922.22-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 214458 frames written to 2012-10-12-1350004922.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
114756  
Worker for 2012-10-12-1350004928.13-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 229512 frames written to 2012-10-12-1350004928.13-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
270404  
Worker for 2012-10-12-1350004931.17-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 540808 frames written to 2012-10-12-1350004931.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
806620  
Worker for 2012-10-12-1350004938.55-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004938.55-demo.wav has no TGID  
done - result 1613240 frames written to 2012-10-12-1350004938.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
95300  
Worker for 2012-10-12-1350004957.93-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004957.93-demo.wav has no TGID  
done - result 190600 frames written to 2012-10-12-1350004957.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106662  
Worker for 2012-10-12-1350004964.82-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 213324 frames written to 2012-10-12-1350004964.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75154  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
640068  
Worker for 2012-10-12-1350004970.82-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004970.82-demo.wav has no TGID  
done - result 1280136 frames written to 2012-10-12-1350004970.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350004986.3-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004986.3-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350004986.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350004988.9-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350004988.9-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350004988.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105946  
Worker for 2012-10-12-1350005001.05-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 211892 frames written to 2012-10-12-1350005001.05-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
170052  
Worker for 2012-10-12-1350005003.96-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 340104 frames written to 2012-10-12-1350005003.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76868  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106564  
Worker for 2012-10-12-1350005012.37-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 213128 frames written to 2012-10-12-1350005012.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1860570  
Worker for 2012-10-12-1350005015.27-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005015.27-demo.wav has no TGID  
done - result 3721140 frames written to 2012-10-12-1350005015.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105539  
Worker for 2012-10-12-1350005064.54-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005064.54-demo.wav has no TGID  
done - result 211078 frames written to 2012-10-12-1350005064.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
194025  
Worker for 2012-10-12-1350005118.04-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 388050 frames written to 2012-10-12-1350005118.04-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
355396  
Worker for 2012-10-12-1350005124.06-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 710792 frames written to 2012-10-12-1350005124.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
470084  
Worker for 2012-10-12-1350005132.8-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 940168 frames written to 2012-10-12-1350005132.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
352312  
Worker for 2012-10-12-1350005144.79-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 704624 frames written to 2012-10-12-1350005144.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
139331  
Worker for 2012-10-12-1350005154.87-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 278662 frames written to 2012-10-12-1350005154.87-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
149429  
Worker for 2012-10-12-1350005160.19-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 298858 frames written to 2012-10-12-1350005160.19-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
109634  
Worker for 2012-10-12-1350005163.87-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 219268 frames written to 2012-10-12-1350005163.87-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
79940  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1417281  
Worker for 2012-10-12-1350005168.89-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005168.89-demo.wav has no TGID  
done - result 2834562 frames written to 2012-10-12-1350005168.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
727108  
Worker for 2012-10-12-1350005202.89-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005202.89-demo.wav has no TGID  
done - result 1454216 frames written to 2012-10-12-1350005202.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350005220.5-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005220.5-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350005220.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350005223.08-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005223.08-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350005223.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106338  
Worker for 2012-10-12-1350005268.48-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 212676 frames written to 2012-10-12-1350005268.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76291  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
424004  
Worker for 2012-10-12-1350005273.18-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 848008 frames written to 2012-10-12-1350005273.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
320580  
Worker for 2012-10-12-1350005283.75-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 641160 frames written to 2012-10-12-1350005283.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
588868  
Worker for 2012-10-12-1350005291.93-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005291.93-demo.wav has no TGID  
done - result 1177736 frames written to 2012-10-12-1350005291.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
534506  
Worker for 2012-10-12-1350005306.16-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005306.16-demo.wav has no TGID  
done - result 1069012 frames written to 2012-10-12-1350005306.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350005324.03-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005324.03-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350005324.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350005326.63-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005326.63-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350005326.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
151256  
Worker for 2012-10-12-1350005337.27-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 302512 frames written to 2012-10-12-1350005337.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
685937  
Worker for 2012-10-12-1350005344.35-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1371874 frames written to 2012-10-12-1350005344.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
173124  
Worker for 2012-10-12-1350005360.99-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 346248 frames written to 2012-10-12-1350005360.99-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
267332  
Worker for 2012-10-12-1350005365.3-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 534664 frames written to 2012-10-12-1350005365.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
869444  
Worker for 2012-10-12-1350005371.9-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1738888 frames written to 2012-10-12-1350005371.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
776260  
Worker for 2012-10-12-1350005393.55-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005393.55-demo.wav has no TGID  
done - result 1552520 frames written to 2012-10-12-1350005393.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350005412.3-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005412.3-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350005412.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
302423  
Worker for 2012-10-12-1350005461.61-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 604846 frames written to 2012-10-12-1350005461.61-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
708676  
Worker for 2012-10-12-1350005469.95-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005469.95-demo.wav has no TGID  
done - result 1417352 frames written to 2012-10-12-1350005469.95-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350005487.08-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005487.08-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350005487.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350005489.66-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005489.66-demo.wav has no TGID  
done - result 186504 frames written to 2012-10-12-1350005489.66-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
228761  
Worker for 2012-10-12-1350005591.37-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 457522 frames written to 2012-10-12-1350005591.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
74644  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
326724  
Worker for 2012-10-12-1350005598.31-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 653448 frames written to 2012-10-12-1350005598.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
202820  
Worker for 2012-10-12-1350005606.57-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 405640 frames written to 2012-10-12-1350005606.57-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
231492  
Worker for 2012-10-12-1350005612.06-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 462984 frames written to 2012-10-12-1350005612.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
254013  
Worker for 2012-10-12-1350005618.25-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 508026 frames written to 2012-10-12-1350005618.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
144452  
Worker for 2012-10-12-1350005624.72-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 288904 frames written to 2012-10-12-1350005624.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
225581  
Worker for 2012-10-12-1350005629.32-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 451162 frames written to 2012-10-12-1350005629.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96321  
Worker for 2012-10-12-1350005634.92-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 192642 frames written to 2012-10-12-1350005634.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
342084  
Worker for 2012-10-12-1350005637.69-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 684168 frames written to 2012-10-12-1350005637.69-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
170052  
Worker for 2012-10-12-1350005647.82-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 340104 frames written to 2012-10-12-1350005647.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
207940  
Worker for 2012-10-12-1350005652.13-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 415880 frames written to 2012-10-12-1350005652.13-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
185412  
Worker for 2012-10-12-1350005658.03-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 370824 frames written to 2012-10-12-1350005658.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
608324  
Worker for 2012-10-12-1350005663.88-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1216648 frames written to 2012-10-12-1350005663.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
108612  
Worker for 2012-10-12-1350005678.58-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 217224 frames written to 2012-10-12-1350005678.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
218180  
Worker for 2012-10-12-1350005681.36-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 436360 frames written to 2012-10-12-1350005681.36-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
244462  
Worker for 2012-10-12-1350005686.71-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 488924 frames written to 2012-10-12-1350005686.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
691254  
Worker for 2012-10-12-1350005692.82-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1382508 frames written to 2012-10-12-1350005692.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350005709.58-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 204936 frames written to 2012-10-12-1350005709.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
147524  
Worker for 2012-10-12-1350005713.04-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 295048 frames written to 2012-10-12-1350005713.04-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
129061  
Worker for 2012-10-12-1350005717.44-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 258122 frames written to 2012-10-12-1350005717.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
361540  
Worker for 2012-10-12-1350005720.84-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005720.84-demo.wav has no TGID  
done - result 723080 frames written to 2012-10-12-1350005720.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
699460  
Worker for 2012-10-12-1350005729.68-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1398920 frames written to 2012-10-12-1350005729.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
115780  
Worker for 2012-10-12-1350005746.54-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 231560 frames written to 2012-10-12-1350005746.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76868  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
115780  
Worker for 2012-10-12-1350005751.33-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 231560 frames written to 2012-10-12-1350005751.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
473156  
Worker for 2012-10-12-1350005754.95-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005754.95-demo.wav has no TGID  
done - result 946312 frames written to 2012-10-12-1350005754.95-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
772164  
Worker for 2012-10-12-1350005766.46-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005766.46-demo.wav has no TGID  
done - result 1544328 frames written to 2012-10-12-1350005766.46-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350005785.0-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005785.0-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350005785.0-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350005787.56-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005787.56-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350005787.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
82903  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
155380  
Worker for 2012-10-12-1350005799.66-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 310760 frames written to 2012-10-12-1350005799.66-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
117828  
Worker for 2012-10-12-1350005803.74-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 235656 frames written to 2012-10-12-1350005803.74-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
676932  
Worker for 2012-10-12-1350005806.77-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005806.77-demo.wav has no TGID  
done - result 1353864 frames written to 2012-10-12-1350005806.77-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
509400  
Worker for 2012-10-12-1350005823.15-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005823.15-demo.wav has no TGID  
done - result 1018800 frames written to 2012-10-12-1350005823.15-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350005841.47-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005841.47-demo.wav has no TGID  
done - result 209032 frames written to 2012-10-12-1350005841.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
174902  
Worker for 2012-10-12-1350005910.5-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 349804 frames written to 2012-10-12-1350005910.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
277474  
Worker for 2012-10-12-1350005916.83-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 554948 frames written to 2012-10-12-1350005916.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
760900  
Worker for 2012-10-12-1350005927.48-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 1521800 frames written to 2012-10-12-1350005927.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75830  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
419908  
Worker for 2012-10-12-1350005948.06-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 839816 frames written to 2012-10-12-1350005948.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
247876  
Worker for 2012-10-12-1350005959.37-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 495752 frames written to 2012-10-12-1350005959.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
794692  
Worker for 2012-10-12-1350005965.91-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350005965.91-demo.wav has no TGID  
done - result 1589384 frames written to 2012-10-12-1350005965.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
119876  
Worker for 2012-10-12-1350005985.1-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 239752 frames written to 2012-10-12-1350005985.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
137205  
Worker for 2012-10-12-1350005988.25-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 274410 frames written to 2012-10-12-1350005988.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
363564  
Worker for 2012-10-12-1350005992.18-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 727128 frames written to 2012-10-12-1350005992.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1370180  
Worker for 2012-10-12-1350006002.96-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006002.96-demo.wav has no TGID  
done - result 2740360 frames written to 2012-10-12-1350006002.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
718742  
Worker for 2012-10-12-1350006036.36-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006036.36-demo.wav has no TGID  
done - result 1437484 frames written to 2012-10-12-1350006036.36-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350006053.97-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006053.97-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350006053.97-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350006056.57-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006056.57-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350006056.57-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
83012  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105739  
Worker for 2012-10-12-1350006069.79-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 211478 frames written to 2012-10-12-1350006069.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
79940  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
277572  
Worker for 2012-10-12-1350006075.58-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 555144 frames written to 2012-10-12-1350006075.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
188484  
Worker for 2012-10-12-1350006082.92-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 376968 frames written to 2012-10-12-1350006082.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
195652  
Worker for 2012-10-12-1350006088.72-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 391304 frames written to 2012-10-12-1350006088.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
78916  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
175171  
Worker for 2012-10-12-1350006094.64-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 350342 frames written to 2012-10-12-1350006094.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1023519  
Worker for 2012-10-12-1350006099.24-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006099.24-demo.wav has no TGID  
done - result 2047038 frames written to 2012-10-12-1350006099.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350006127.98-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006127.98-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350006127.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
173124  
Worker for 2012-10-12-1350006130.67-demo.wav  
GLG,40091,NFM,0,0,CanberraMtAinsli,AustralianCapita,Fire Mgt,1,0,NONE,NONE,NONE  
done - result 346248 frames written to 2012-10-12-1350006130.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
74606  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
145476  
Worker for 2012-10-12-1350006136.33-demo.wav  
GLG,40091,NFM,0,0,CanberraMtAinsli,AustralianCapita,Fire Mgt,1,0,NONE,NONE,NONE  
done - result 290952 frames written to 2012-10-12-1350006136.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
639044  
Worker for 2012-10-12-1350006140.0-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006140.0-demo.wav has no TGID  
done - result 1278088 frames written to 2012-10-12-1350006140.0-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
713796  
Worker for 2012-10-12-1350006155.89-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006155.89-demo.wav has no TGID  
done - result 1427592 frames written to 2012-10-12-1350006155.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350006173.17-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006173.17-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350006173.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
228941  
Worker for 2012-10-12-1350006240.76-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 457882 frames written to 2012-10-12-1350006240.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
680004  
Worker for 2012-10-12-1350006247.86-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006247.86-demo.wav has no TGID  
done - result 1360008 frames written to 2012-10-12-1350006247.86-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350006264.41-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006264.41-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350006264.41-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350006266.93-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006266.93-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350006266.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105244  
Worker for 2012-10-12-1350006496.45-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 210488 frames written to 2012-10-12-1350006496.45-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
529476  
Worker for 2012-10-12-1350006500.39-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006500.39-demo.wav has no TGID  
done - result 1058952 frames written to 2012-10-12-1350006500.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350006513.23-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006513.23-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350006513.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
210173  
Worker for 2012-10-12-1350006535.4-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 420346 frames written to 2012-10-12-1350006535.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
74947  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
796738  
Worker for 2012-10-12-1350006542.33-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1593476 frames written to 2012-10-12-1350006542.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
477252  
Worker for 2012-10-12-1350006561.62-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 954504 frames written to 2012-10-12-1350006561.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
140356  
Worker for 2012-10-12-1350006573.3-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 280712 frames written to 2012-10-12-1350006573.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
112672  
Worker for 2012-10-12-1350006578.24-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 225344 frames written to 2012-10-12-1350006578.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
457796  
Worker for 2012-10-12-1350006581.06-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 915592 frames written to 2012-10-12-1350006581.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
130116  
Worker for 2012-10-12-1350006592.2-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 260232 frames written to 2012-10-12-1350006592.2-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
286788  
Worker for 2012-10-12-1350006595.82-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 573576 frames written to 2012-10-12-1350006595.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
192533  
Worker for 2012-10-12-1350006604.87-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 385066 frames written to 2012-10-12-1350006604.87-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93224  
Worker for 2012-10-12-1350006609.93-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 186448 frames written to 2012-10-12-1350006609.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
822340  
Worker for 2012-10-12-1350006612.38-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006612.38-demo.wav has no TGID  
done - result 1644680 frames written to 2012-10-12-1350006612.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
769092  
Worker for 2012-10-12-1350006632.07-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1538184 frames written to 2012-10-12-1350006632.07-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
141330  
Worker for 2012-10-12-1350006651.39-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 282660 frames written to 2012-10-12-1350006651.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
127044  
Worker for 2012-10-12-1350006655.08-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 254088 frames written to 2012-10-12-1350006655.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
324676  
Worker for 2012-10-12-1350006658.7-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 649352 frames written to 2012-10-12-1350006658.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
273446  
Worker for 2012-10-12-1350006667.81-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 546892 frames written to 2012-10-12-1350006667.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
154691  
Worker for 2012-10-12-1350006674.74-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 309382 frames written to 2012-10-12-1350006674.74-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1934404  
Worker for 2012-10-12-1350006678.97-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 3868808 frames written to 2012-10-12-1350006678.97-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
298052  
Worker for 2012-10-12-1350006726.92-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 596104 frames written to 2012-10-12-1350006726.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
640068  
Worker for 2012-10-12-1350006737.09-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1280136 frames written to 2012-10-12-1350006737.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
542512  
Worker for 2012-10-12-1350006754.59-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1085024 frames written to 2012-10-12-1350006754.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350006767.78-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 206984 frames written to 2012-10-12-1350006767.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
473156  
Worker for 2012-10-12-1350006771.93-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 946312 frames written to 2012-10-12-1350006771.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1155140  
Worker for 2012-10-12-1350006784.49-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006784.49-demo.wav has no TGID  
done - result 2310280 frames written to 2012-10-12-1350006784.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
209988  
Worker for 2012-10-12-1350006812.17-demo.wav  
GLG,40091,NFM,0,0,CanberraMtAinsli,AustralianCapita,Fire Mgt,1,0,NONE,NONE,NONE  
done - result 419976 frames written to 2012-10-12-1350006812.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
122948  
Worker for 2012-10-12-1350006817.6-demo.wav  
GLG,40091,NFM,0,0,CanberraMtAinsli,AustralianCapita,Fire Mgt,1,0,NONE,NONE,NONE  
done - result 245896 frames written to 2012-10-12-1350006817.6-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
602534  
Worker for 2012-10-12-1350006821.03-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006821.03-demo.wav has no TGID  
done - result 1205068 frames written to 2012-10-12-1350006821.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350006838.73-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006838.73-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350006838.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
94276  
Worker for 2012-10-12-1350006841.34-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006841.34-demo.wav has no TGID  
done - result 188552 frames written to 2012-10-12-1350006841.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
139452  
Worker for 2012-10-12-1350006889.71-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 278904 frames written to 2012-10-12-1350006889.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
79940  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
260164  
Worker for 2012-10-12-1350006894.8-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 520328 frames written to 2012-10-12-1350006894.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
173123  
Worker for 2012-10-12-1350006901.3-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 346246 frames written to 2012-10-12-1350006901.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
717235  
Worker for 2012-10-12-1350006906.27-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1434470 frames written to 2012-10-12-1350006906.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1595460  
Worker for 2012-10-12-1350006923.5-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 3190920 frames written to 2012-10-12-1350006923.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
741444  
Worker for 2012-10-12-1350006962.68-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006962.68-demo.wav has no TGID  
done - result 1482888 frames written to 2012-10-12-1350006962.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350006980.63-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350006980.63-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350006980.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
151392  
Worker for 2012-10-12-1350006986.7-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 302784 frames written to 2012-10-12-1350006986.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75257  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
130116  
Worker for 2012-10-12-1350006992.48-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 260232 frames written to 2012-10-12-1350006992.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
142398  
Worker for 2012-10-12-1350006997.31-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 284796 frames written to 2012-10-12-1350006997.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
188427  
Worker for 2012-10-12-1350007002.03-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 376854 frames written to 2012-10-12-1350007002.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
206916  
Worker for 2012-10-12-1350007007.38-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 413832 frames written to 2012-10-12-1350007007.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350007013.34-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 186504 frames written to 2012-10-12-1350007013.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
976964  
Worker for 2012-10-12-1350007016.41-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007016.41-demo.wav has no TGID  
done - result 1953928 frames written to 2012-10-12-1350007016.41-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
257092  
Worker for 2012-10-12-1350007039.84-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 514184 frames written to 2012-10-12-1350007039.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
107588  
Worker for 2012-10-12-1350007046.21-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 215176 frames written to 2012-10-12-1350007046.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
192557  
Worker for 2012-10-12-1350007049.32-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 385114 frames written to 2012-10-12-1350007049.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1728580  
Worker for 2012-10-12-1350007054.07-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 3457160 frames written to 2012-10-12-1350007054.07-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
340690  
Worker for 2012-10-12-1350007095.72-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007095.72-demo.wav has no TGID  
done - result 681380 frames written to 2012-10-12-1350007095.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
389188  
Worker for 2012-10-12-1350007104.13-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 778376 frames written to 2012-10-12-1350007104.13-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1120324  
Worker for 2012-10-12-1350007113.66-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 2240648 frames written to 2012-10-12-1350007113.66-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
252099  
Worker for 2012-10-12-1350007141.29-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 504198 frames written to 2012-10-12-1350007141.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
241732  
Worker for 2012-10-12-1350007149.29-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 483464 frames written to 2012-10-12-1350007149.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
195652  
Worker for 2012-10-12-1350007156.12-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 391304 frames written to 2012-10-12-1350007156.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
229441  
Worker for 2012-10-12-1350007161.02-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 458882 frames written to 2012-10-12-1350007161.02-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
177220  
Worker for 2012-10-12-1350007166.75-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007166.75-demo.wav has no TGID  
done - result 354440 frames written to 2012-10-12-1350007166.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
389669  
Worker for 2012-10-12-1350007171.19-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 779338 frames written to 2012-10-12-1350007171.19-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350007181.17-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 202888 frames written to 2012-10-12-1350007181.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
138308  
Worker for 2012-10-12-1350007183.83-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 276616 frames written to 2012-10-12-1350007183.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
592221  
Worker for 2012-10-12-1350007187.93-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007187.93-demo.wav has no TGID  
done - result 1184442 frames written to 2012-10-12-1350007187.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350007206.32-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007206.32-demo.wav has no TGID  
done - result 209032 frames written to 2012-10-12-1350007206.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350007208.96-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007208.96-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350007208.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350007211.35-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007211.35-demo.wav has no TGID  
done - result 186504 frames written to 2012-10-12-1350007211.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
188325  
Worker for 2012-10-12-1350007266.07-demo.wav  
GLG,10301,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 376650 frames written to 2012-10-12-1350007266.07-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
123972  
Worker for 2012-10-12-1350007271.44-demo.wav  
GLG,10301,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 247944 frames written to 2012-10-12-1350007271.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
335940  
Worker for 2012-10-12-1350007275.04-demo.wav  
GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 671880 frames written to 2012-10-12-1350007275.04-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
479207  
Worker for 2012-10-12-1350007285.4-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007285.4-demo.wav has no TGID  
done - result 958414 frames written to 2012-10-12-1350007285.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106564  
Worker for 2012-10-12-1350007301.38-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007301.38-demo.wav has no TGID  
done - result 213128 frames written to 2012-10-12-1350007301.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350007304.06-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007304.06-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350007304.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
118852  
Worker for 2012-10-12-1350007306.58-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 237704 frames written to 2012-10-12-1350007306.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
116804  
Worker for 2012-10-12-1350007309.77-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 233608 frames written to 2012-10-12-1350007309.77-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
543812  
Worker for 2012-10-12-1350007312.81-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007312.81-demo.wav has no TGID  
done - result 1087624 frames written to 2012-10-12-1350007312.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1365925  
Worker for 2012-10-12-1350007326.03-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007326.03-demo.wav has no TGID  
done - result 2731850 frames written to 2012-10-12-1350007326.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
481989  
Worker for 2012-10-12-1350007359.1-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007359.1-demo.wav has no TGID  
done - result 963978 frames written to 2012-10-12-1350007359.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350007375.29-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007375.29-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350007375.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350007377.87-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007377.87-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350007377.87-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
162581  
Worker for 2012-10-12-1350007424.39-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 325162 frames written to 2012-10-12-1350007424.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
77892  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1275972  
Worker for 2012-10-12-1350007430.39-demo.wav  
GLG,10301,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 2551944 frames written to 2012-10-12-1350007430.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
300907  
Worker for 2012-10-12-1350007461.78-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 601814 frames written to 2012-10-12-1350007461.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350007469.45-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 204936 frames written to 2012-10-12-1350007469.45-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
609348  
Worker for 2012-10-12-1350007472.1-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007472.1-demo.wav has no TGID  
done - result 1218696 frames written to 2012-10-12-1350007472.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
183364  
Worker for 2012-10-12-1350007486.88-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 366728 frames written to 2012-10-12-1350007486.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1292325  
Worker for 2012-10-12-1350007492.26-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 2584650 frames written to 2012-10-12-1350007492.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75045  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
369732  
Worker for 2012-10-12-1350007524.69-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 739464 frames written to 2012-10-12-1350007524.69-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
293956  
Worker for 2012-10-12-1350007534.22-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 587912 frames written to 2012-10-12-1350007534.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
219023  
Worker for 2012-10-12-1350007541.52-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007541.52-demo.wav has no TGID  
done - result 438046 frames written to 2012-10-12-1350007541.52-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
517940  
Worker for 2012-10-12-1350007547.09-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007547.09-demo.wav has no TGID  
done - result 1035880 frames written to 2012-10-12-1350007547.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350007564.98-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007564.98-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350007564.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
44109  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
220546  
Worker for 2012-10-12-1350007611.42-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 441092 frames written to 2012-10-12-1350007611.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
149572  
Worker for 2012-10-12-1350007617.06-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 299144 frames written to 2012-10-12-1350007617.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2512666  
Worker for 2012-10-12-1350007621.4-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007621.4-demo.wav has no TGID  
done - result 5025332 frames written to 2012-10-12-1350007621.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
521284  
Worker for 2012-10-12-1350007681.79-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1042568 frames written to 2012-10-12-1350007681.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350007696.14-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 202888 frames written to 2012-10-12-1350007696.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1494084  
Worker for 2012-10-12-1350007699.01-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 2988168 frames written to 2012-10-12-1350007699.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
177066  
Worker for 2012-10-12-1350007734.76-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 354132 frames written to 2012-10-12-1350007734.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1182031  
Worker for 2012-10-12-1350007739.44-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007739.44-demo.wav has no TGID  
done - result 2364062 frames written to 2012-10-12-1350007739.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350007771.89-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007771.89-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350007771.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350007774.47-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007774.47-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350007774.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
107891  
Worker for 2012-10-12-1350007778.74-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 215782 frames written to 2012-10-12-1350007778.74-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75645  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
605252  
Worker for 2012-10-12-1350007783.93-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007783.93-demo.wav has no TGID  
done - result 1210504 frames written to 2012-10-12-1350007783.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350007798.57-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007798.57-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350007798.57-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
130072  
Worker for 2012-10-12-1350007879.76-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 260144 frames written to 2012-10-12-1350007879.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
168004  
Worker for 2012-10-12-1350007883.4-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 336008 frames written to 2012-10-12-1350007883.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1062980  
Worker for 2012-10-12-1350007887.69-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007887.69-demo.wav has no TGID  
done - result 2125960 frames written to 2012-10-12-1350007887.69-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
316484  
Worker for 2012-10-12-1350007913.25-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 632968 frames written to 2012-10-12-1350007913.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
290840  
Worker for 2012-10-12-1350007921.5-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 581680 frames written to 2012-10-12-1350007921.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
597060  
Worker for 2012-10-12-1350007928.63-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1194120 frames written to 2012-10-12-1350007928.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1114178  
Worker for 2012-10-12-1350007944.41-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350007944.41-demo.wav has no TGID  
done - result 2228356 frames written to 2012-10-12-1350007944.41-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1082415  
Worker for 2012-10-12-1350007971.23-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 2164830 frames written to 2012-10-12-1350007971.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
283129  
Worker for 2012-10-12-1350007997.92-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 566258 frames written to 2012-10-12-1350007997.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
153668  
Worker for 2012-10-12-1350008004.9-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 307336 frames written to 2012-10-12-1350008004.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
175172  
Worker for 2012-10-12-1350008008.76-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 350344 frames written to 2012-10-12-1350008008.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
329447  
Worker for 2012-10-12-1350008013.86-demo.wav  
GLG,10301,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 658894 frames written to 2012-10-12-1350008013.86-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
538608  
Worker for 2012-10-12-1350008022.37-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008022.37-demo.wav has no TGID  
done - result 1077216 frames written to 2012-10-12-1350008022.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350008038.93-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008038.93-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350008038.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350008041.59-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008041.59-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350008041.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
108339  
Worker for 2012-10-12-1350008064.25-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 216678 frames written to 2012-10-12-1350008064.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
182340  
Worker for 2012-10-12-1350008067.86-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 364680 frames written to 2012-10-12-1350008067.86-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
174148  
Worker for 2012-10-12-1350008072.58-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 348296 frames written to 2012-10-12-1350008072.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
777284  
Worker for 2012-10-12-1350008077.66-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008077.66-demo.wav has no TGID  
done - result 1554568 frames written to 2012-10-12-1350008077.66-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350008096.42-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008096.42-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350008096.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350008099.21-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008099.21-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350008099.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105548  
Worker for 2012-10-12-1350008106.92-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 211096 frames written to 2012-10-12-1350008106.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76474  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
286788  
Worker for 2012-10-12-1350008111.72-demo.wav  
GLG,10301,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 573576 frames written to 2012-10-12-1350008111.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75013  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
547908  
Worker for 2012-10-12-1350008120.08-demo.wav  
GLG,10301,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 1095816 frames written to 2012-10-12-1350008120.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350008133.67-demo.wav  
GLG,10301,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 209032 frames written to 2012-10-12-1350008133.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
425028  
Worker for 2012-10-12-1350008136.93-demo.wav  
GLG,10301,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 850056 frames written to 2012-10-12-1350008136.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
133188  
Worker for 2012-10-12-1350008147.23-demo.wav  
GLG,10301,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 266376 frames written to 2012-10-12-1350008147.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
160836  
Worker for 2012-10-12-1350008150.6-demo.wav  
GLG,10301,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 321672 frames written to 2012-10-12-1350008150.6-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
409629  
Worker for 2012-10-12-1350008155.15-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 819258 frames written to 2012-10-12-1350008155.15-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
161860  
Worker for 2012-10-12-1350008166.12-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 323720 frames written to 2012-10-12-1350008166.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
754756  
Worker for 2012-10-12-1350008171.12-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008171.12-demo.wav has no TGID  
done - result 1509512 frames written to 2012-10-12-1350008171.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350008189.26-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008189.26-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350008189.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
175344  
Worker for 2012-10-12-1350008197.9-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 350688 frames written to 2012-10-12-1350008197.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
776260  
Worker for 2012-10-12-1350008202.9-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008202.9-demo.wav has no TGID  
done - result 1552520 frames written to 2012-10-12-1350008202.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
315460  
Worker for 2012-10-12-1350008221.61-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 630920 frames written to 2012-10-12-1350008221.61-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
78916  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
701425  
Worker for 2012-10-12-1350008232.27-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008232.27-demo.wav has no TGID  
done - result 1402850 frames written to 2012-10-12-1350008232.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350008249.17-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008249.17-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350008249.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350008251.7-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008251.7-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350008251.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
113336  
Worker for 2012-10-12-1350008263.67-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 226672 frames written to 2012-10-12-1350008263.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
77892  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
188484  
Worker for 2012-10-12-1350008268.87-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 376968 frames written to 2012-10-12-1350008268.87-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
163871  
Worker for 2012-10-12-1350008273.57-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 327742 frames written to 2012-10-12-1350008273.57-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
597127  
Worker for 2012-10-12-1350008278.24-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008278.24-demo.wav has no TGID  
done - result 1194254 frames written to 2012-10-12-1350008278.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105540  
Worker for 2012-10-12-1350008296.65-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008296.65-demo.wav has no TGID  
done - result 211080 frames written to 2012-10-12-1350008296.65-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350008299.32-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008299.32-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350008299.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
265067  
Worker for 2012-10-12-1350008355.43-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 530134 frames written to 2012-10-12-1350008355.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
187425  
Worker for 2012-10-12-1350008362.95-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 374850 frames written to 2012-10-12-1350008362.95-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
587257  
Worker for 2012-10-12-1350008368.55-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008368.55-demo.wav has no TGID  
done - result 1174514 frames written to 2012-10-12-1350008368.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350008386.88-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008386.88-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350008386.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
228033  
Worker for 2012-10-12-1350008396.34-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 456066 frames written to 2012-10-12-1350008396.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350008402.09-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 192648 frames written to 2012-10-12-1350008402.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
151620  
Worker for 2012-10-12-1350008404.59-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 303240 frames written to 2012-10-12-1350008404.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
77882  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1679428  
Worker for 2012-10-12-1350008410.08-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 3358856 frames written to 2012-10-12-1350008410.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
240850  
Worker for 2012-10-12-1350008451.13-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 481700 frames written to 2012-10-12-1350008451.13-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
283716  
Worker for 2012-10-12-1350008457.26-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 567432 frames written to 2012-10-12-1350008457.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
280627  
Worker for 2012-10-12-1350008464.27-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 561254 frames written to 2012-10-12-1350008464.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
432178  
Worker for 2012-10-12-1350008471.44-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 864356 frames written to 2012-10-12-1350008471.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1291667  
Worker for 2012-10-12-1350008482.01-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008482.01-demo.wav has no TGID  
done - result 2583334 frames written to 2012-10-12-1350008482.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106564  
Worker for 2012-10-12-1350008516.37-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008516.37-demo.wav has no TGID  
done - result 213128 frames written to 2012-10-12-1350008516.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350008519.07-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008519.07-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350008519.07-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105889  
Worker for 2012-10-12-1350008583.0-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 211778 frames written to 2012-10-12-1350008583.0-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
644164  
Worker for 2012-10-12-1350008589.07-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008589.07-demo.wav has no TGID  
done - result 1288328 frames written to 2012-10-12-1350008589.07-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350008604.7-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008604.7-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350008604.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
114488  
Worker for 2012-10-12-1350008678.61-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 228976 frames written to 2012-10-12-1350008678.61-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
111684  
Worker for 2012-10-12-1350008681.95-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 223368 frames written to 2012-10-12-1350008681.95-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
133188  
Worker for 2012-10-12-1350008684.85-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 266376 frames written to 2012-10-12-1350008684.85-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
168004  
Worker for 2012-10-12-1350008688.32-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 336008 frames written to 2012-10-12-1350008688.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
592964  
Worker for 2012-10-12-1350008692.6-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1185928 frames written to 2012-10-12-1350008692.6-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
240708  
Worker for 2012-10-12-1350008707.59-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008707.59-demo.wav has no TGID  
done - result 481416 frames written to 2012-10-12-1350008707.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
721988  
Worker for 2012-10-12-1350008713.78-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008713.78-demo.wav has no TGID  
done - result 1443976 frames written to 2012-10-12-1350008713.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350008731.16-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008731.16-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350008731.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
130980  
Worker for 2012-10-12-1350008746.58-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 261960 frames written to 2012-10-12-1350008746.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
151248  
Worker for 2012-10-12-1350008750.99-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 302496 frames written to 2012-10-12-1350008750.99-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
365622  
Worker for 2012-10-12-1350008755.64-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 731244 frames written to 2012-10-12-1350008755.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
147491  
Worker for 2012-10-12-1350008764.85-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 294982 frames written to 2012-10-12-1350008764.85-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
568956  
Worker for 2012-10-12-1350008769.66-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008769.66-demo.wav has no TGID  
done - result 1137912 frames written to 2012-10-12-1350008769.66-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106035  
Worker for 2012-10-12-1350008787.25-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008787.25-demo.wav has no TGID  
done - result 212070 frames written to 2012-10-12-1350008787.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350008790.09-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008790.09-demo.wav has no TGID  
done - result 186504 frames written to 2012-10-12-1350008790.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
213161  
Worker for 2012-10-12-1350008809.01-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 426322 frames written to 2012-10-12-1350008809.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
286782  
Worker for 2012-10-12-1350008816.47-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 573564 frames written to 2012-10-12-1350008816.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
783428  
Worker for 2012-10-12-1350008824.25-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008824.25-demo.wav has no TGID  
done - result 1566856 frames written to 2012-10-12-1350008824.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350008843.35-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008843.35-demo.wav has no TGID  
done - result 204936 frames written to 2012-10-12-1350008843.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
190296  
Worker for 2012-10-12-1350008933.78-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 380592 frames written to 2012-10-12-1350008933.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
480425  
Worker for 2012-10-12-1350008940.5-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 960850 frames written to 2012-10-12-1350008940.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
124996  
Worker for 2012-10-12-1350008956.35-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 249992 frames written to 2012-10-12-1350008956.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
131140  
Worker for 2012-10-12-1350008959.9-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 262280 frames written to 2012-10-12-1350008959.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
424004  
Worker for 2012-10-12-1350008963.38-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350008963.38-demo.wav has no TGID  
done - result 848008 frames written to 2012-10-12-1350008963.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
181316  
Worker for 2012-10-12-1350008973.75-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 362632 frames written to 2012-10-12-1350008973.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
290884  
Worker for 2012-10-12-1350008981.34-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 581768 frames written to 2012-10-12-1350008981.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350008988.62-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 194696 frames written to 2012-10-12-1350008988.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
146451  
Worker for 2012-10-12-1350008991.84-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 292902 frames written to 2012-10-12-1350008991.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1150020  
Worker for 2012-10-12-1350008996.11-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 2300040 frames written to 2012-10-12-1350008996.11-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
685880  
Worker for 2012-10-12-1350009024.39-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009024.39-demo.wav has no TGID  
done - result 1371760 frames written to 2012-10-12-1350009024.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
107588  
Worker for 2012-10-12-1350009040.99-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009040.99-demo.wav has no TGID  
done - result 215176 frames written to 2012-10-12-1350009040.99-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350009043.84-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009043.84-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350009043.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
116065  
Worker for 2012-10-12-1350009048.42-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 232130 frames written to 2012-10-12-1350009048.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76868  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
564292  
Worker for 2012-10-12-1350009052.7-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009052.7-demo.wav has no TGID  
done - result 1128584 frames written to 2012-10-12-1350009052.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350009066.65-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009066.65-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350009066.65-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350009069.24-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009069.24-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350009069.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
108612  
Worker for 2012-10-12-1350009071.65-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 217224 frames written to 2012-10-12-1350009071.65-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
527068  
Worker for 2012-10-12-1350009075.37-demo.wav  
GLG,44036,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 1054136 frames written to 2012-10-12-1350009075.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
111684  
Worker for 2012-10-12-1350009089.76-demo.wav  
GLG,44036,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 223368 frames written to 2012-10-12-1350009089.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
263072  
Worker for 2012-10-12-1350009093.94-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009093.94-demo.wav has no TGID  
done - result 526144 frames written to 2012-10-12-1350009093.94-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
245828  
Worker for 2012-10-12-1350009100.32-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 491656 frames written to 2012-10-12-1350009100.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
255044  
Worker for 2012-10-12-1350009108.36-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 510088 frames written to 2012-10-12-1350009108.36-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
591940  
Worker for 2012-10-12-1350009115.76-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 1183880 frames written to 2012-10-12-1350009115.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
462916  
Worker for 2012-10-12-1350009130.93-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009130.93-demo.wav has no TGID  
done - result 925832 frames written to 2012-10-12-1350009130.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350009142.14-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009142.14-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350009142.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105241  
Worker for 2012-10-12-1350009148.27-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 210482 frames written to 2012-10-12-1350009148.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
74970  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
636996  
Worker for 2012-10-12-1350009154.13-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009154.13-demo.wav has no TGID  
done - result 1273992 frames written to 2012-10-12-1350009154.13-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350009169.43-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009169.43-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350009169.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350009171.91-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009171.91-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350009171.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
81988  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105689  
Worker for 2012-10-12-1350009304.87-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 211378 frames written to 2012-10-12-1350009304.87-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
490564  
Worker for 2012-10-12-1350009308.52-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009308.52-demo.wav has no TGID  
done - result 981128 frames written to 2012-10-12-1350009308.52-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350009320.38-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009320.38-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350009320.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
122948  
Worker for 2012-10-12-1350009322.88-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 245896 frames written to 2012-10-12-1350009322.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
216132  
Worker for 2012-10-12-1350009326.09-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 432264 frames written to 2012-10-12-1350009326.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
143428  
Worker for 2012-10-12-1350009331.57-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 286856 frames written to 2012-10-12-1350009331.57-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1027140  
Worker for 2012-10-12-1350009335.66-demo.wav  
GLG,40068,NFM,0,0,CanberraMtAinsli,AustralianCapita,RFS Ops 1,1,0,NONE,NONE,NONE  
done - result 2054280 frames written to 2012-10-12-1350009335.66-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
95300  
Worker for 2012-10-12-1350009360.31-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009360.31-demo.wav has no TGID  
done - result 190600 frames written to 2012-10-12-1350009360.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
232841  
Worker for 2012-10-12-1350009363.47-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 465682 frames written to 2012-10-12-1350009363.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1822788  
Worker for 2012-10-12-1350009369.37-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009369.37-demo.wav has no TGID  
done - result 3645576 frames written to 2012-10-12-1350009369.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
654404  
Worker for 2012-10-12-1350009413.02-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1308808 frames written to 2012-10-12-1350009413.02-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
707652  
Worker for 2012-10-12-1350009429.54-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009429.54-demo.wav has no TGID  
done - result 1415304 frames written to 2012-10-12-1350009429.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350009446.55-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009446.55-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350009446.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350009449.09-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009449.09-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350009449.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
112294  
Worker for 2012-10-12-1350009453.37-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 224588 frames written to 2012-10-12-1350009453.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350009456.38-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 196744 frames written to 2012-10-12-1350009456.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
142404  
Worker for 2012-10-12-1350009458.84-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 284808 frames written to 2012-10-12-1350009458.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
173198  
Worker for 2012-10-12-1350009463.3-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 346396 frames written to 2012-10-12-1350009463.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
728132  
Worker for 2012-10-12-1350009469.34-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009469.34-demo.wav has no TGID  
done - result 1456264 frames written to 2012-10-12-1350009469.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350009487.13-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009487.13-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350009487.13-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
61648  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
199619  
Worker for 2012-10-12-1350009620.62-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 399238 frames written to 2012-10-12-1350009620.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
581034  
Worker for 2012-10-12-1350009626.83-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 1162068 frames written to 2012-10-12-1350009626.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350009640.97-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 184456 frames written to 2012-10-12-1350009640.97-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350009643.34-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 192648 frames written to 2012-10-12-1350009643.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
176196  
Worker for 2012-10-12-1350009645.88-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 352392 frames written to 2012-10-12-1350009645.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
812653  
Worker for 2012-10-12-1350009650.33-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1625306 frames written to 2012-10-12-1350009650.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
107588  
Worker for 2012-10-12-1350009673.5-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009673.5-demo.wav has no TGID  
done - result 215176 frames written to 2012-10-12-1350009673.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
94276  
Worker for 2012-10-12-1350009676.27-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009676.27-demo.wav has no TGID  
done - result 188552 frames written to 2012-10-12-1350009676.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
117828  
Worker for 2012-10-12-1350009678.66-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 235656 frames written to 2012-10-12-1350009678.66-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
120900  
Worker for 2012-10-12-1350009681.75-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 241800 frames written to 2012-10-12-1350009681.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
200772  
Worker for 2012-10-12-1350009685.49-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 401544 frames written to 2012-10-12-1350009685.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
94276  
Worker for 2012-10-12-1350009690.75-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 188552 frames written to 2012-10-12-1350009690.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1042660  
Worker for 2012-10-12-1350009693.19-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009693.19-demo.wav has no TGID  
done - result 2085320 frames written to 2012-10-12-1350009693.19-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
109636  
Worker for 2012-10-12-1350009721.4-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009721.4-demo.wav has no TGID  
done - result 219272 frames written to 2012-10-12-1350009721.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350009724.37-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009724.37-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350009724.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
295118  
Worker for 2012-10-12-1350009777.33-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 590236 frames written to 2012-10-12-1350009777.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
335940  
Worker for 2012-10-12-1350009785.14-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 671880 frames written to 2012-10-12-1350009785.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
635972  
Worker for 2012-10-12-1350009795.23-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1271944 frames written to 2012-10-12-1350009795.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
156740  
Worker for 2012-10-12-1350009811.82-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 313480 frames written to 2012-10-12-1350009811.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
218180  
Worker for 2012-10-12-1350009815.75-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 436360 frames written to 2012-10-12-1350009815.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
775236  
Worker for 2012-10-12-1350009821.41-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1550472 frames written to 2012-10-12-1350009821.41-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1937476  
Worker for 2012-10-12-1350009841.62-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 3874952 frames written to 2012-10-12-1350009841.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
156740  
Worker for 2012-10-12-1350009887.98-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 313480 frames written to 2012-10-12-1350009887.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
283716  
Worker for 2012-10-12-1350009892.01-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 567432 frames written to 2012-10-12-1350009892.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
306244  
Worker for 2012-10-12-1350009898.97-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009898.97-demo.wav has no TGID  
done - result 612488 frames written to 2012-10-12-1350009898.97-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
168004  
Worker for 2012-10-12-1350009906.54-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 336008 frames written to 2012-10-12-1350009906.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
77892  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
79940  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
132108  
Worker for 2012-10-12-1350009913.3-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 264216 frames written to 2012-10-12-1350009913.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84631  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
484755  
Worker for 2012-10-12-1350009918.09-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009918.09-demo.wav has no TGID  
done - result 969510 frames written to 2012-10-12-1350009918.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
506214  
Worker for 2012-10-12-1350009929.93-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009929.93-demo.wav has no TGID  
done - result 1012428 frames written to 2012-10-12-1350009929.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
95300  
Worker for 2012-10-12-1350009947.84-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009947.84-demo.wav has no TGID  
done - result 190600 frames written to 2012-10-12-1350009947.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350009950.32-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350009950.32-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350009950.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
176598  
Worker for 2012-10-12-1350010124.15-demo.wav  
GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 353196 frames written to 2012-10-12-1350010124.15-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75279  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
451652  
Worker for 2012-10-12-1350010130.44-demo.wav  
GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 903304 frames written to 2012-10-12-1350010130.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
343864  
Worker for 2012-10-12-1350010142.33-demo.wav  
GLG,40068,NFM,0,0,CanberraMtAinsli,AustralianCapita,RFS Ops 1,1,0,NONE,NONE,NONE  
done - result 687728 frames written to 2012-10-12-1350010142.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
405572  
Worker for 2012-10-12-1350010150.75-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010150.75-demo.wav has no TGID  
done - result 811144 frames written to 2012-10-12-1350010150.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
379051  
Worker for 2012-10-12-1350010161.06-demo.wav  
GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 758102 frames written to 2012-10-12-1350010161.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
489315  
Worker for 2012-10-12-1350010171.16-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 978630 frames written to 2012-10-12-1350010171.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
220199  
Worker for 2012-10-12-1350010185.29-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 440398 frames written to 2012-10-12-1350010185.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
82920  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
374020  
Worker for 2012-10-12-1350010192.77-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 748040 frames written to 2012-10-12-1350010192.77-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
743131  
Worker for 2012-10-12-1350010202.89-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010202.89-demo.wav has no TGID  
done - result 1486262 frames written to 2012-10-12-1350010202.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350010220.86-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010220.86-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350010220.86-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
120485  
Worker for 2012-10-12-1350010242.42-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 240970 frames written to 2012-10-12-1350010242.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75643  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
441412  
Worker for 2012-10-12-1350010247.31-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 882824 frames written to 2012-10-12-1350010247.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1685572  
Worker for 2012-10-12-1350010258.39-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010258.39-demo.wav has no TGID  
done - result 3371144 frames written to 2012-10-12-1350010258.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
221252  
Worker for 2012-10-12-1350010298.71-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 442504 frames written to 2012-10-12-1350010298.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350010305.06-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 202888 frames written to 2012-10-12-1350010305.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
115730  
Worker for 2012-10-12-1350010307.96-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 231460 frames written to 2012-10-12-1350010307.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
343776  
Worker for 2012-10-12-1350010311.62-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 687552 frames written to 2012-10-12-1350010311.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
582724  
Worker for 2012-10-12-1350010321.16-demo.wav  
GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 1165448 frames written to 2012-10-12-1350010321.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
149572  
Worker for 2012-10-12-1350010336.58-demo.wav  
GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 299144 frames written to 2012-10-12-1350010336.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1968542  
Worker for 2012-10-12-1350010340.42-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010340.42-demo.wav has no TGID  
done - result 3937084 frames written to 2012-10-12-1350010340.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101310  
Worker for 2012-10-12-1350010392.72-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010392.72-demo.wav has no TGID  
done - result 202620 frames written to 2012-10-12-1350010392.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
152235  
Worker for 2012-10-12-1350010468.9-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 304470 frames written to 2012-10-12-1350010468.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
355197  
Worker for 2012-10-12-1350010473.8-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 710394 frames written to 2012-10-12-1350010473.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
74830  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
396356  
Worker for 2012-10-12-1350010483.92-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 792712 frames written to 2012-10-12-1350010483.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
112708  
Worker for 2012-10-12-1350010494.11-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 225416 frames written to 2012-10-12-1350010494.11-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
147524  
Worker for 2012-10-12-1350010497.06-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 295048 frames written to 2012-10-12-1350010497.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
3864644  
Worker for 2012-10-12-1350010500.79-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010500.79-demo.wav has no TGID  
done - result 7729288 frames written to 2012-10-12-1350010500.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
762948  
Worker for 2012-10-12-1350010593.4-demo.wav  
GLG,44010,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44010,1,0,NONE,NONE,NONE  
done - result 1525896 frames written to 2012-10-12-1350010593.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
527428  
Worker for 2012-10-12-1350010611.83-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010611.83-demo.wav has no TGID  
done - result 1054856 frames written to 2012-10-12-1350010611.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
496433  
Worker for 2012-10-12-1350010624.49-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010624.49-demo.wav has no TGID  
done - result 992866 frames written to 2012-10-12-1350010624.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350010642.22-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010642.22-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350010642.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
160128  
Worker for 2012-10-12-1350010660.35-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 320256 frames written to 2012-10-12-1350010660.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
95300  
Worker for 2012-10-12-1350010665.63-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 190600 frames written to 2012-10-12-1350010665.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
286768  
Worker for 2012-10-12-1350010668.76-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,1,NONE,NONE,NONE  
done - result 573536 frames written to 2012-10-12-1350010668.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1068182  
Worker for 2012-10-12-1350010675.85-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010675.85-demo.wav has no TGID  
done - result 2136364 frames written to 2012-10-12-1350010675.85-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350010705.4-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010705.4-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350010705.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
122782  
Worker for 2012-10-12-1350010787.04-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 245564 frames written to 2012-10-12-1350010787.04-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
113732  
Worker for 2012-10-12-1350010790.85-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 227464 frames written to 2012-10-12-1350010790.85-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
249924  
Worker for 2012-10-12-1350010794.23-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 499848 frames written to 2012-10-12-1350010794.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1051024  
Worker for 2012-10-12-1350010800.53-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010800.53-demo.wav has no TGID  
done - result 2102048 frames written to 2012-10-12-1350010800.53-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105540  
Worker for 2012-10-12-1350010829.67-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010829.67-demo.wav has no TGID  
done - result 211080 frames written to 2012-10-12-1350010829.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350010832.33-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010832.33-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350010832.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
151232  
Worker for 2012-10-12-1350010942.63-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 302464 frames written to 2012-10-12-1350010942.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350010947.04-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 209032 frames written to 2012-10-12-1350010947.04-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2061380  
Worker for 2012-10-12-1350010950.2-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 4122760 frames written to 2012-10-12-1350010950.2-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
649627  
Worker for 2012-10-12-1350010999.58-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350010999.58-demo.wav has no TGID  
done - result 1299254 frames written to 2012-10-12-1350010999.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350011019.94-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011019.94-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350011019.94-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350011022.56-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011022.56-demo.wav has no TGID  
done - result 186504 frames written to 2012-10-12-1350011022.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
107818  
Worker for 2012-10-12-1350011028.18-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 215636 frames written to 2012-10-12-1350011028.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
110660  
Worker for 2012-10-12-1350011031.16-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 221320 frames written to 2012-10-12-1350011031.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
216132  
Worker for 2012-10-12-1350011034.06-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 432264 frames written to 2012-10-12-1350011034.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
187460  
Worker for 2012-10-12-1350011039.61-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 374920 frames written to 2012-10-12-1350011039.61-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
825412  
Worker for 2012-10-12-1350011044.26-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011044.26-demo.wav has no TGID  
done - result 1650824 frames written to 2012-10-12-1350011044.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
329796  
Worker for 2012-10-12-1350011064.07-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 659592 frames written to 2012-10-12-1350011064.07-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
169015  
Worker for 2012-10-12-1350011072.2-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 338030 frames written to 2012-10-12-1350011072.2-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
156367  
Worker for 2012-10-12-1350011076.43-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 312734 frames written to 2012-10-12-1350011076.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
772162  
Worker for 2012-10-12-1350011081.0-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011081.0-demo.wav has no TGID  
done - result 1544324 frames written to 2012-10-12-1350011081.0-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350011099.75-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011099.75-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350011099.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350011102.3-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011102.3-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350011102.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
107588  
Worker for 2012-10-12-1350011104.58-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 215176 frames written to 2012-10-12-1350011104.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
249061  
Worker for 2012-10-12-1350011110.59-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 498122 frames written to 2012-10-12-1350011110.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
77892  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
217115  
Worker for 2012-10-12-1350011119.42-demo.wav  
GLG,44010,NFM,0,0,CanberraMtAinsli,AustralianCapita,ACTION 44010,1,0,NONE,NONE,NONE  
done - result 434230 frames written to 2012-10-12-1350011119.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
209250  
Worker for 2012-10-12-1350011125.47-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 418500 frames written to 2012-10-12-1350011125.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
691268  
Worker for 2012-10-12-1350011131.49-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011131.49-demo.wav has no TGID  
done - result 1382536 frames written to 2012-10-12-1350011131.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350011148.23-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011148.23-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350011148.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
127259  
Worker for 2012-10-12-1350011162.09-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 254518 frames written to 2012-10-12-1350011162.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
485432  
Worker for 2012-10-12-1350011166.77-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 970864 frames written to 2012-10-12-1350011166.77-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
198669  
Worker for 2012-10-12-1350011178.62-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 397338 frames written to 2012-10-12-1350011178.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
79940  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
767044  
Worker for 2012-10-12-1350011187.22-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011187.22-demo.wav has no TGID  
done - result 1534088 frames written to 2012-10-12-1350011187.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
95300  
Worker for 2012-10-12-1350011205.68-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011205.68-demo.wav has no TGID  
done - result 190600 frames written to 2012-10-12-1350011205.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
241284  
Worker for 2012-10-12-1350011225.79-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 482568 frames written to 2012-10-12-1350011225.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
94276  
Worker for 2012-10-12-1350011231.86-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 188552 frames written to 2012-10-12-1350011231.86-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
195652  
Worker for 2012-10-12-1350011234.29-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 391304 frames written to 2012-10-12-1350011234.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
308292  
Worker for 2012-10-12-1350011239.55-demo.wav  
GLG,44010,NFM,0,0,CanberraMtAinsli,AustralianCapita,ACTION 44010,1,0,NONE,NONE,NONE  
done - result 616584 frames written to 2012-10-12-1350011239.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93251  
Worker for 2012-10-12-1350011247.21-demo.wav  
GLG,44010,NFM,0,0,CanberraMtAinsli,AustralianCapita,ACTION 44010,1,0,NONE,NONE,NONE  
done - result 186502 frames written to 2012-10-12-1350011247.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
131128  
Worker for 2012-10-12-1350011249.69-demo.wav  
GLG,44010,NFM,0,0,CanberraMtAinsli,AustralianCapita,ACTION 44010,1,0,NONE,NONE,NONE  
done - result 262256 frames written to 2012-10-12-1350011249.69-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
799812  
Worker for 2012-10-12-1350011253.04-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1599624 frames written to 2012-10-12-1350011253.04-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
107588  
Worker for 2012-10-12-1350011272.38-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 215176 frames written to 2012-10-12-1350011272.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
747586  
Worker for 2012-10-12-1350011275.65-demo.wav  
GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 1495172 frames written to 2012-10-12-1350011275.65-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
297975  
Worker for 2012-10-12-1350011294.37-demo.wav  
GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
done - result 595950 frames written to 2012-10-12-1350011294.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
434951  
Worker for 2012-10-12-1350011301.88-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011301.88-demo.wav has no TGID  
done - result 869902 frames written to 2012-10-12-1350011301.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
522248  
Worker for 2012-10-12-1350011312.41-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011312.41-demo.wav has no TGID  
done - result 1044496 frames written to 2012-10-12-1350011312.41-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350011330.78-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011330.78-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350011330.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
220765  
Worker for 2012-10-12-1350011358.28-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 441530 frames written to 2012-10-12-1350011358.28-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
498034  
Worker for 2012-10-12-1350011365.37-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011365.37-demo.wav has no TGID  
done - result 996068 frames written to 2012-10-12-1350011365.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
109636  
Worker for 2012-10-12-1350011380.85-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011380.85-demo.wav has no TGID  
done - result 219272 frames written to 2012-10-12-1350011380.85-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
94276  
Worker for 2012-10-12-1350011383.73-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011383.73-demo.wav has no TGID  
done - result 188552 frames written to 2012-10-12-1350011383.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
112970  
Worker for 2012-10-12-1350011402.9-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 225940 frames written to 2012-10-12-1350011402.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
144452  
Worker for 2012-10-12-1350011406.78-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 288904 frames written to 2012-10-12-1350011406.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
144452  
Worker for 2012-10-12-1350011412.68-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 288904 frames written to 2012-10-12-1350011412.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
138308  
Worker for 2012-10-12-1350011416.43-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 276616 frames written to 2012-10-12-1350011416.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
723012  
Worker for 2012-10-12-1350011419.96-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011419.96-demo.wav has no TGID  
done - result 1446024 frames written to 2012-10-12-1350011419.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
266308  
Worker for 2012-10-12-1350011437.46-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 532616 frames written to 2012-10-12-1350011437.46-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
766020  
Worker for 2012-10-12-1350011445.09-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011445.09-demo.wav has no TGID  
done - result 1532040 frames written to 2012-10-12-1350011445.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350011463.63-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011463.63-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350011463.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
44106  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105734  
Worker for 2012-10-12-1350011512.91-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 211468 frames written to 2012-10-12-1350011512.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
514116  
Worker for 2012-10-12-1350011516.73-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011516.73-demo.wav has no TGID  
done - result 1028232 frames written to 2012-10-12-1350011516.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350011529.38-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011529.38-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350011529.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106128  
Worker for 2012-10-12-1350011542.49-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 212256 frames written to 2012-10-12-1350011542.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
132164  
Worker for 2012-10-12-1350011545.47-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 264328 frames written to 2012-10-12-1350011545.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
358468  
Worker for 2012-10-12-1350011548.91-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 716936 frames written to 2012-10-12-1350011548.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
434244  
Worker for 2012-10-12-1350011558.14-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 868488 frames written to 2012-10-12-1350011558.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
74661  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
678980  
Worker for 2012-10-12-1350011570.19-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011570.19-demo.wav has no TGID  
done - result 1357960 frames written to 2012-10-12-1350011570.19-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350011586.75-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011586.75-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350011586.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350011589.31-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011589.31-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350011589.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
81988  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
187357  
Worker for 2012-10-12-1350011707.77-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 374714 frames written to 2012-10-12-1350011707.77-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1121563  
Worker for 2012-10-12-1350011713.62-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 2243126 frames written to 2012-10-12-1350011713.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
740359  
Worker for 2012-10-12-1350011741.33-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011741.33-demo.wav has no TGID  
done - result 1480718 frames written to 2012-10-12-1350011741.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
238660  
Worker for 2012-10-12-1350011759.23-demo.wav  
GLG,44010,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44010,1,0,NONE,NONE,NONE  
done - result 477320 frames written to 2012-10-12-1350011759.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
113716  
Worker for 2012-10-12-1350011765.65-demo.wav  
GLG,44010,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44010,1,0,NONE,NONE,NONE  
done - result 227432 frames written to 2012-10-12-1350011765.65-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
547908  
Worker for 2012-10-12-1350011768.62-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011768.62-demo.wav has no TGID  
done - result 1095816 frames written to 2012-10-12-1350011768.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
515799  
Worker for 2012-10-12-1350011781.88-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011781.88-demo.wav has no TGID  
done - result 1031598 frames written to 2012-10-12-1350011781.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350011799.89-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011799.89-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350011799.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350011802.51-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011802.51-demo.wav has no TGID  
done - result 186504 frames written to 2012-10-12-1350011802.51-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
108315  
Worker for 2012-10-12-1350011822.87-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 216630 frames written to 2012-10-12-1350011822.87-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
138110  
Worker for 2012-10-12-1350011827.01-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 276220 frames written to 2012-10-12-1350011827.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1620036  
Worker for 2012-10-12-1350011831.4-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011831.4-demo.wav has no TGID  
done - result 3240072 frames written to 2012-10-12-1350011831.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
625732  
Worker for 2012-10-12-1350011870.29-demo.wav  
GLG,44027,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1251464 frames written to 2012-10-12-1350011870.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
300855  
Worker for 2012-10-12-1350011886.49-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 601710 frames written to 2012-10-12-1350011886.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
579996  
Worker for 2012-10-12-1350011894.65-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1159992 frames written to 2012-10-12-1350011894.65-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
136985  
Worker for 2012-10-12-1350011909.66-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 273970 frames written to 2012-10-12-1350011909.66-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
176196  
Worker for 2012-10-12-1350011913.55-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 352392 frames written to 2012-10-12-1350011913.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
555978  
Worker for 2012-10-12-1350011918.03-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1111956 frames written to 2012-10-12-1350011918.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
166980  
Worker for 2012-10-12-1350011931.55-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,1,NONE,NONE,NONE  
done - result 333960 frames written to 2012-10-12-1350011931.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
281503  
Worker for 2012-10-12-1350011936.17-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 563006 frames written to 2012-10-12-1350011936.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
545860  
Worker for 2012-10-12-1350011943.2-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011943.2-demo.wav has no TGID  
done - result 1091720 frames written to 2012-10-12-1350011943.2-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
512874  
Worker for 2012-10-12-1350011956.38-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011956.38-demo.wav has no TGID  
done - result 1025748 frames written to 2012-10-12-1350011956.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350011974.1-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011974.1-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350011974.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350011976.75-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350011976.75-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350011976.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
153169  
Worker for 2012-10-12-1350012034.92-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 306338 frames written to 2012-10-12-1350012034.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
141380  
Worker for 2012-10-12-1350012038.82-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 282760 frames written to 2012-10-12-1350012038.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
178244  
Worker for 2012-10-12-1350012042.73-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 356488 frames written to 2012-10-12-1350012042.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
370756  
Worker for 2012-10-12-1350012047.26-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012047.26-demo.wav has no TGID  
done - result 741512 frames written to 2012-10-12-1350012047.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
516952  
Worker for 2012-10-12-1350012056.27-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012056.27-demo.wav has no TGID  
done - result 1033904 frames written to 2012-10-12-1350012056.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350012074.06-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012074.06-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350012074.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
56855  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
155563  
Worker for 2012-10-12-1350012103.47-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 311126 frames written to 2012-10-12-1350012103.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
113732  
Worker for 2012-10-12-1350012107.54-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 227464 frames written to 2012-10-12-1350012107.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
394308  
Worker for 2012-10-12-1350012110.43-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 788616 frames written to 2012-10-12-1350012110.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2791460  
Worker for 2012-10-12-1350012120.17-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 5582920 frames written to 2012-10-12-1350012120.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
320580  
Worker for 2012-10-12-1350012186.81-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012186.81-demo.wav has no TGID  
done - result 641160 frames written to 2012-10-12-1350012186.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
535119  
Worker for 2012-10-12-1350012194.56-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012194.56-demo.wav has no TGID  
done - result 1070238 frames written to 2012-10-12-1350012194.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350012212.41-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012212.41-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350012212.41-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350012215.12-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012215.12-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350012215.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86077  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
120070  
Worker for 2012-10-12-1350012223.39-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 240140 frames written to 2012-10-12-1350012223.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
284146  
Worker for 2012-10-12-1350012227.52-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 568292 frames written to 2012-10-12-1350012227.52-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
227396  
Worker for 2012-10-12-1350012234.73-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 454792 frames written to 2012-10-12-1350012234.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
193597  
Worker for 2012-10-12-1350012240.38-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 387194 frames written to 2012-10-12-1350012240.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
758490  
Worker for 2012-10-12-1350012245.18-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012245.18-demo.wav has no TGID  
done - result 1516980 frames written to 2012-10-12-1350012245.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350012267.81-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012267.81-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350012267.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350012270.44-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012270.44-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350012270.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
297538  
Worker for 2012-10-12-1350012359.48-demo.wav  
GLG,44010,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44010,1,0,NONE,NONE,NONE  
done - result 595076 frames written to 2012-10-12-1350012359.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
516031  
Worker for 2012-10-12-1350012367.26-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012367.26-demo.wav has no TGID  
done - result 1032062 frames written to 2012-10-12-1350012367.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350012383.75-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012383.75-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350012383.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350012386.46-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012386.46-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350012386.46-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
291736  
Worker for 2012-10-12-1350012392.15-demo.wav  
GLG,44010,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44010,1,0,NONE,NONE,NONE  
done - result 583472 frames written to 2012-10-12-1350012392.15-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
723550  
Worker for 2012-10-12-1350012400.22-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1447100 frames written to 2012-10-12-1350012400.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
246852  
Worker for 2012-10-12-1350012419.89-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 493704 frames written to 2012-10-12-1350012419.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1066457  
Worker for 2012-10-12-1350012426.09-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012426.09-demo.wav has no TGID  
done - result 2132914 frames written to 2012-10-12-1350012426.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350012456.18-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012456.18-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350012456.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
163841  
Worker for 2012-10-12-1350012468.6-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 327682 frames written to 2012-10-12-1350012468.6-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
152644  
Worker for 2012-10-12-1350012472.8-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 305288 frames written to 2012-10-12-1350012472.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
197700  
Worker for 2012-10-12-1350012476.71-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 395400 frames written to 2012-10-12-1350012476.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
229444  
Worker for 2012-10-12-1350012482.04-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012482.04-demo.wav has no TGID  
done - result 458888 frames written to 2012-10-12-1350012482.04-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
593782  
Worker for 2012-10-12-1350012487.71-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012487.71-demo.wav has no TGID  
done - result 1187564 frames written to 2012-10-12-1350012487.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350012506.16-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012506.16-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350012506.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
178244  
Worker for 2012-10-12-1350012508.67-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 356488 frames written to 2012-10-12-1350012508.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
111684  
Worker for 2012-10-12-1350012513.39-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 223368 frames written to 2012-10-12-1350012513.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
855108  
Worker for 2012-10-12-1350012516.87-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012516.87-demo.wav has no TGID  
done - result 1710216 frames written to 2012-10-12-1350012516.87-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
747588  
Worker for 2012-10-12-1350012537.47-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012537.47-demo.wav has no TGID  
done - result 1495176 frames written to 2012-10-12-1350012537.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350012555.5-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012555.5-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350012555.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
77892  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
173837  
Worker for 2012-10-12-1350012591.15-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 347674 frames written to 2012-10-12-1350012591.15-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
139332  
Worker for 2012-10-12-1350012595.59-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 278664 frames written to 2012-10-12-1350012595.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
324611  
Worker for 2012-10-12-1350012599.55-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 649222 frames written to 2012-10-12-1350012599.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
602129  
Worker for 2012-10-12-1350012607.61-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012607.61-demo.wav has no TGID  
done - result 1204258 frames written to 2012-10-12-1350012607.61-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105540  
Worker for 2012-10-12-1350012625.25-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012625.25-demo.wav has no TGID  
done - result 211080 frames written to 2012-10-12-1350012625.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350012628.03-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012628.03-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350012628.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
113839  
Worker for 2012-10-12-1350012682.36-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 227678 frames written to 2012-10-12-1350012682.36-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
152644  
Worker for 2012-10-12-1350012685.53-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 305288 frames written to 2012-10-12-1350012685.53-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
207940  
Worker for 2012-10-12-1350012689.33-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 415880 frames written to 2012-10-12-1350012689.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
163902  
Worker for 2012-10-12-1350012694.67-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 327804 frames written to 2012-10-12-1350012694.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
291782  
Worker for 2012-10-12-1350012699.48-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 583564 frames written to 2012-10-12-1350012699.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
255044  
Worker for 2012-10-12-1350012706.99-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 510088 frames written to 2012-10-12-1350012706.99-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
507959  
Worker for 2012-10-12-1350012713.3-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1015918 frames written to 2012-10-12-1350012713.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
819268  
Worker for 2012-10-12-1350012725.63-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1638536 frames written to 2012-10-12-1350012725.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
3579972  
Worker for 2012-10-12-1350012745.55-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012745.55-demo.wav has no TGID  
done - result 7159944 frames written to 2012-10-12-1350012745.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
639098  
Worker for 2012-10-12-1350012831.44-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 1278196 frames written to 2012-10-12-1350012831.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
400682  
Worker for 2012-10-12-1350012847.72-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 801364 frames written to 2012-10-12-1350012847.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
393284  
Worker for 2012-10-12-1350012857.92-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 786568 frames written to 2012-10-12-1350012857.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1334930  
Worker for 2012-10-12-1350012867.99-demo.wav  
GLG,44027,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 2669860 frames written to 2012-10-12-1350012867.99-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
175172  
Worker for 2012-10-12-1350012904.11-demo.wav  
GLG,44027,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 350344 frames written to 2012-10-12-1350012904.11-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
513836  
Worker for 2012-10-12-1350012910.01-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012910.01-demo.wav has no TGID  
done - result 1027672 frames written to 2012-10-12-1350012910.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350012926.81-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012926.81-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350012926.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350012929.37-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350012929.37-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350012929.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76852  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
117399  
Worker for 2012-10-12-1350013068.56-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 234798 frames written to 2012-10-12-1350013068.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
131140  
Worker for 2012-10-12-1350013071.72-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 262280 frames written to 2012-10-12-1350013071.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
136260  
Worker for 2012-10-12-1350013075.17-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 272520 frames written to 2012-10-12-1350013075.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
141380  
Worker for 2012-10-12-1350013078.63-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 282760 frames written to 2012-10-12-1350013078.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
594468  
Worker for 2012-10-12-1350013082.92-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1188936 frames written to 2012-10-12-1350013082.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
151620  
Worker for 2012-10-12-1350013097.4-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 303240 frames written to 2012-10-12-1350013097.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
659481  
Worker for 2012-10-12-1350013101.23-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013101.23-demo.wav has no TGID  
done - result 1318962 frames written to 2012-10-12-1350013101.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
508460  
Worker for 2012-10-12-1350013117.2-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013117.2-demo.wav has no TGID  
done - result 1016920 frames written to 2012-10-12-1350013117.2-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350013135.19-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013135.19-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350013135.19-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
155196  
Worker for 2012-10-12-1350013144.63-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 310392 frames written to 2012-10-12-1350013144.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350013148.64-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 196744 frames written to 2012-10-12-1350013148.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
189508  
Worker for 2012-10-12-1350013151.24-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 379016 frames written to 2012-10-12-1350013151.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
150596  
Worker for 2012-10-12-1350013156.03-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 301192 frames written to 2012-10-12-1350013156.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
789572  
Worker for 2012-10-12-1350013160.47-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013160.47-demo.wav has no TGID  
done - result 1579144 frames written to 2012-10-12-1350013160.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350013179.71-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013179.71-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350013179.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
141884  
Worker for 2012-10-12-1350013304.59-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 283768 frames written to 2012-10-12-1350013304.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
128068  
Worker for 2012-10-12-1350013308.21-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 256136 frames written to 2012-10-12-1350013308.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
272293  
Worker for 2012-10-12-1350013311.68-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 544586 frames written to 2012-10-12-1350013311.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
764411  
Worker for 2012-10-12-1350013318.47-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013318.47-demo.wav has no TGID  
done - result 1528822 frames written to 2012-10-12-1350013318.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350013341.8-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013341.8-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350013341.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350013344.4-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013344.4-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350013344.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
251678  
Worker for 2012-10-12-1350013412.03-demo.wav  
GLG,30234,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 503356 frames written to 2012-10-12-1350013412.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
675908  
Worker for 2012-10-12-1350013419.14-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013419.14-demo.wav has no TGID  
done - result 1351816 frames written to 2012-10-12-1350013419.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350013435.73-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013435.73-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350013435.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350013438.3-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013438.3-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350013438.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104680  
Worker for 2012-10-12-1350013454.22-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 209360 frames written to 2012-10-12-1350013454.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76031  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
548932  
Worker for 2012-10-12-1350013458.81-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013458.81-demo.wav has no TGID  
done - result 1097864 frames written to 2012-10-12-1350013458.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350013472.15-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013472.15-demo.wav has no TGID  
done - result 209032 frames written to 2012-10-12-1350013472.15-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
363633  
Worker for 2012-10-12-1350013522.62-demo.wav  
GLG,44011,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 727266 frames written to 2012-10-12-1350013522.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
145476  
Worker for 2012-10-12-1350013531.55-demo.wav  
GLG,44011,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 290952 frames written to 2012-10-12-1350013531.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
412949  
Worker for 2012-10-12-1350013535.88-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 825898 frames written to 2012-10-12-1350013535.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
111684  
Worker for 2012-10-12-1350013548.18-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 223368 frames written to 2012-10-12-1350013548.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1177668  
Worker for 2012-10-12-1350013551.12-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 2355336 frames written to 2012-10-12-1350013551.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
848964  
Worker for 2012-10-12-1350013579.69-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 1697928 frames written to 2012-10-12-1350013579.69-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1113156  
Worker for 2012-10-12-1350013600.4-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 2226312 frames written to 2012-10-12-1350013600.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
694664  
Worker for 2012-10-12-1350013629.81-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 1389328 frames written to 2012-10-12-1350013629.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350013646.58-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 184456 frames written to 2012-10-12-1350013646.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
107588  
Worker for 2012-10-12-1350013650.72-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 215176 frames written to 2012-10-12-1350013650.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2034756  
Worker for 2012-10-12-1350013653.66-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 4069512 frames written to 2012-10-12-1350013653.66-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
434244  
Worker for 2012-10-12-1350013702.35-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013702.35-demo.wav has no TGID  
done - result 868488 frames written to 2012-10-12-1350013702.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1166238  
Worker for 2012-10-12-1350013713.04-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 2332476 frames written to 2012-10-12-1350013713.04-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
761924  
Worker for 2012-10-12-1350013741.77-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013741.77-demo.wav has no TGID  
done - result 1523848 frames written to 2012-10-12-1350013741.77-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350013760.12-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013760.12-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350013760.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
139757  
Worker for 2012-10-12-1350013769.38-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 279514 frames written to 2012-10-12-1350013769.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
135236  
Worker for 2012-10-12-1350013773.73-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 270472 frames written to 2012-10-12-1350013773.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
188395  
Worker for 2012-10-12-1350013777.41-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 376790 frames written to 2012-10-12-1350013777.41-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
449604  
Worker for 2012-10-12-1350013782.39-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 899208 frames written to 2012-10-12-1350013782.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
142401  
Worker for 2012-10-12-1350013793.37-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 284802 frames written to 2012-10-12-1350013793.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1541188  
Worker for 2012-10-12-1350013797.1-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013797.1-demo.wav has no TGID  
done - result 3082376 frames written to 2012-10-12-1350013797.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
466576  
Worker for 2012-10-12-1350013834.0-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013834.0-demo.wav has no TGID  
done - result 933152 frames written to 2012-10-12-1350013834.0-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350013851.36-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013851.36-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350013851.36-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
110483  
Worker for 2012-10-12-1350013857.65-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 220966 frames written to 2012-10-12-1350013857.65-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
231204  
Worker for 2012-10-12-1350013861.59-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 462408 frames written to 2012-10-12-1350013861.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350013867.43-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 196744 frames written to 2012-10-12-1350013867.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
183364  
Worker for 2012-10-12-1350013870.07-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 366728 frames written to 2012-10-12-1350013870.07-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1107467  
Worker for 2012-10-12-1350013874.69-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013874.69-demo.wav has no TGID  
done - result 2214934 frames written to 2012-10-12-1350013874.69-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350013905.71-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013905.71-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350013905.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
147810  
Worker for 2012-10-12-1350013920.56-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 295620 frames written to 2012-10-12-1350013920.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
138308  
Worker for 2012-10-12-1350013924.62-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 276616 frames written to 2012-10-12-1350013924.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
126016  
Worker for 2012-10-12-1350013928.23-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 252032 frames written to 2012-10-12-1350013928.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
164932  
Worker for 2012-10-12-1350013931.75-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 329864 frames written to 2012-10-12-1350013931.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98331  
Worker for 2012-10-12-1350013935.98-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 196662 frames written to 2012-10-12-1350013935.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
383905  
Worker for 2012-10-12-1350013939.42-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 767810 frames written to 2012-10-12-1350013939.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
160597  
Worker for 2012-10-12-1350013949.51-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 321194 frames written to 2012-10-12-1350013949.51-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
456750  
Worker for 2012-10-12-1350013954.47-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 913500 frames written to 2012-10-12-1350013954.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
277405  
Worker for 2012-10-12-1350013968.33-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 554810 frames written to 2012-10-12-1350013968.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
157764  
Worker for 2012-10-12-1350013975.25-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 315528 frames written to 2012-10-12-1350013975.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
182340  
Worker for 2012-10-12-1350013979.34-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 364680 frames written to 2012-10-12-1350013979.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
127352  
Worker for 2012-10-12-1350013984.76-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350013984.76-demo.wav has no TGID  
done - result 254704 frames written to 2012-10-12-1350013984.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
376900  
Worker for 2012-10-12-1350013988.1-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 753800 frames written to 2012-10-12-1350013988.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
134212  
Worker for 2012-10-12-1350013997.34-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 268424 frames written to 2012-10-12-1350013997.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
198703  
Worker for 2012-10-12-1350014001.93-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 397406 frames written to 2012-10-12-1350014001.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1136708  
Worker for 2012-10-12-1350014007.03-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 2273416 frames written to 2012-10-12-1350014007.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
113732  
Worker for 2012-10-12-1350014036.29-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 227464 frames written to 2012-10-12-1350014036.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1913924  
Worker for 2012-10-12-1350014039.75-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 3827848 frames written to 2012-10-12-1350014039.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
170780  
Worker for 2012-10-12-1350014085.61-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 341560 frames written to 2012-10-12-1350014085.61-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2132036  
Worker for 2012-10-12-1350014089.97-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 4264072 frames written to 2012-10-12-1350014089.97-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1104964  
Worker for 2012-10-12-1350014141.06-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014141.06-demo.wav has no TGID  
done - result 2209928 frames written to 2012-10-12-1350014141.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
132164  
Worker for 2012-10-12-1350014167.67-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 264328 frames written to 2012-10-12-1350014167.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
151737  
Worker for 2012-10-12-1350014171.66-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 303474 frames written to 2012-10-12-1350014171.66-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
110660  
Worker for 2012-10-12-1350014175.54-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 221320 frames written to 2012-10-12-1350014175.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
267328  
Worker for 2012-10-12-1350014178.84-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014178.84-demo.wav has no TGID  
done - result 534656 frames written to 2012-10-12-1350014178.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
247876  
Worker for 2012-10-12-1350014185.44-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 495752 frames written to 2012-10-12-1350014185.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
111684  
Worker for 2012-10-12-1350014191.62-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 223368 frames written to 2012-10-12-1350014191.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1243204  
Worker for 2012-10-12-1350014194.54-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 2486408 frames written to 2012-10-12-1350014194.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1208262  
Worker for 2012-10-12-1350014225.26-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014225.26-demo.wav has no TGID  
done - result 2416524 frames written to 2012-10-12-1350014225.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
147413  
Worker for 2012-10-12-1350014254.33-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 294826 frames written to 2012-10-12-1350014254.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
559172  
Worker for 2012-10-12-1350014258.06-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014258.06-demo.wav has no TGID  
done - result 1118344 frames written to 2012-10-12-1350014258.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
227396  
Worker for 2012-10-12-1350014271.63-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 454792 frames written to 2012-10-12-1350014271.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
215796  
Worker for 2012-10-12-1350014277.92-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 431592 frames written to 2012-10-12-1350014277.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
187460  
Worker for 2012-10-12-1350014283.36-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014283.36-demo.wav has no TGID  
done - result 374920 frames written to 2012-10-12-1350014283.36-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
172712  
Worker for 2012-10-12-1350014288.52-demo.wav  
GLG,i1045420,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 345424 frames written to 2012-10-12-1350014288.52-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
495684  
Worker for 2012-10-12-1350014293.39-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 991368 frames written to 2012-10-12-1350014293.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
172100  
Worker for 2012-10-12-1350014306.16-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 344200 frames written to 2012-10-12-1350014306.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
198724  
Worker for 2012-10-12-1350014310.68-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 397448 frames written to 2012-10-12-1350014310.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
280601  
Worker for 2012-10-12-1350014315.7-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 561202 frames written to 2012-10-12-1350014315.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
793484  
Worker for 2012-10-12-1350014322.68-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014322.68-demo.wav has no TGID  
done - result 1586968 frames written to 2012-10-12-1350014322.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
108612  
Worker for 2012-10-12-1350014345.14-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014345.14-demo.wav has no TGID  
done - result 217224 frames written to 2012-10-12-1350014345.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350014348.1-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014348.1-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350014348.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350014350.57-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 209032 frames written to 2012-10-12-1350014350.57-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
74410  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
659524  
Worker for 2012-10-12-1350014356.63-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014356.63-demo.wav has no TGID  
done - result 1319048 frames written to 2012-10-12-1350014356.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
95300  
Worker for 2012-10-12-1350014372.56-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014372.56-demo.wav has no TGID  
done - result 190600 frames written to 2012-10-12-1350014372.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106164  
Worker for 2012-10-12-1350014392.82-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 212328 frames written to 2012-10-12-1350014392.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76064  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
588868  
Worker for 2012-10-12-1350014398.03-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014398.03-demo.wav has no TGID  
done - result 1177736 frames written to 2012-10-12-1350014398.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350014412.24-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014412.24-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350014412.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
148616  
Worker for 2012-10-12-1350014468.04-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 297232 frames written to 2012-10-12-1350014468.04-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
171076  
Worker for 2012-10-12-1350014472.39-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 342152 frames written to 2012-10-12-1350014472.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
197616  
Worker for 2012-10-12-1350014476.77-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 395232 frames written to 2012-10-12-1350014476.77-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
799961  
Worker for 2012-10-12-1350014482.03-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014482.03-demo.wav has no TGID  
done - result 1599922 frames written to 2012-10-12-1350014482.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106564  
Worker for 2012-10-12-1350014505.32-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014505.32-demo.wav has no TGID  
done - result 213128 frames written to 2012-10-12-1350014505.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350014508.12-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014508.12-demo.wav has no TGID  
done - result 186504 frames written to 2012-10-12-1350014508.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105540  
Worker for 2012-10-12-1350014518.52-demo.wav  
GLG,44039,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 211080 frames written to 2012-10-12-1350014518.52-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
150596  
Worker for 2012-10-12-1350014522.14-demo.wav  
GLG,44039,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 301192 frames written to 2012-10-12-1350014522.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106564  
Worker for 2012-10-12-1350014526.27-demo.wav  
GLG,44039,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 213128 frames written to 2012-10-12-1350014526.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1091652  
Worker for 2012-10-12-1350014529.17-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014529.17-demo.wav has no TGID  
done - result 2183304 frames written to 2012-10-12-1350014529.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
284735  
Worker for 2012-10-12-1350014555.41-demo.wav  
GLG,44039,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 569470 frames written to 2012-10-12-1350014555.41-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2217028  
Worker for 2012-10-12-1350014562.82-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014562.82-demo.wav has no TGID  
done - result 4434056 frames written to 2012-10-12-1350014562.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
393284  
Worker for 2012-10-12-1350014616.25-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 786568 frames written to 2012-10-12-1350014616.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
284698  
Worker for 2012-10-12-1350014625.93-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 569396 frames written to 2012-10-12-1350014625.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1132589  
Worker for 2012-10-12-1350014633.26-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 2265178 frames written to 2012-10-12-1350014633.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1168183  
Worker for 2012-10-12-1350014662.8-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014662.8-demo.wav has no TGID  
done - result 2336366 frames written to 2012-10-12-1350014662.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
515140  
Worker for 2012-10-12-1350014690.82-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1030280 frames written to 2012-10-12-1350014690.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
126002  
Worker for 2012-10-12-1350014703.32-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 252004 frames written to 2012-10-12-1350014703.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
938052  
Worker for 2012-10-12-1350014706.61-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 1876104 frames written to 2012-10-12-1350014706.61-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
175172  
Worker for 2012-10-12-1350014729.41-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 350344 frames written to 2012-10-12-1350014729.41-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
590916  
Worker for 2012-10-12-1350014734.09-demo.wav  
GLG,30234,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 1181832 frames written to 2012-10-12-1350014734.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
770116  
Worker for 2012-10-12-1350014748.39-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014748.39-demo.wav has no TGID  
done - result 1540232 frames written to 2012-10-12-1350014748.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
200772  
Worker for 2012-10-12-1350014766.93-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 401544 frames written to 2012-10-12-1350014766.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
148484  
Worker for 2012-10-12-1350014772.04-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 296968 frames written to 2012-10-12-1350014772.04-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
420932  
Worker for 2012-10-12-1350014776.46-demo.wav  
GLG,44039,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 841864 frames written to 2012-10-12-1350014776.46-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
265618  
Worker for 2012-10-12-1350014789.16-demo.wav  
GLG,44039,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 531236 frames written to 2012-10-12-1350014789.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
175172  
Worker for 2012-10-12-1350014795.79-demo.wav  
GLG,44039,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 350344 frames written to 2012-10-12-1350014795.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76846  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
288763  
Worker for 2012-10-12-1350014802.8-demo.wav  
GLG,44039,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 577526 frames written to 2012-10-12-1350014802.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
144452  
Worker for 2012-10-12-1350014809.98-demo.wav  
GLG,44039,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 288904 frames written to 2012-10-12-1350014809.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350014814.83-demo.wav  
GLG,44039,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 192648 frames written to 2012-10-12-1350014814.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1015525  
Worker for 2012-10-12-1350014817.43-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014817.43-demo.wav has no TGID  
done - result 2031050 frames written to 2012-10-12-1350014817.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
114756  
Worker for 2012-10-12-1350014845.82-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014845.82-demo.wav has no TGID  
done - result 229512 frames written to 2012-10-12-1350014845.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350014848.78-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350014848.78-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350014848.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
170347  
Worker for 2012-10-12-1350014979.59-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 340694 frames written to 2012-10-12-1350014979.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
656311  
Worker for 2012-10-12-1350014984.93-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 1312622 frames written to 2012-10-12-1350014984.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
262212  
Worker for 2012-10-12-1350015000.78-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 524424 frames written to 2012-10-12-1350015000.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
721988  
Worker for 2012-10-12-1350015007.18-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015007.18-demo.wav has no TGID  
done - result 1443976 frames written to 2012-10-12-1350015007.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
453700  
Worker for 2012-10-12-1350015024.57-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015024.57-demo.wav has no TGID  
done - result 907400 frames written to 2012-10-12-1350015024.57-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
749636  
Worker for 2012-10-12-1350015035.48-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015035.48-demo.wav has no TGID  
done - result 1499272 frames written to 2012-10-12-1350015035.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350015053.5-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015053.5-demo.wav has no TGID  
done - result 204936 frames written to 2012-10-12-1350015053.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
181981  
Worker for 2012-10-12-1350015187.71-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 363962 frames written to 2012-10-12-1350015187.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
74829  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
644164  
Worker for 2012-10-12-1350015193.7-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015193.7-demo.wav has no TGID  
done - result 1288328 frames written to 2012-10-12-1350015193.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350015209.22-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015209.22-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350015209.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75610  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
150868  
Worker for 2012-10-12-1350015355.49-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 301736 frames written to 2012-10-12-1350015355.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
255854  
Worker for 2012-10-12-1350015360.46-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 511708 frames written to 2012-10-12-1350015360.46-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
203844  
Worker for 2012-10-12-1350015366.9-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 407688 frames written to 2012-10-12-1350015366.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
663620  
Worker for 2012-10-12-1350015371.98-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 1327240 frames written to 2012-10-12-1350015371.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350015388.04-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 184456 frames written to 2012-10-12-1350015388.04-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
114680  
Worker for 2012-10-12-1350015390.5-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 229360 frames written to 2012-10-12-1350015390.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
796740  
Worker for 2012-10-12-1350015394.55-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015394.55-demo.wav has no TGID  
done - result 1593480 frames written to 2012-10-12-1350015394.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350015413.69-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015413.69-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350015413.69-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350015416.23-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015416.23-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350015416.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
44106  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
121318  
Worker for 2012-10-12-1350015622.79-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 242636 frames written to 2012-10-12-1350015622.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
631405  
Worker for 2012-10-12-1350015627.21-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1262810 frames written to 2012-10-12-1350015627.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
852036  
Worker for 2012-10-12-1350015642.45-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1704072 frames written to 2012-10-12-1350015642.45-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2851908  
Worker for 2012-10-12-1350015662.88-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015662.88-demo.wav has no TGID  
done - result 5703816 frames written to 2012-10-12-1350015662.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
625732  
Worker for 2012-10-12-1350015731.63-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015731.63-demo.wav has no TGID  
done - result 1251464 frames written to 2012-10-12-1350015731.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350015746.71-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015746.71-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350015746.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350015749.25-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015749.25-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350015749.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
153089  
Worker for 2012-10-12-1350015754.75-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 306178 frames written to 2012-10-12-1350015754.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
612467  
Worker for 2012-10-12-1350015759.72-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 1224934 frames written to 2012-10-12-1350015759.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
250918  
Worker for 2012-10-12-1350015774.76-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 501836 frames written to 2012-10-12-1350015774.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
713974  
Worker for 2012-10-12-1350015781.94-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015781.94-demo.wav has no TGID  
done - result 1427948 frames written to 2012-10-12-1350015781.94-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
458820  
Worker for 2012-10-12-1350015799.22-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 917640 frames written to 2012-10-12-1350015799.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
842944  
Worker for 2012-10-12-1350015810.79-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015810.79-demo.wav has no TGID  
done - result 1685888 frames written to 2012-10-12-1350015810.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350015835.09-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015835.09-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350015835.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350015837.69-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015837.69-demo.wav has no TGID  
done - result 186504 frames written to 2012-10-12-1350015837.69-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
173742  
Worker for 2012-10-12-1350015852.64-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 347484 frames written to 2012-10-12-1350015852.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
141380  
Worker for 2012-10-12-1350015856.89-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 282760 frames written to 2012-10-12-1350015856.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
172656  
Worker for 2012-10-12-1350015861.43-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 345312 frames written to 2012-10-12-1350015861.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
131119  
Worker for 2012-10-12-1350015865.74-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 262238 frames written to 2012-10-12-1350015865.74-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
429235  
Worker for 2012-10-12-1350015869.84-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 858470 frames written to 2012-10-12-1350015869.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
77892  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
185412  
Worker for 2012-10-12-1350015883.15-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 370824 frames written to 2012-10-12-1350015883.15-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
594815  
Worker for 2012-10-12-1350015887.74-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015887.74-demo.wav has no TGID  
done - result 1189630 frames written to 2012-10-12-1350015887.74-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
107588  
Worker for 2012-10-12-1350015905.77-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015905.77-demo.wav has no TGID  
done - result 215176 frames written to 2012-10-12-1350015905.77-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
95300  
Worker for 2012-10-12-1350015908.75-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015908.75-demo.wav has no TGID  
done - result 190600 frames written to 2012-10-12-1350015908.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
115652  
Worker for 2012-10-12-1350015968.61-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 231304 frames written to 2012-10-12-1350015968.61-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
545860  
Worker for 2012-10-12-1350015972.72-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015972.72-demo.wav has no TGID  
done - result 1091720 frames written to 2012-10-12-1350015972.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350015985.85-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350015985.85-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350015985.85-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105481  
Worker for 2012-10-12-1350016000.08-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 210962 frames written to 2012-10-12-1350016000.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
118852  
Worker for 2012-10-12-1350016003.21-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 237704 frames written to 2012-10-12-1350016003.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
259140  
Worker for 2012-10-12-1350016006.48-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 518280 frames written to 2012-10-12-1350016006.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
270404  
Worker for 2012-10-12-1350016013.23-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016013.23-demo.wav has no TGID  
done - result 540808 frames written to 2012-10-12-1350016013.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
511457  
Worker for 2012-10-12-1350016019.92-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016019.92-demo.wav has no TGID  
done - result 1022914 frames written to 2012-10-12-1350016019.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350016038.06-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016038.06-demo.wav has no TGID  
done - result 209032 frames written to 2012-10-12-1350016038.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
119650  
Worker for 2012-10-12-1350016046.51-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 239300 frames written to 2012-10-12-1350016046.51-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
560196  
Worker for 2012-10-12-1350016050.86-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016050.86-demo.wav has no TGID  
done - result 1120392 frames written to 2012-10-12-1350016050.86-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350016064.72-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016064.72-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350016064.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350016067.33-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016067.33-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350016067.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
146326  
Worker for 2012-10-12-1350016078.28-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 292652 frames written to 2012-10-12-1350016078.28-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75408  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
197700  
Worker for 2012-10-12-1350016083.62-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 395400 frames written to 2012-10-12-1350016083.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
229198  
Worker for 2012-10-12-1350016089.63-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 458396 frames written to 2012-10-12-1350016089.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
370867  
Worker for 2012-10-12-1350016096.11-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 741734 frames written to 2012-10-12-1350016096.11-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
138308  
Worker for 2012-10-12-1350016105.31-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 276616 frames written to 2012-10-12-1350016105.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1189537  
Worker for 2012-10-12-1350016108.82-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 2379074 frames written to 2012-10-12-1350016108.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
152644  
Worker for 2012-10-12-1350016140.95-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 305288 frames written to 2012-10-12-1350016140.95-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
257585  
Worker for 2012-10-12-1350016145.74-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 515170 frames written to 2012-10-12-1350016145.74-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
337987  
Worker for 2012-10-12-1350016152.44-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 675974 frames written to 2012-10-12-1350016152.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
74708  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
122948  
Worker for 2012-10-12-1350016162.92-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 245896 frames written to 2012-10-12-1350016162.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
376900  
Worker for 2012-10-12-1350016166.31-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 753800 frames written to 2012-10-12-1350016166.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76868  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
136229  
Worker for 2012-10-12-1350016177.23-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 272458 frames written to 2012-10-12-1350016177.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
365636  
Worker for 2012-10-12-1350016181.14-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016181.14-demo.wav has no TGID  
done - result 731272 frames written to 2012-10-12-1350016181.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
747588  
Worker for 2012-10-12-1350016190.16-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016190.16-demo.wav has no TGID  
done - result 1495176 frames written to 2012-10-12-1350016190.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
139332  
Worker for 2012-10-12-1350016208.39-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 278664 frames written to 2012-10-12-1350016208.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350016212.49-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 198792 frames written to 2012-10-12-1350016212.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
128068  
Worker for 2012-10-12-1350016215.11-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 256136 frames written to 2012-10-12-1350016215.11-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
77880  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
897092  
Worker for 2012-10-12-1350016221.42-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1794184 frames written to 2012-10-12-1350016221.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1007684  
Worker for 2012-10-12-1350016243.05-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016243.05-demo.wav has no TGID  
done - result 2015368 frames written to 2012-10-12-1350016243.05-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
485872  
Worker for 2012-10-12-1350016267.71-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 971744 frames written to 2012-10-12-1350016267.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
237215  
Worker for 2012-10-12-1350016280.29-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 474430 frames written to 2012-10-12-1350016280.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
245828  
Worker for 2012-10-12-1350016286.15-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 491656 frames written to 2012-10-12-1350016286.15-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1419329  
Worker for 2012-10-12-1350016292.81-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016292.81-demo.wav has no TGID  
done - result 2838658 frames written to 2012-10-12-1350016292.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
488892  
Worker for 2012-10-12-1350016326.82-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016326.82-demo.wav has no TGID  
done - result 977784 frames written to 2012-10-12-1350016326.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350016343.61-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016343.61-demo.wav has no TGID  
done - result 204936 frames written to 2012-10-12-1350016343.61-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350016346.12-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016346.12-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350016346.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
162624  
Worker for 2012-10-12-1350016376.62-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 325248 frames written to 2012-10-12-1350016376.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
236612  
Worker for 2012-10-12-1350016380.7-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 473224 frames written to 2012-10-12-1350016380.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
202584  
Worker for 2012-10-12-1350016386.99-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 405168 frames written to 2012-10-12-1350016386.99-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
777321  
Worker for 2012-10-12-1350016392.67-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1554642 frames written to 2012-10-12-1350016392.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350016411.4-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 198792 frames written to 2012-10-12-1350016411.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
509990  
Worker for 2012-10-12-1350016414.72-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016414.72-demo.wav has no TGID  
done - result 1019980 frames written to 2012-10-12-1350016414.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350016431.02-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016431.02-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350016431.02-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350016433.64-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016433.64-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350016433.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105484  
Worker for 2012-10-12-1350016466.06-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 210968 frames written to 2012-10-12-1350016466.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
138308  
Worker for 2012-10-12-1350016468.9-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 276616 frames written to 2012-10-12-1350016468.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
248856  
Worker for 2012-10-12-1350016472.71-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 497712 frames written to 2012-10-12-1350016472.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1492036  
Worker for 2012-10-12-1350016478.9-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 2984072 frames written to 2012-10-12-1350016478.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
109636  
Worker for 2012-10-12-1350016514.91-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 219272 frames written to 2012-10-12-1350016514.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1263684  
Worker for 2012-10-12-1350016518.44-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 2527368 frames written to 2012-10-12-1350016518.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
169028  
Worker for 2012-10-12-1350016548.91-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 338056 frames written to 2012-10-12-1350016548.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
111662  
Worker for 2012-10-12-1350016553.96-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 223324 frames written to 2012-10-12-1350016553.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1271866  
Worker for 2012-10-12-1350016557.29-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 2543732 frames written to 2012-10-12-1350016557.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
525380  
Worker for 2012-10-12-1350016589.87-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1050760 frames written to 2012-10-12-1350016589.87-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
390491  
Worker for 2012-10-12-1350016603.47-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 780982 frames written to 2012-10-12-1350016603.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
142360  
Worker for 2012-10-12-1350016613.06-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 284720 frames written to 2012-10-12-1350016613.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
780356  
Worker for 2012-10-12-1350016617.32-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016617.32-demo.wav has no TGID  
done - result 1560712 frames written to 2012-10-12-1350016617.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
170052  
Worker for 2012-10-12-1350016636.22-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 340104 frames written to 2012-10-12-1350016636.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
222276  
Worker for 2012-10-12-1350016641.03-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 444552 frames written to 2012-10-12-1350016641.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
665622  
Worker for 2012-10-12-1350016647.2-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016647.2-demo.wav has no TGID  
done - result 1331244 frames written to 2012-10-12-1350016647.2-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
510895  
Worker for 2012-10-12-1350016663.2-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016663.2-demo.wav has no TGID  
done - result 1021790 frames written to 2012-10-12-1350016663.2-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350016681.37-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016681.37-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350016681.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350016683.88-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016683.88-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350016683.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
249924  
Worker for 2012-10-12-1350016687.16-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 499848 frames written to 2012-10-12-1350016687.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
286544  
Worker for 2012-10-12-1350016694.64-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 573088 frames written to 2012-10-12-1350016694.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
759779  
Worker for 2012-10-12-1350016702.56-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016702.56-demo.wav has no TGID  
done - result 1519558 frames written to 2012-10-12-1350016702.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350016720.88-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016720.88-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350016720.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350016723.74-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016723.74-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350016723.74-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105491  
Worker for 2012-10-12-1350016738.53-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 210982 frames written to 2012-10-12-1350016738.53-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
491588  
Worker for 2012-10-12-1350016742.3-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016742.3-demo.wav has no TGID  
done - result 983176 frames written to 2012-10-12-1350016742.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350016754.25-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016754.25-demo.wav has no TGID  
done - result 204936 frames written to 2012-10-12-1350016754.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350016756.81-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016756.81-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350016756.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
248110  
Worker for 2012-10-12-1350016774.5-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 496220 frames written to 2012-10-12-1350016774.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
79940  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
249924  
Worker for 2012-10-12-1350016783.58-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 499848 frames written to 2012-10-12-1350016783.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1088580  
Worker for 2012-10-12-1350016791.31-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 2177160 frames written to 2012-10-12-1350016791.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
77892  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
160794  
Worker for 2012-10-12-1350016819.8-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016819.8-demo.wav has no TGID  
done - result 321588 frames written to 2012-10-12-1350016819.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
294980  
Worker for 2012-10-12-1350016823.81-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 589960 frames written to 2012-10-12-1350016823.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
180054  
Worker for 2012-10-12-1350016831.84-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 360108 frames written to 2012-10-12-1350016831.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
767044  
Worker for 2012-10-12-1350016837.37-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016837.37-demo.wav has no TGID  
done - result 1534088 frames written to 2012-10-12-1350016837.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350016855.78-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016855.78-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350016855.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
114613  
Worker for 2012-10-12-1350016928.19-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 229226 frames written to 2012-10-12-1350016928.19-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
528452  
Worker for 2012-10-12-1350016932.26-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016932.26-demo.wav has no TGID  
done - result 1056904 frames written to 2012-10-12-1350016932.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350016945.0-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350016945.0-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350016945.0-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
189227  
Worker for 2012-10-12-1350016959.54-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 378454 frames written to 2012-10-12-1350016959.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
227335  
Worker for 2012-10-12-1350016964.71-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 454670 frames written to 2012-10-12-1350016964.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
363131  
Worker for 2012-10-12-1350016971.26-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 726262 frames written to 2012-10-12-1350016971.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2970692  
Worker for 2012-10-12-1350016980.62-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 5941384 frames written to 2012-10-12-1350016980.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
390917  
Worker for 2012-10-12-1350017051.58-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 781834 frames written to 2012-10-12-1350017051.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
194478  
Worker for 2012-10-12-1350017061.49-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 388956 frames written to 2012-10-12-1350017061.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76868  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
161845  
Worker for 2012-10-12-1350017069.21-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 323690 frames written to 2012-10-12-1350017069.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
876612  
Worker for 2012-10-12-1350017073.3-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1753224 frames written to 2012-10-12-1350017073.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
191917  
Worker for 2012-10-12-1350017096.84-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 383834 frames written to 2012-10-12-1350017096.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
139332  
Worker for 2012-10-12-1350017101.73-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 278664 frames written to 2012-10-12-1350017101.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
516164  
Worker for 2012-10-12-1350017105.33-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017105.33-demo.wav has no TGID  
done - result 1032328 frames written to 2012-10-12-1350017105.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
420932  
Worker for 2012-10-12-1350017117.84-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 841864 frames written to 2012-10-12-1350017117.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
675845  
Worker for 2012-10-12-1350017128.78-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017128.78-demo.wav has no TGID  
done - result 1351690 frames written to 2012-10-12-1350017128.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350017145.01-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017145.01-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350017145.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
140486  
Worker for 2012-10-12-1350017149.54-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 280972 frames written to 2012-10-12-1350017149.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
582724  
Worker for 2012-10-12-1350017154.17-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017154.17-demo.wav has no TGID  
done - result 1165448 frames written to 2012-10-12-1350017154.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350017168.24-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017168.24-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350017168.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350017170.79-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017170.79-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350017170.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
257092  
Worker for 2012-10-12-1350017173.08-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 514184 frames written to 2012-10-12-1350017173.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
148548  
Worker for 2012-10-12-1350017179.36-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 297096 frames written to 2012-10-12-1350017179.36-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
109570  
Worker for 2012-10-12-1350017183.14-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 219140 frames written to 2012-10-12-1350017183.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
203844  
Worker for 2012-10-12-1350017185.99-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017185.99-demo.wav has no TGID  
done - result 407688 frames written to 2012-10-12-1350017185.99-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
152644  
Worker for 2012-10-12-1350017191.08-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 305288 frames written to 2012-10-12-1350017191.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
168894  
Worker for 2012-10-12-1350017195.89-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 337788 frames written to 2012-10-12-1350017195.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
833604  
Worker for 2012-10-12-1350017200.3-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017200.3-demo.wav has no TGID  
done - result 1667208 frames written to 2012-10-12-1350017200.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
547325  
Worker for 2012-10-12-1350017220.39-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017220.39-demo.wav has no TGID  
done - result 1094650 frames written to 2012-10-12-1350017220.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
95300  
Worker for 2012-10-12-1350017238.09-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017238.09-demo.wav has no TGID  
done - result 190600 frames written to 2012-10-12-1350017238.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350017240.5-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017240.5-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350017240.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105115  
Worker for 2012-10-12-1350017246.0-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 210230 frames written to 2012-10-12-1350017246.0-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350017248.64-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 200840 frames written to 2012-10-12-1350017248.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350017251.48-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 204936 frames written to 2012-10-12-1350017251.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
116804  
Worker for 2012-10-12-1350017254.18-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 233608 frames written to 2012-10-12-1350017254.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
208848  
Worker for 2012-10-12-1350017257.46-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 417696 frames written to 2012-10-12-1350017257.46-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
759876  
Worker for 2012-10-12-1350017263.34-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017263.34-demo.wav has no TGID  
done - result 1519752 frames written to 2012-10-12-1350017263.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105540  
Worker for 2012-10-12-1350017281.64-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017281.64-demo.wav has no TGID  
done - result 211080 frames written to 2012-10-12-1350017281.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350017284.3-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017284.3-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350017284.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
130634  
Worker for 2012-10-12-1350017336.62-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 261268 frames written to 2012-10-12-1350017336.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
118852  
Worker for 2012-10-12-1350017339.93-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 237704 frames written to 2012-10-12-1350017339.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1154116  
Worker for 2012-10-12-1350017343.96-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017343.96-demo.wav has no TGID  
done - result 2308232 frames written to 2012-10-12-1350017343.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
513756  
Worker for 2012-10-12-1350017371.67-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017371.67-demo.wav has no TGID  
done - result 1027512 frames written to 2012-10-12-1350017371.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350017389.35-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017389.35-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350017389.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350017391.96-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017391.96-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350017391.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105059  
Worker for 2012-10-12-1350017509.26-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 210118 frames written to 2012-10-12-1350017509.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
237090  
Worker for 2012-10-12-1350017515.29-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 474180 frames written to 2012-10-12-1350017515.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
648260  
Worker for 2012-10-12-1350017521.86-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017521.86-demo.wav has no TGID  
done - result 1296520 frames written to 2012-10-12-1350017521.86-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350017537.51-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017537.51-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350017537.51-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350017540.0-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017540.0-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350017540.0-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
153340  
Worker for 2012-10-12-1350017559.36-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 306680 frames written to 2012-10-12-1350017559.36-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
108612  
Worker for 2012-10-12-1350017563.68-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 217224 frames written to 2012-10-12-1350017563.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
162884  
Worker for 2012-10-12-1350017566.6-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 325768 frames written to 2012-10-12-1350017566.6-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2126912  
Worker for 2012-10-12-1350017571.84-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017571.84-demo.wav has no TGID  
done - result 4253824 frames written to 2012-10-12-1350017571.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
202820  
Worker for 2012-10-12-1350017622.74-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 405640 frames written to 2012-10-12-1350017622.74-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
141349  
Worker for 2012-10-12-1350017627.73-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 282698 frames written to 2012-10-12-1350017627.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1042500  
Worker for 2012-10-12-1350017631.44-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017631.44-demo.wav has no TGID  
done - result 2085000 frames written to 2012-10-12-1350017631.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
491616  
Worker for 2012-10-12-1350017656.51-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017656.51-demo.wav has no TGID  
done - result 983232 frames written to 2012-10-12-1350017656.51-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350017673.84-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017673.84-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350017673.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
182783  
Worker for 2012-10-12-1350017724.84-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 365566 frames written to 2012-10-12-1350017724.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
133188  
Worker for 2012-10-12-1350017729.38-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 266376 frames written to 2012-10-12-1350017729.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
150596  
Worker for 2012-10-12-1350017732.75-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 301192 frames written to 2012-10-12-1350017732.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
572465  
Worker for 2012-10-12-1350017736.95-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017736.95-demo.wav has no TGID  
done - result 1144930 frames written to 2012-10-12-1350017736.95-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350017754.78-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017754.78-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350017754.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350017757.4-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017757.4-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350017757.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
109212  
Worker for 2012-10-12-1350017765.11-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 218424 frames written to 2012-10-12-1350017765.11-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
397658  
Worker for 2012-10-12-1350017768.93-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 795316 frames written to 2012-10-12-1350017768.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
133188  
Worker for 2012-10-12-1350017778.72-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 266376 frames written to 2012-10-12-1350017778.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
724860  
Worker for 2012-10-12-1350017783.38-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017783.38-demo.wav has no TGID  
done - result 1449720 frames written to 2012-10-12-1350017783.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350017801.08-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017801.08-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350017801.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
134433  
Worker for 2012-10-12-1350017856.03-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 268866 frames written to 2012-10-12-1350017856.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
151620  
Worker for 2012-10-12-1350017859.48-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 303240 frames written to 2012-10-12-1350017859.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
120900  
Worker for 2012-10-12-1350017863.38-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 241800 frames written to 2012-10-12-1350017863.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76868  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
77812  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93250  
Worker for 2012-10-12-1350017869.98-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 186500 frames written to 2012-10-12-1350017869.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
347204  
Worker for 2012-10-12-1350017872.93-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 694408 frames written to 2012-10-12-1350017872.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
228416  
Worker for 2012-10-12-1350017881.43-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 456832 frames written to 2012-10-12-1350017881.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
920644  
Worker for 2012-10-12-1350017887.35-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 1841288 frames written to 2012-10-12-1350017887.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
753603  
Worker for 2012-10-12-1350017910.3-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017910.3-demo.wav has no TGID  
done - result 1507206 frames written to 2012-10-12-1350017910.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98262  
Worker for 2012-10-12-1350017928.41-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017928.41-demo.wav has no TGID  
done - result 196524 frames written to 2012-10-12-1350017928.41-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350017930.88-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017930.88-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350017930.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
124061  
Worker for 2012-10-12-1350017944.47-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 248122 frames written to 2012-10-12-1350017944.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
145553  
Worker for 2012-10-12-1350017948.79-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 291106 frames written to 2012-10-12-1350017948.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
512124  
Worker for 2012-10-12-1350017953.42-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017953.42-demo.wav has no TGID  
done - result 1024248 frames written to 2012-10-12-1350017953.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350017969.52-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017969.52-demo.wav has no TGID  
done - result 209032 frames written to 2012-10-12-1350017969.52-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350017972.22-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 180360 frames written to 2012-10-12-1350017972.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
119751  
Worker for 2012-10-12-1350017987.45-demo.wav  
GLG,10301,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 239502 frames written to 2012-10-12-1350017987.45-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
627780  
Worker for 2012-10-12-1350017992.99-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350017992.99-demo.wav has no TGID  
done - result 1255560 frames written to 2012-10-12-1350017992.99-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
144452  
Worker for 2012-10-12-1350018008.1-demo.wav  
GLG,10301,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 288904 frames written to 2012-10-12-1350018008.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
367676  
Worker for 2012-10-12-1350018013.88-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 735352 frames written to 2012-10-12-1350018013.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
386550  
Worker for 2012-10-12-1350018023.71-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 773100 frames written to 2012-10-12-1350018023.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350018033.17-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 194696 frames written to 2012-10-12-1350018033.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
522410  
Worker for 2012-10-12-1350018036.71-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018036.71-demo.wav has no TGID  
done - result 1044820 frames written to 2012-10-12-1350018036.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350018052.95-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018052.95-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350018052.95-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350018055.55-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018055.55-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350018055.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
200365  
Worker for 2012-10-12-1350018097.35-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 400730 frames written to 2012-10-12-1350018097.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
680004  
Worker for 2012-10-12-1350018104.57-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018104.57-demo.wav has no TGID  
done - result 1360008 frames written to 2012-10-12-1350018104.57-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350018121.06-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018121.06-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350018121.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105245  
Worker for 2012-10-12-1350018139.8-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 210490 frames written to 2012-10-12-1350018139.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75679  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
602180  
Worker for 2012-10-12-1350018144.91-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018144.91-demo.wav has no TGID  
done - result 1204360 frames written to 2012-10-12-1350018144.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350018159.37-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018159.37-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350018159.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105976  
Worker for 2012-10-12-1350018226.56-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 211952 frames written to 2012-10-12-1350018226.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350018229.53-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 184456 frames written to 2012-10-12-1350018229.53-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
365636  
Worker for 2012-10-12-1350018232.22-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 731272 frames written to 2012-10-12-1350018232.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1171792  
Worker for 2012-10-12-1350018241.49-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018241.49-demo.wav has no TGID  
done - result 2343584 frames written to 2012-10-12-1350018241.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350018273.14-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018273.14-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350018273.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350018275.76-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018275.76-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350018275.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
134840  
Worker for 2012-10-12-1350018284.14-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 269680 frames written to 2012-10-12-1350018284.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350018287.69-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 200840 frames written to 2012-10-12-1350018287.69-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
119876  
Worker for 2012-10-12-1350018290.33-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 239752 frames written to 2012-10-12-1350018290.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
531712  
Worker for 2012-10-12-1350018294.27-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018294.27-demo.wav has no TGID  
done - result 1063424 frames written to 2012-10-12-1350018294.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350018311.91-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018311.91-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350018311.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350018314.55-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018314.55-demo.wav has no TGID  
done - result 186504 frames written to 2012-10-12-1350018314.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
195571  
Worker for 2012-10-12-1350018366.82-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 391142 frames written to 2012-10-12-1350018366.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
140356  
Worker for 2012-10-12-1350018372.25-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 280712 frames written to 2012-10-12-1350018372.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
575544  
Worker for 2012-10-12-1350018376.65-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018376.65-demo.wav has no TGID  
done - result 1151088 frames written to 2012-10-12-1350018376.65-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
230468  
Worker for 2012-10-12-1350018390.54-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 460936 frames written to 2012-10-12-1350018390.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1457220  
Worker for 2012-10-12-1350018396.29-demo.wav  
GLG,i1045200,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 2914440 frames written to 2012-10-12-1350018396.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
583747  
Worker for 2012-10-12-1350018431.71-demo.wav  
GLG,i1045200,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1167494 frames written to 2012-10-12-1350018431.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
134212  
Worker for 2012-10-12-1350018445.82-demo.wav  
GLG,i1045200,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 268424 frames written to 2012-10-12-1350018445.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
770115  
Worker for 2012-10-12-1350018450.62-demo.wav  
GLG,i1045200,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1540230 frames written to 2012-10-12-1350018450.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
465016  
Worker for 2012-10-12-1350018471.64-demo.wav  
GLG,i1045200,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 930032 frames written to 2012-10-12-1350018471.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
503876  
Worker for 2012-10-12-1350018484.11-demo.wav  
GLG,44036,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 1007752 frames written to 2012-10-12-1350018484.11-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75360  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
655428  
Worker for 2012-10-12-1350018498.3-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1310856 frames written to 2012-10-12-1350018498.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
231492  
Worker for 2012-10-12-1350018515.57-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 462984 frames written to 2012-10-12-1350018515.57-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
153668  
Worker for 2012-10-12-1350018521.56-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018521.56-demo.wav has no TGID  
done - result 307336 frames written to 2012-10-12-1350018521.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
361540  
Worker for 2012-10-12-1350018525.44-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 723080 frames written to 2012-10-12-1350018525.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1249348  
Worker for 2012-10-12-1350018534.21-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018534.21-demo.wav has no TGID  
done - result 2498696 frames written to 2012-10-12-1350018534.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
199748  
Worker for 2012-10-12-1350018564.17-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 399496 frames written to 2012-10-12-1350018564.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
113732  
Worker for 2012-10-12-1350018569.12-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 227464 frames written to 2012-10-12-1350018569.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
578297  
Worker for 2012-10-12-1350018572.42-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018572.42-demo.wav has no TGID  
done - result 1156594 frames written to 2012-10-12-1350018572.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
109636  
Worker for 2012-10-12-1350018590.46-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018590.46-demo.wav has no TGID  
done - result 219272 frames written to 2012-10-12-1350018590.46-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350018593.51-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018593.51-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350018593.51-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
159158  
Worker for 2012-10-12-1350018634.21-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 318316 frames written to 2012-10-12-1350018634.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
154692  
Worker for 2012-10-12-1350018639.07-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 309384 frames written to 2012-10-12-1350018639.07-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1439812  
Worker for 2012-10-12-1350018643.02-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018643.02-demo.wav has no TGID  
done - result 2879624 frames written to 2012-10-12-1350018643.02-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
127358  
Worker for 2012-10-12-1350018677.92-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 254716 frames written to 2012-10-12-1350018677.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
237392  
Worker for 2012-10-12-1350018682.07-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 474784 frames written to 2012-10-12-1350018682.07-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
286816  
Worker for 2012-10-12-1350018688.75-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 573632 frames written to 2012-10-12-1350018688.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
723012  
Worker for 2012-10-12-1350018695.88-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018695.88-demo.wav has no TGID  
done - result 1446024 frames written to 2012-10-12-1350018695.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
258116  
Worker for 2012-10-12-1350018713.34-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018713.34-demo.wav has no TGID  
done - result 516232 frames written to 2012-10-12-1350018713.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
404666  
Worker for 2012-10-12-1350018720.19-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 809332 frames written to 2012-10-12-1350018720.19-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1021931  
Worker for 2012-10-12-1350018730.79-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018730.79-demo.wav has no TGID  
done - result 2043862 frames written to 2012-10-12-1350018730.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350018759.03-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018759.03-demo.wav has no TGID  
done - result 209032 frames written to 2012-10-12-1350018759.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350018761.73-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018761.73-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350018761.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
149631  
Worker for 2012-10-12-1350018830.92-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 299262 frames written to 2012-10-12-1350018830.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
138308  
Worker for 2012-10-12-1350018835.41-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 276616 frames written to 2012-10-12-1350018835.41-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1530948  
Worker for 2012-10-12-1350018838.97-demo.wav  
GLG,44011,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 3061896 frames written to 2012-10-12-1350018838.97-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1694000  
Worker for 2012-10-12-1350018875.69-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018875.69-demo.wav has no TGID  
done - result 3388000 frames written to 2012-10-12-1350018875.69-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105540  
Worker for 2012-10-12-1350018920.33-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018920.33-demo.wav has no TGID  
done - result 211080 frames written to 2012-10-12-1350018920.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350018922.99-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018922.99-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350018922.99-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76868  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
123141  
Worker for 2012-10-12-1350018935.97-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 246282 frames written to 2012-10-12-1350018935.97-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
159960  
Worker for 2012-10-12-1350018940.27-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 319920 frames written to 2012-10-12-1350018940.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1816644  
Worker for 2012-10-12-1350018944.49-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018944.49-demo.wav has no TGID  
done - result 3633288 frames written to 2012-10-12-1350018944.49-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
669650  
Worker for 2012-10-12-1350018988.37-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350018988.37-demo.wav has no TGID  
done - result 1339300 frames written to 2012-10-12-1350018988.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
185412  
Worker for 2012-10-12-1350019004.55-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 370824 frames written to 2012-10-12-1350019004.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
638999  
Worker for 2012-10-12-1350019010.42-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019010.42-demo.wav has no TGID  
done - result 1277998 frames written to 2012-10-12-1350019010.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350019025.84-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019025.84-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350019025.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350019028.75-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019028.75-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350019028.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
128531  
Worker for 2012-10-12-1350019041.98-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 257062 frames written to 2012-10-12-1350019041.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
146500  
Worker for 2012-10-12-1350019045.23-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 293000 frames written to 2012-10-12-1350019045.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
199748  
Worker for 2012-10-12-1350019048.98-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 399496 frames written to 2012-10-12-1350019048.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
164932  
Worker for 2012-10-12-1350019053.98-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 329864 frames written to 2012-10-12-1350019053.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2840627  
Worker for 2012-10-12-1350019058.14-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 5681254 frames written to 2012-10-12-1350019058.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
221252  
Worker for 2012-10-12-1350019125.95-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 442504 frames written to 2012-10-12-1350019125.95-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
111326  
Worker for 2012-10-12-1350019132.51-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 222652 frames written to 2012-10-12-1350019132.51-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
595143  
Worker for 2012-10-12-1350019135.67-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019135.67-demo.wav has no TGID  
done - result 1190286 frames written to 2012-10-12-1350019135.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
119876  
Worker for 2012-10-12-1350019153.4-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019153.4-demo.wav has no TGID  
done - result 239752 frames written to 2012-10-12-1350019153.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350019156.46-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019156.46-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350019156.46-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350019158.94-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019158.94-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350019158.94-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
81988  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106128  
Worker for 2012-10-12-1350019166.07-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 212256 frames written to 2012-10-12-1350019166.07-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75451  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
313412  
Worker for 2012-10-12-1350019171.55-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 626824 frames written to 2012-10-12-1350019171.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106564  
Worker for 2012-10-12-1350019179.89-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 213128 frames written to 2012-10-12-1350019179.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
181316  
Worker for 2012-10-12-1350019183.96-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 362632 frames written to 2012-10-12-1350019183.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
116684  
Worker for 2012-10-12-1350019188.51-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 233368 frames written to 2012-10-12-1350019188.51-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
968739  
Worker for 2012-10-12-1350019192.02-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019192.02-demo.wav has no TGID  
done - result 1937478 frames written to 2012-10-12-1350019192.02-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
485444  
Worker for 2012-10-12-1350019215.33-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 970888 frames written to 2012-10-12-1350019215.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
211012  
Worker for 2012-10-12-1350019227.26-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 422024 frames written to 2012-10-12-1350019227.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
269308  
Worker for 2012-10-12-1350019232.54-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 538616 frames written to 2012-10-12-1350019232.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
593972  
Worker for 2012-10-12-1350019239.54-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019239.54-demo.wav has no TGID  
done - result 1187944 frames written to 2012-10-12-1350019239.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350019258.9-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019258.9-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350019258.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
158431  
Worker for 2012-10-12-1350019290.22-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 316862 frames written to 2012-10-12-1350019290.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
173124  
Worker for 2012-10-12-1350019295.02-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 346248 frames written to 2012-10-12-1350019295.02-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
406596  
Worker for 2012-10-12-1350019299.75-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 813192 frames written to 2012-10-12-1350019299.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
79940  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
210998  
Worker for 2012-10-12-1350019312.39-demo.wav  
GLG,44036,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 421996 frames written to 2012-10-12-1350019312.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
244804  
Worker for 2012-10-12-1350019317.68-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019317.68-demo.wav has no TGID  
done - result 489608 frames written to 2012-10-12-1350019317.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
371780  
Worker for 2012-10-12-1350019323.75-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 743560 frames written to 2012-10-12-1350019323.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1280068  
Worker for 2012-10-12-1350019332.83-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019332.83-demo.wav has no TGID  
done - result 2560136 frames written to 2012-10-12-1350019332.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
713796  
Worker for 2012-10-12-1350019363.88-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019363.88-demo.wav has no TGID  
done - result 1427592 frames written to 2012-10-12-1350019363.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350019381.33-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019381.33-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350019381.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
166785  
Worker for 2012-10-12-1350019388.72-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 333570 frames written to 2012-10-12-1350019388.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75440  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
601156  
Worker for 2012-10-12-1350019394.12-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019394.12-demo.wav has no TGID  
done - result 1202312 frames written to 2012-10-12-1350019394.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350019408.64-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019408.64-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350019408.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106037  
Worker for 2012-10-12-1350019428.35-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 212074 frames written to 2012-10-12-1350019428.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
109636  
Worker for 2012-10-12-1350019431.05-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 219272 frames written to 2012-10-12-1350019431.05-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
74940  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
581662  
Worker for 2012-10-12-1350019435.1-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 1163324 frames written to 2012-10-12-1350019435.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1766468  
Worker for 2012-10-12-1350019449.13-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019449.13-demo.wav has no TGID  
done - result 3532936 frames written to 2012-10-12-1350019449.13-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
210805  
Worker for 2012-10-12-1350019492.12-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 421610 frames written to 2012-10-12-1350019492.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
231808  
Worker for 2012-10-12-1350019498.22-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 463616 frames written to 2012-10-12-1350019498.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
235588  
Worker for 2012-10-12-1350019504.47-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 471176 frames written to 2012-10-12-1350019504.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
498714  
Worker for 2012-10-12-1350019510.43-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 997428 frames written to 2012-10-12-1350019510.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
776053  
Worker for 2012-10-12-1350019523.12-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019523.12-demo.wav has no TGID  
done - result 1552106 frames written to 2012-10-12-1350019523.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350019541.84-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019541.84-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350019541.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350019544.3-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019544.3-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350019544.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
125707  
Worker for 2012-10-12-1350019568.88-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 251414 frames written to 2012-10-12-1350019568.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
115780  
Worker for 2012-10-12-1350019572.16-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 231560 frames written to 2012-10-12-1350019572.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1042467  
Worker for 2012-10-12-1350019575.14-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 2084934 frames written to 2012-10-12-1350019575.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1457220  
Worker for 2012-10-12-1350019600.22-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 2914440 frames written to 2012-10-12-1350019600.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
117828  
Worker for 2012-10-12-1350019635.09-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 235656 frames written to 2012-10-12-1350019635.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
110660  
Worker for 2012-10-12-1350019638.15-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 221320 frames written to 2012-10-12-1350019638.15-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1654852  
Worker for 2012-10-12-1350019641.67-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 3309704 frames written to 2012-10-12-1350019641.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
607300  
Worker for 2012-10-12-1350019682.01-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019682.01-demo.wav has no TGID  
done - result 1214600 frames written to 2012-10-12-1350019682.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350019696.83-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019696.83-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350019696.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
173119  
Worker for 2012-10-12-1350019747.47-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 346238 frames written to 2012-10-12-1350019747.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
612654  
Worker for 2012-10-12-1350019753.14-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1225308 frames written to 2012-10-12-1350019753.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
308963  
Worker for 2012-10-12-1350019768.76-demo.wav  
GLG,40068,NFM,0,0,CanberraBlackMnt,AustralianCapita,RFS Ops 1,1,0,NONE,NONE,NONE  
done - result 617926 frames written to 2012-10-12-1350019768.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
216132  
Worker for 2012-10-12-1350019776.33-demo.wav  
GLG,40068,NFM,0,0,CanberraBlackMnt,AustralianCapita,RFS Ops 1,1,0,NONE,NONE,NONE  
done - result 432264 frames written to 2012-10-12-1350019776.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
529476  
Worker for 2012-10-12-1350019781.68-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019781.68-demo.wav has no TGID  
done - result 1058952 frames written to 2012-10-12-1350019781.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
217156  
Worker for 2012-10-12-1350019794.48-demo.wav  
GLG,40068,NFM,0,0,CanberraBlackMnt,AustralianCapita,RFS Ops 1,1,1,NONE,NONE,NONE  
done - result 434312 frames written to 2012-10-12-1350019794.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1112056  
Worker for 2012-10-12-1350019800.18-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019800.18-demo.wav has no TGID  
done - result 2224112 frames written to 2012-10-12-1350019800.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
550700  
Worker for 2012-10-12-1350019827.35-demo.wav  
GLG,40068,NFM,0,0,CanberraBlackMnt,AustralianCapita,RFS Ops 1,1,0,NONE,NONE,NONE  
done - result 1101400 frames written to 2012-10-12-1350019827.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
873540  
Worker for 2012-10-12-1350019840.74-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019840.74-demo.wav has no TGID  
done - result 1747080 frames written to 2012-10-12-1350019840.74-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
776260  
Worker for 2012-10-12-1350019861.75-demo.wav  
GLG,40068,NFM,0,0,CanberraBlackMnt,AustralianCapita,RFS Ops 1,1,1,NONE,NONE,NONE  
done - result 1552520 frames written to 2012-10-12-1350019861.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
271428  
Worker for 2012-10-12-1350019880.42-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019880.42-demo.wav has no TGID  
done - result 542856 frames written to 2012-10-12-1350019880.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
463928  
Worker for 2012-10-12-1350019887.01-demo.wav  
GLG,40068,NFM,0,0,CanberraBlackMnt,AustralianCapita,RFS Ops 1,1,0,NONE,NONE,NONE  
done - result 927856 frames written to 2012-10-12-1350019887.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
203832  
Worker for 2012-10-12-1350019898.16-demo.wav  
GLG,40068,NFM,0,0,CanberraBlackMnt,AustralianCapita,RFS Ops 1,1,0,NONE,NONE,NONE  
done - result 407664 frames written to 2012-10-12-1350019898.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
302133  
Worker for 2012-10-12-1350019903.17-demo.wav  
GLG,40068,NFM,0,0,CanberraBlackMnt,AustralianCapita,RFS Ops 1,1,1,NONE,NONE,NONE  
done - result 604266 frames written to 2012-10-12-1350019903.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
612621  
Worker for 2012-10-12-1350019910.54-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019910.54-demo.wav has no TGID  
done - result 1225242 frames written to 2012-10-12-1350019910.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350019928.23-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019928.23-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350019928.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350019931.01-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350019931.01-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350019931.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86072  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
150351  
Worker for 2012-10-12-1350020000.1-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 300702 frames written to 2012-10-12-1350020000.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
212036  
Worker for 2012-10-12-1350020003.94-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 424072 frames written to 2012-10-12-1350020003.94-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
662596  
Worker for 2012-10-12-1350020009.39-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020009.39-demo.wav has no TGID  
done - result 1325192 frames written to 2012-10-12-1350020009.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1432397  
Worker for 2012-10-12-1350020025.71-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 2864794 frames written to 2012-10-12-1350020025.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
142404  
Worker for 2012-10-12-1350020060.14-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 284808 frames written to 2012-10-12-1350020060.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
402500  
Worker for 2012-10-12-1350020064.24-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 805000 frames written to 2012-10-12-1350020064.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
745310  
Worker for 2012-10-12-1350020075.32-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020075.32-demo.wav has no TGID  
done - result 1490620 frames written to 2012-10-12-1350020075.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350020093.27-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020093.27-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350020093.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350020095.81-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020095.81-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350020095.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
143122  
Worker for 2012-10-12-1350020178.62-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 286244 frames written to 2012-10-12-1350020178.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
285025  
Worker for 2012-10-12-1350020183.25-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 570050 frames written to 2012-10-12-1350020183.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
281982  
Worker for 2012-10-12-1350020191.31-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 563964 frames written to 2012-10-12-1350020191.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
81988  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
111684  
Worker for 2012-10-12-1350020200.52-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 223368 frames written to 2012-10-12-1350020200.52-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
161860  
Worker for 2012-10-12-1350020203.84-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 323720 frames written to 2012-10-12-1350020203.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
848964  
Worker for 2012-10-12-1350020208.18-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1697928 frames written to 2012-10-12-1350020208.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
791620  
Worker for 2012-10-12-1350020229.79-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020229.79-demo.wav has no TGID  
done - result 1583240 frames written to 2012-10-12-1350020229.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
529922  
Worker for 2012-10-12-1350020248.77-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 1059844 frames written to 2012-10-12-1350020248.77-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
140356  
Worker for 2012-10-12-1350020266.58-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 280712 frames written to 2012-10-12-1350020266.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350020270.09-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 206984 frames written to 2012-10-12-1350020270.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1989700  
Worker for 2012-10-12-1350020272.68-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 3979400 frames written to 2012-10-12-1350020272.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
137268  
Worker for 2012-10-12-1350020320.97-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 274536 frames written to 2012-10-12-1350020320.97-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
566313  
Worker for 2012-10-12-1350020324.73-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020324.73-demo.wav has no TGID  
done - result 1132626 frames written to 2012-10-12-1350020324.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350020342.91-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020342.91-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350020342.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350020345.48-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020345.48-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350020345.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350020347.96-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020347.96-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350020347.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85196  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105887  
Worker for 2012-10-12-1350020382.79-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 211774 frames written to 2012-10-12-1350020382.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
337988  
Worker for 2012-10-12-1350020386.0-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 675976 frames written to 2012-10-12-1350020386.0-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
463914  
Worker for 2012-10-12-1350020394.92-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 927828 frames written to 2012-10-12-1350020394.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
527956  
Worker for 2012-10-12-1350020407.25-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020407.25-demo.wav has no TGID  
done - result 1055912 frames written to 2012-10-12-1350020407.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350020425.02-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020425.02-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350020425.02-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
94276  
Worker for 2012-10-12-1350020427.58-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020427.58-demo.wav has no TGID  
done - result 188552 frames written to 2012-10-12-1350020427.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104980  
Worker for 2012-10-12-1350020450.42-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 209960 frames written to 2012-10-12-1350020450.42-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76868  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
553028  
Worker for 2012-10-12-1350020454.56-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020454.56-demo.wav has no TGID  
done - result 1106056 frames written to 2012-10-12-1350020454.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
95300  
Worker for 2012-10-12-1350020467.98-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020467.98-demo.wav has no TGID  
done - result 190600 frames written to 2012-10-12-1350020467.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
151894  
Worker for 2012-10-12-1350020543.63-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 303788 frames written to 2012-10-12-1350020543.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
154692  
Worker for 2012-10-12-1350020547.59-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 309384 frames written to 2012-10-12-1350020547.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
193604  
Worker for 2012-10-12-1350020551.54-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 387208 frames written to 2012-10-12-1350020551.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
785476  
Worker for 2012-10-12-1350020557.12-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020557.12-demo.wav has no TGID  
done - result 1570952 frames written to 2012-10-12-1350020557.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350020576.3-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020576.3-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350020576.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
110348  
Worker for 2012-10-12-1350020628.64-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 220696 frames written to 2012-10-12-1350020628.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
114756  
Worker for 2012-10-12-1350020632.27-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 229512 frames written to 2012-10-12-1350020632.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
713796  
Worker for 2012-10-12-1350020635.7-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020635.7-demo.wav has no TGID  
done - result 1427592 frames written to 2012-10-12-1350020635.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
163675  
Worker for 2012-10-12-1350020653.08-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 327350 frames written to 2012-10-12-1350020653.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
741116  
Worker for 2012-10-12-1350020658.37-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020658.37-demo.wav has no TGID  
done - result 1482232 frames written to 2012-10-12-1350020658.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
94276  
Worker for 2012-10-12-1350020676.25-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020676.25-demo.wav has no TGID  
done - result 188552 frames written to 2012-10-12-1350020676.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
315460  
Worker for 2012-10-12-1350020678.6-demo.wav  
GLG,44011,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 630920 frames written to 2012-10-12-1350020678.6-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
921668  
Worker for 2012-10-12-1350020686.37-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020686.37-demo.wav has no TGID  
done - result 1843336 frames written to 2012-10-12-1350020686.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
477252  
Worker for 2012-10-12-1350020708.5-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 954504 frames written to 2012-10-12-1350020708.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
546884  
Worker for 2012-10-12-1350020720.93-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020720.93-demo.wav has no TGID  
done - result 1093768 frames written to 2012-10-12-1350020720.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350020734.19-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020734.19-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350020734.19-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
110660  
Worker for 2012-10-12-1350020736.7-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 221320 frames written to 2012-10-12-1350020736.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
263236  
Worker for 2012-10-12-1350020739.43-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 526472 frames written to 2012-10-12-1350020739.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91184  
Worker for 2012-10-12-1350020745.96-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 182368 frames written to 2012-10-12-1350020745.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
576222  
Worker for 2012-10-12-1350020748.86-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020748.86-demo.wav has no TGID  
done - result 1152444 frames written to 2012-10-12-1350020748.86-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350020766.73-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020766.73-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350020766.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350020769.35-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020769.35-demo.wav has no TGID  
done - result 186504 frames written to 2012-10-12-1350020769.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
173223  
Worker for 2012-10-12-1350020830.91-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 346446 frames written to 2012-10-12-1350020830.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
219712  
Worker for 2012-10-12-1350020836.27-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 439424 frames written to 2012-10-12-1350020836.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
305220  
Worker for 2012-10-12-1350020842.06-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 610440 frames written to 2012-10-12-1350020842.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1365060  
Worker for 2012-10-12-1350020849.44-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020849.44-demo.wav has no TGID  
done - result 2730120 frames written to 2012-10-12-1350020849.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
522767  
Worker for 2012-10-12-1350020882.21-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020882.21-demo.wav has no TGID  
done - result 1045534 frames written to 2012-10-12-1350020882.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
305219  
Worker for 2012-10-12-1350020899.16-demo.wav  
GLG,44011,NFM,0,0,CanberraMtAinsli,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 610438 frames written to 2012-10-12-1350020899.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
153668  
Worker for 2012-10-12-1350020906.73-demo.wav  
GLG,44011,NFM,0,0,CanberraMtAinsli,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 307336 frames written to 2012-10-12-1350020906.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
806980  
Worker for 2012-10-12-1350020910.92-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020910.92-demo.wav has no TGID  
done - result 1613960 frames written to 2012-10-12-1350020910.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
503928  
Worker for 2012-10-12-1350020930.34-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020930.34-demo.wav has no TGID  
done - result 1007856 frames written to 2012-10-12-1350020930.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
134212  
Worker for 2012-10-12-1350020947.81-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 268424 frames written to 2012-10-12-1350020947.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
140356  
Worker for 2012-10-12-1350020952.1-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 280712 frames written to 2012-10-12-1350020952.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
300100  
Worker for 2012-10-12-1350020955.97-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 600200 frames written to 2012-10-12-1350020955.97-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
74452  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
688196  
Worker for 2012-10-12-1350020965.61-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020965.61-demo.wav has no TGID  
done - result 1376392 frames written to 2012-10-12-1350020965.61-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350020982.17-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020982.17-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350020982.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350020984.73-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350020984.73-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350020984.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
83012  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
318895  
Worker for 2012-10-12-1350021064.24-demo.wav  
GLG,44011,NFM,0,0,CanberraMtAinsli,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 637790 frames written to 2012-10-12-1350021064.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1211912  
Worker for 2012-10-12-1350021072.04-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021072.04-demo.wav has no TGID  
done - result 2423824 frames written to 2012-10-12-1350021072.04-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105540  
Worker for 2012-10-12-1350021104.96-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021104.96-demo.wav has no TGID  
done - result 211080 frames written to 2012-10-12-1350021104.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350021107.58-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021107.58-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350021107.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
279322  
Worker for 2012-10-12-1350021224.54-demo.wav  
GLG,44011,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 558644 frames written to 2012-10-12-1350021224.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
129092  
Worker for 2012-10-12-1350021231.39-demo.wav  
GLG,44011,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 258184 frames written to 2012-10-12-1350021231.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
553028  
Worker for 2012-10-12-1350021234.7-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021234.7-demo.wav has no TGID  
done - result 1106056 frames written to 2012-10-12-1350021234.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
748612  
Worker for 2012-10-12-1350021248.46-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021248.46-demo.wav has no TGID  
done - result 1497224 frames written to 2012-10-12-1350021248.46-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350021266.53-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021266.53-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350021266.53-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
68751  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
44106  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105283  
Worker for 2012-10-12-1350021329.91-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 210566 frames written to 2012-10-12-1350021329.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
646212  
Worker for 2012-10-12-1350021335.72-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021335.72-demo.wav has no TGID  
done - result 1292424 frames written to 2012-10-12-1350021335.72-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350021351.35-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021351.35-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350021351.35-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350021353.79-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021353.79-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350021353.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
114321  
Worker for 2012-10-12-1350021406.83-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 228642 frames written to 2012-10-12-1350021406.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
443128  
Worker for 2012-10-12-1350021411.08-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 886256 frames written to 2012-10-12-1350021411.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
643140  
Worker for 2012-10-12-1350021422.83-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021422.83-demo.wav has no TGID  
done - result 1286280 frames written to 2012-10-12-1350021422.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350021438.45-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021438.45-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350021438.45-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350021440.99-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021440.99-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350021440.99-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
83012  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
579910  
Worker for 2012-10-12-1350021467.24-demo.wav  
GLG,30004,NFM,0,0,CanberraBlackMnt,RuralFireSvc-RFS,L GEORG,1,0,NONE,NONE,NONE  
done - result 1159820 frames written to 2012-10-12-1350021467.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
460868  
Worker for 2012-10-12-1350021481.29-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 921736 frames written to 2012-10-12-1350021481.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
123972  
Worker for 2012-10-12-1350021492.51-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 247944 frames written to 2012-10-12-1350021492.51-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
529476  
Worker for 2012-10-12-1350021495.9-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021495.9-demo.wav has no TGID  
done - result 1058952 frames written to 2012-10-12-1350021495.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
505057  
Worker for 2012-10-12-1350021508.76-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021508.76-demo.wav has no TGID  
done - result 1010114 frames written to 2012-10-12-1350021508.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
95300  
Worker for 2012-10-12-1350021526.28-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021526.28-demo.wav has no TGID  
done - result 190600 frames written to 2012-10-12-1350021526.28-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350021528.75-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021528.75-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350021528.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
215019  
Worker for 2012-10-12-1350021534.81-demo.wav  
GLG,44011,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 430038 frames written to 2012-10-12-1350021534.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350021540.18-demo.wav  
GLG,44011,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 204936 frames written to 2012-10-12-1350021540.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
518212  
Worker for 2012-10-12-1350021542.8-demo.wav  
GLG,44011,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44011,1,1,NONE,NONE,NONE  
done - result 1036424 frames written to 2012-10-12-1350021542.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
735534  
Worker for 2012-10-12-1350021555.4-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021555.4-demo.wav has no TGID  
done - result 1471068 frames written to 2012-10-12-1350021555.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350021573.06-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021573.06-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350021573.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350021575.66-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021575.66-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350021575.66-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
113041  
Worker for 2012-10-12-1350021651.08-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 226082 frames written to 2012-10-12-1350021651.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76868  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
155716  
Worker for 2012-10-12-1350021655.14-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 311432 frames written to 2012-10-12-1350021655.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
154692  
Worker for 2012-10-12-1350021659.06-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 309384 frames written to 2012-10-12-1350021659.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
169019  
Worker for 2012-10-12-1350021662.93-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 338038 frames written to 2012-10-12-1350021662.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
761924  
Worker for 2012-10-12-1350021667.84-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021667.84-demo.wav has no TGID  
done - result 1523848 frames written to 2012-10-12-1350021667.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350021686.21-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021686.21-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350021686.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
116091  
Worker for 2012-10-12-1350021810.7-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 232182 frames written to 2012-10-12-1350021810.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
146500  
Worker for 2012-10-12-1350021813.71-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 293000 frames written to 2012-10-12-1350021813.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
108612  
Worker for 2012-10-12-1350021817.4-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 217224 frames written to 2012-10-12-1350021817.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
143364  
Worker for 2012-10-12-1350021820.23-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 286728 frames written to 2012-10-12-1350021820.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
722609  
Worker for 2012-10-12-1350021825.05-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1445218 frames written to 2012-10-12-1350021825.05-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
248900  
Worker for 2012-10-12-1350021842.87-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 497800 frames written to 2012-10-12-1350021842.87-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
364612  
Worker for 2012-10-12-1350021849.12-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021849.12-demo.wav has no TGID  
done - result 729224 frames written to 2012-10-12-1350021849.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
511866  
Worker for 2012-10-12-1350021857.98-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021857.98-demo.wav has no TGID  
done - result 1023732 frames written to 2012-10-12-1350021857.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350021875.7-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021875.7-demo.wav has no TGID  
done - result 198792 frames written to 2012-10-12-1350021875.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350021878.23-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350021878.23-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350021878.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
121969  
Worker for 2012-10-12-1350022064.33-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 243938 frames written to 2012-10-12-1350022064.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
127044  
Worker for 2012-10-12-1350022067.51-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 254088 frames written to 2012-10-12-1350022067.51-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
325583  
Worker for 2012-10-12-1350022072.14-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 651166 frames written to 2012-10-12-1350022072.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
918596  
Worker for 2012-10-12-1350022080.14-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 1837192 frames written to 2012-10-12-1350022080.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
188292  
Worker for 2012-10-12-1350022102.23-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 376584 frames written to 2012-10-12-1350022102.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
756786  
Worker for 2012-10-12-1350022107.24-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 1513572 frames written to 2012-10-12-1350022107.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
401760  
Worker for 2012-10-12-1350022126.26-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 803520 frames written to 2012-10-12-1350022126.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
293956  
Worker for 2012-10-12-1350022136.6-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022136.6-demo.wav has no TGID  
done - result 587912 frames written to 2012-10-12-1350022136.6-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
739077  
Worker for 2012-10-12-1350022144.22-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022144.22-demo.wav has no TGID  
done - result 1478154 frames written to 2012-10-12-1350022144.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350022162.09-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022162.09-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350022162.09-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
112770  
Worker for 2012-10-12-1350022243.05-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 225540 frames written to 2012-10-12-1350022243.05-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
122948  
Worker for 2012-10-12-1350022247.68-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 245896 frames written to 2012-10-12-1350022247.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2245700  
Worker for 2012-10-12-1350022251.43-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022251.43-demo.wav has no TGID  
done - result 4491400 frames written to 2012-10-12-1350022251.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
503544  
Worker for 2012-10-12-1350022305.11-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022305.11-demo.wav has no TGID  
done - result 1007088 frames written to 2012-10-12-1350022305.11-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350022321.44-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022321.44-demo.wav has no TGID  
done - result 204936 frames written to 2012-10-12-1350022321.44-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
112652  
Worker for 2012-10-12-1350022348.06-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 225304 frames written to 2012-10-12-1350022348.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76868  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
263236  
Worker for 2012-10-12-1350022352.22-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 526472 frames written to 2012-10-12-1350022352.22-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
137284  
Worker for 2012-10-12-1350022358.73-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 274568 frames written to 2012-10-12-1350022358.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
171076  
Worker for 2012-10-12-1350022362.47-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 342152 frames written to 2012-10-12-1350022362.47-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
354122  
Worker for 2012-10-12-1350022366.83-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022366.83-demo.wav has no TGID  
done - result 708244 frames written to 2012-10-12-1350022366.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
249924  
Worker for 2012-10-12-1350022375.53-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 499848 frames written to 2012-10-12-1350022375.53-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
428100  
Worker for 2012-10-12-1350022381.88-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022381.88-demo.wav has no TGID  
done - result 856200 frames written to 2012-10-12-1350022381.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
547901  
Worker for 2012-10-12-1350022392.31-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022392.31-demo.wav has no TGID  
done - result 1095802 frames written to 2012-10-12-1350022392.31-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350022410.1-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022410.1-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350022410.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350022412.62-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022412.62-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350022412.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104715  
Worker for 2012-10-12-1350022459.41-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 209430 frames written to 2012-10-12-1350022459.41-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
163908  
Worker for 2012-10-12-1350022462.5-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 327816 frames written to 2012-10-12-1350022462.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
247876  
Worker for 2012-10-12-1350022466.68-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 495752 frames written to 2012-10-12-1350022466.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
293894  
Worker for 2012-10-12-1350022473.53-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 587788 frames written to 2012-10-12-1350022473.53-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
538701  
Worker for 2012-10-12-1350022483.6-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022483.6-demo.wav has no TGID  
done - result 1077402 frames written to 2012-10-12-1350022483.6-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350022500.28-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022500.28-demo.wav has no TGID  
done - result 209032 frames written to 2012-10-12-1350022500.28-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350022502.89-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022502.89-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350022502.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350022505.2-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022505.2-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350022505.2-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
83012  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
271807  
Worker for 2012-10-12-1350022591.16-demo.wav  
GLG,10301,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 543614 frames written to 2012-10-12-1350022591.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
298052  
Worker for 2012-10-12-1350022598.11-demo.wav  
GLG,10301,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 596104 frames written to 2012-10-12-1350022598.11-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
669764  
Worker for 2012-10-12-1350022607.2-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022607.2-demo.wav has no TGID  
done - result 1339528 frames written to 2012-10-12-1350022607.2-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350022623.36-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022623.36-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350022623.36-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
147524  
Worker for 2012-10-12-1350022625.94-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 295048 frames written to 2012-10-12-1350022625.94-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
137414  
Worker for 2012-10-12-1350022631.16-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 274828 frames written to 2012-10-12-1350022631.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
246851  
Worker for 2012-10-12-1350022634.65-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 493702 frames written to 2012-10-12-1350022634.65-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
683076  
Worker for 2012-10-12-1350022640.77-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022640.77-demo.wav has no TGID  
done - result 1366152 frames written to 2012-10-12-1350022640.77-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
520075  
Worker for 2012-10-12-1350022657.25-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022657.25-demo.wav has no TGID  
done - result 1040150 frames written to 2012-10-12-1350022657.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350022674.66-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022674.66-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350022674.66-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350022677.27-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022677.27-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350022677.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
171114  
Worker for 2012-10-12-1350022779.43-demo.wav  
GLG,40093,NFM,0,0,CanberraMtAinsli,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 342228 frames written to 2012-10-12-1350022779.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75024  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
370756  
Worker for 2012-10-12-1350022785.06-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 741512 frames written to 2012-10-12-1350022785.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
331822  
Worker for 2012-10-12-1350022794.17-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 663644 frames written to 2012-10-12-1350022794.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
200768  
Worker for 2012-10-12-1350022802.58-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 401536 frames written to 2012-10-12-1350022802.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
767044  
Worker for 2012-10-12-1350022807.6-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022807.6-demo.wav has no TGID  
done - result 1534088 frames written to 2012-10-12-1350022807.6-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
447556  
Worker for 2012-10-12-1350022826.1-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 895112 frames written to 2012-10-12-1350022826.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
249103  
Worker for 2012-10-12-1350022837.62-demo.wav  
GLG,40093,NFM,0,0,CanberraBlackMnt,AustralianCapita,PCL Rural,1,0,NONE,NONE,NONE  
done - result 498206 frames written to 2012-10-12-1350022837.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1975364  
Worker for 2012-10-12-1350022844.28-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022844.28-demo.wav has no TGID  
done - result 3950728 frames written to 2012-10-12-1350022844.28-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
649284  
Worker for 2012-10-12-1350022891.98-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022891.98-demo.wav has no TGID  
done - result 1298568 frames written to 2012-10-12-1350022891.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350022907.54-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022907.54-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350022907.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350022910.18-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350022910.18-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350022910.18-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
85060  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
249058  
Worker for 2012-10-12-1350023085.91-demo.wav  
GLG,44011,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 498116 frames written to 2012-10-12-1350023085.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
138290  
Worker for 2012-10-12-1350023092.55-demo.wav  
GLG,44011,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 276580 frames written to 2012-10-12-1350023092.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
686148  
Worker for 2012-10-12-1350023096.79-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023096.79-demo.wav has no TGID  
done - result 1372296 frames written to 2012-10-12-1350023096.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350023113.5-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023113.5-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350023113.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
123284  
Worker for 2012-10-12-1350023155.71-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 246568 frames written to 2012-10-12-1350023155.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
224324  
Worker for 2012-10-12-1350023159.01-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 448648 frames written to 2012-10-12-1350023159.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
164932  
Worker for 2012-10-12-1350023164.55-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 329864 frames written to 2012-10-12-1350023164.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
584292  
Worker for 2012-10-12-1350023168.94-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023168.94-demo.wav has no TGID  
done - result 1168584 frames written to 2012-10-12-1350023168.94-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350023186.75-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023186.75-demo.wav has no TGID  
done - result 204936 frames written to 2012-10-12-1350023186.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
96324  
Worker for 2012-10-12-1350023189.38-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023189.38-demo.wav has no TGID  
done - result 192648 frames written to 2012-10-12-1350023189.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105601  
Worker for 2012-10-12-1350023195.32-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 211202 frames written to 2012-10-12-1350023195.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
139332  
Worker for 2012-10-12-1350023198.08-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 278664 frames written to 2012-10-12-1350023198.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
136260  
Worker for 2012-10-12-1350023202.0-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 272520 frames written to 2012-10-12-1350023202.0-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
473134  
Worker for 2012-10-12-1350023206.28-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023206.28-demo.wav has no TGID  
done - result 946268 frames written to 2012-10-12-1350023206.28-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
745540  
Worker for 2012-10-12-1350023217.76-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1491080 frames written to 2012-10-12-1350023217.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
164932  
Worker for 2012-10-12-1350023236.02-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 329864 frames written to 2012-10-12-1350023236.02-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
607964  
Worker for 2012-10-12-1350023240.29-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023240.29-demo.wav has no TGID  
done - result 1215928 frames written to 2012-10-12-1350023240.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
323652  
Worker for 2012-10-12-1350023255.03-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 647304 frames written to 2012-10-12-1350023255.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
111684  
Worker for 2012-10-12-1350023263.03-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 223368 frames written to 2012-10-12-1350023263.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
584233  
Worker for 2012-10-12-1350023266.19-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023266.19-demo.wav has no TGID  
done - result 1168466 frames written to 2012-10-12-1350023266.19-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
106564  
Worker for 2012-10-12-1350023284.06-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023284.06-demo.wav has no TGID  
done - result 213128 frames written to 2012-10-12-1350023284.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350023286.77-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023286.77-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350023286.77-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
66561  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
166014  
Worker for 2012-10-12-1350023343.99-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 332028 frames written to 2012-10-12-1350023343.99-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
190233  
Worker for 2012-10-12-1350023349.32-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 380466 frames written to 2012-10-12-1350023349.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
230468  
Worker for 2012-10-12-1350023354.25-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 460936 frames written to 2012-10-12-1350023354.25-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1071722  
Worker for 2012-10-12-1350023360.08-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023360.08-demo.wav has no TGID  
done - result 2143444 frames written to 2012-10-12-1350023360.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350023389.46-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023389.46-demo.wav has no TGID  
done - result 204936 frames written to 2012-10-12-1350023389.46-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350023392.01-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023392.01-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350023392.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104928  
Worker for 2012-10-12-1350023644.34-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 209856 frames written to 2012-10-12-1350023644.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
184750  
Worker for 2012-10-12-1350023647.98-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 369500 frames written to 2012-10-12-1350023647.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1329216  
Worker for 2012-10-12-1350023653.11-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 2658432 frames written to 2012-10-12-1350023653.11-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
77892  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
178244  
Worker for 2012-10-12-1350023687.53-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 356488 frames written to 2012-10-12-1350023687.53-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
575556  
Worker for 2012-10-12-1350023691.98-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023691.98-demo.wav has no TGID  
done - result 1151112 frames written to 2012-10-12-1350023691.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
175777  
Worker for 2012-10-12-1350023706.37-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 351554 frames written to 2012-10-12-1350023706.37-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
180291  
Worker for 2012-10-12-1350023710.93-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 360582 frames written to 2012-10-12-1350023710.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
196676  
Worker for 2012-10-12-1350023715.98-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 393352 frames written to 2012-10-12-1350023715.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
673760  
Worker for 2012-10-12-1350023721.23-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023721.23-demo.wav has no TGID  
done - result 1347520 frames written to 2012-10-12-1350023721.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
500492  
Worker for 2012-10-12-1350023737.56-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023737.56-demo.wav has no TGID  
done - result 1000984 frames written to 2012-10-12-1350023737.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350023755.12-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023755.12-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350023755.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
249315  
Worker for 2012-10-12-1350023873.4-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 498630 frames written to 2012-10-12-1350023873.4-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
132157  
Worker for 2012-10-12-1350023880.86-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 264314 frames written to 2012-10-12-1350023880.86-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
464961  
Worker for 2012-10-12-1350023885.14-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023885.14-demo.wav has no TGID  
done - result 929922 frames written to 2012-10-12-1350023885.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
489198  
Worker for 2012-10-12-1350023896.41-demo.wav  
GLG,44029,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 978396 frames written to 2012-10-12-1350023896.41-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
114756  
Worker for 2012-10-12-1350023908.32-demo.wav  
GLG,44029,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 229512 frames written to 2012-10-12-1350023908.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
127033  
Worker for 2012-10-12-1350023911.21-demo.wav  
GLG,44029,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 254066 frames written to 2012-10-12-1350023911.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2950212  
Worker for 2012-10-12-1350023914.38-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023914.38-demo.wav has no TGID  
done - result 5900424 frames written to 2012-10-12-1350023914.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
152644  
Worker for 2012-10-12-1350023984.85-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 305288 frames written to 2012-10-12-1350023984.85-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
147524  
Worker for 2012-10-12-1350023989.34-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 295048 frames written to 2012-10-12-1350023989.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
607037  
Worker for 2012-10-12-1350023993.61-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350023993.61-demo.wav has no TGID  
done - result 1214074 frames written to 2012-10-12-1350023993.61-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
329796  
Worker for 2012-10-12-1350024008.23-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 659592 frames written to 2012-10-12-1350024008.23-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
472994  
Worker for 2012-10-12-1350024017.48-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 945988 frames written to 2012-10-12-1350024017.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
324676  
Worker for 2012-10-12-1350024029.29-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 649352 frames written to 2012-10-12-1350024029.29-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2394606  
Worker for 2012-10-12-1350024037.2-demo.wav  
GLG,44011,NFM,0,0,CanberraMtAinsli,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 4789212 frames written to 2012-10-12-1350024037.2-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
2442395  
Worker for 2012-10-12-1350024094.58-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024094.58-demo.wav has no TGID  
done - result 4884790 frames written to 2012-10-12-1350024094.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104072  
Worker for 2012-10-12-1350024157.02-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024157.02-demo.wav has no TGID  
done - result 208144 frames written to 2012-10-12-1350024157.02-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
155729  
Worker for 2012-10-12-1350024161.43-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 311458 frames written to 2012-10-12-1350024161.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75139  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
606276  
Worker for 2012-10-12-1350024166.94-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024166.94-demo.wav has no TGID  
done - result 1212552 frames written to 2012-10-12-1350024166.94-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350024181.59-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024181.59-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350024181.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105540  
Worker for 2012-10-12-1350024184.12-demo.wav  
GLG,44029,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 211080 frames written to 2012-10-12-1350024184.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
308878  
Worker for 2012-10-12-1350024187.79-demo.wav  
GLG,44011,NFM,0,0,CanberraMtAinsli,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 617756 frames written to 2012-10-12-1350024187.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
159810  
Worker for 2012-10-12-1350024195.64-demo.wav  
GLG,44011,NFM,0,0,CanberraMtAinsli,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 319620 frames written to 2012-10-12-1350024195.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
673860  
Worker for 2012-10-12-1350024199.78-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024199.78-demo.wav has no TGID  
done - result 1347720 frames written to 2012-10-12-1350024199.78-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
472132  
Worker for 2012-10-12-1350024216.03-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 944264 frames written to 2012-10-12-1350024216.03-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350024227.48-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 202888 frames written to 2012-10-12-1350024227.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
111664  
Worker for 2012-10-12-1350024230.89-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 223328 frames written to 2012-10-12-1350024230.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
657476  
Worker for 2012-10-12-1350024234.08-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024234.08-demo.wav has no TGID  
done - result 1314952 frames written to 2012-10-12-1350024234.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
189508  
Worker for 2012-10-12-1350024249.89-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 379016 frames written to 2012-10-12-1350024249.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
705379  
Worker for 2012-10-12-1350024255.33-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024255.33-demo.wav has no TGID  
done - result 1410758 frames written to 2012-10-12-1350024255.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102467  
Worker for 2012-10-12-1350024274.56-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024274.56-demo.wav has no TGID  
done - result 204934 frames written to 2012-10-12-1350024274.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
83012  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
203122  
Worker for 2012-10-12-1350024333.11-demo.wav  
GLG,44011,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 406244 frames written to 2012-10-12-1350024333.11-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
233540  
Worker for 2012-10-12-1350024338.12-demo.wav  
GLG,44011,NFM,0,0,CanberraBlackMnt,AustralianCapita,ACTION 44011,1,0,NONE,NONE,NONE  
done - result 467080 frames written to 2012-10-12-1350024338.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
779377  
Worker for 2012-10-12-1350024343.82-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024343.82-demo.wav has no TGID  
done - result 1558754 frames written to 2012-10-12-1350024343.82-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
502030  
Worker for 2012-10-12-1350024362.65-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024362.65-demo.wav has no TGID  
done - result 1004060 frames written to 2012-10-12-1350024362.65-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350024379.64-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024379.64-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350024379.64-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
88132  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
120798  
Worker for 2012-10-12-1350024455.56-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 241596 frames written to 2012-10-12-1350024455.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
107588  
Worker for 2012-10-12-1350024459.8-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 215176 frames written to 2012-10-12-1350024459.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1049668  
Worker for 2012-10-12-1350024463.16-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 2099336 frames written to 2012-10-12-1350024463.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
582346  
Worker for 2012-10-12-1350024489.89-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024489.89-demo.wav has no TGID  
done - result 1164692 frames written to 2012-10-12-1350024489.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
128068  
Worker for 2012-10-12-1350024506.59-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024506.59-demo.wav has no TGID  
done - result 256136 frames written to 2012-10-12-1350024506.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350024509.91-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024509.91-demo.wav has no TGID  
done - result 186504 frames written to 2012-10-12-1350024509.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
130391  
Worker for 2012-10-12-1350024547.63-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 260782 frames written to 2012-10-12-1350024547.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
148509  
Worker for 2012-10-12-1350024552.27-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 297018 frames written to 2012-10-12-1350024552.27-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
271399  
Worker for 2012-10-12-1350024556.0-demo.wav  
GLG,44028,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 542798 frames written to 2012-10-12-1350024556.0-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
77892  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
114756  
Worker for 2012-10-12-1350024564.01-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024564.01-demo.wav has no TGID  
done - result 229512 frames written to 2012-10-12-1350024564.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
501638  
Worker for 2012-10-12-1350024566.9-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024566.9-demo.wav has no TGID  
done - result 1003276 frames written to 2012-10-12-1350024566.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350024584.46-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024584.46-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350024584.46-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
112708  
Worker for 2012-10-12-1350024586.91-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 225416 frames written to 2012-10-12-1350024586.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
335940  
Worker for 2012-10-12-1350024590.93-demo.wav  
GLG,44028,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 671880 frames written to 2012-10-12-1350024590.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
276548  
Worker for 2012-10-12-1350024599.13-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024599.13-demo.wav has no TGID  
done - result 553096 frames written to 2012-10-12-1350024599.13-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
562381  
Worker for 2012-10-12-1350024605.89-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1124762 frames written to 2012-10-12-1350024605.89-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105540  
Worker for 2012-10-12-1350024623.68-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 211080 frames written to 2012-10-12-1350024623.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
149572  
Worker for 2012-10-12-1350024627.01-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 299144 frames written to 2012-10-12-1350024627.01-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
164932  
Worker for 2012-10-12-1350024630.94-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 329864 frames written to 2012-10-12-1350024630.94-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
168004  
Worker for 2012-10-12-1350024635.08-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 336008 frames written to 2012-10-12-1350024635.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
750660  
Worker for 2012-10-12-1350024639.93-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024639.93-demo.wav has no TGID  
done - result 1501320 frames written to 2012-10-12-1350024639.93-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
107588  
Worker for 2012-10-12-1350024658.02-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024658.02-demo.wav has no TGID  
done - result 215176 frames written to 2012-10-12-1350024658.02-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
121622  
Worker for 2012-10-12-1350024735.97-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 243244 frames written to 2012-10-12-1350024735.97-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
267401  
Worker for 2012-10-12-1350024740.26-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 534802 frames written to 2012-10-12-1350024740.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
143428  
Worker for 2012-10-12-1350024746.88-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 286856 frames written to 2012-10-12-1350024746.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
482372  
Worker for 2012-10-12-1350024751.56-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024751.56-demo.wav has no TGID  
done - result 964744 frames written to 2012-10-12-1350024751.56-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
529960  
Worker for 2012-10-12-1350024763.17-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024763.17-demo.wav has no TGID  
done - result 1059920 frames written to 2012-10-12-1350024763.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
161860  
Worker for 2012-10-12-1350024780.67-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 323720 frames written to 2012-10-12-1350024780.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
139332  
Worker for 2012-10-12-1350024785.58-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 278664 frames written to 2012-10-12-1350024785.58-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
160836  
Worker for 2012-10-12-1350024789.17-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 321672 frames written to 2012-10-12-1350024789.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1014918  
Worker for 2012-10-12-1350024793.9-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024793.9-demo.wav has no TGID  
done - result 2029836 frames written to 2012-10-12-1350024793.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
103492  
Worker for 2012-10-12-1350024822.84-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024822.84-demo.wav has no TGID  
done - result 206984 frames written to 2012-10-12-1350024822.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350024825.54-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350024825.54-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350024825.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
176558  
Worker for 2012-10-12-1350024992.87-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 353116 frames written to 2012-10-12-1350024992.87-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
123972  
Worker for 2012-10-12-1350024997.68-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 247944 frames written to 2012-10-12-1350024997.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
582724  
Worker for 2012-10-12-1350025000.9-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025000.9-demo.wav has no TGID  
done - result 1165448 frames written to 2012-10-12-1350025000.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
731204  
Worker for 2012-10-12-1350025015.34-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025015.34-demo.wav has no TGID  
done - result 1462408 frames written to 2012-10-12-1350025015.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
101444  
Worker for 2012-10-12-1350025032.97-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025032.97-demo.wav has no TGID  
done - result 202888 frames written to 2012-10-12-1350025032.97-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350025035.5-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025035.5-demo.wav has no TGID  
done - result 186504 frames written to 2012-10-12-1350025035.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
163694  
Worker for 2012-10-12-1350025112.57-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 327388 frames written to 2012-10-12-1350025112.57-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
129092  
Worker for 2012-10-12-1350025116.67-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 258184 frames written to 2012-10-12-1350025116.67-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
469600  
Worker for 2012-10-12-1350025119.88-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025119.88-demo.wav has no TGID  
done - result 939200 frames written to 2012-10-12-1350025119.88-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
182340  
Worker for 2012-10-12-1350025131.21-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 364680 frames written to 2012-10-12-1350025131.21-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
571922  
Worker for 2012-10-12-1350025136.14-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025136.14-demo.wav has no TGID  
done - result 1143844 frames written to 2012-10-12-1350025136.14-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
104516  
Worker for 2012-10-12-1350025152.5-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025152.5-demo.wav has no TGID  
done - result 209032 frames written to 2012-10-12-1350025152.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350025155.11-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025155.11-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350025155.11-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90150  
Worker for 2012-10-12-1350025157.59-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025157.59-demo.wav has no TGID  
done - result 180300 frames written to 2012-10-12-1350025157.59-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
83012  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76868  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
44111  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
132647  
Worker for 2012-10-12-1350025290.62-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 265294 frames written to 2012-10-12-1350025290.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
99396  
Worker for 2012-10-12-1350025294.84-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 198792 frames written to 2012-10-12-1350025294.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
146500  
Worker for 2012-10-12-1350025297.71-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 293000 frames written to 2012-10-12-1350025297.71-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
188484  
Worker for 2012-10-12-1350025301.81-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 376968 frames written to 2012-10-12-1350025301.81-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
595077  
Worker for 2012-10-12-1350025306.96-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025306.96-demo.wav has no TGID  
done - result 1190154 frames written to 2012-10-12-1350025306.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350025325.43-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025325.43-demo.wav has no TGID  
done - result 204936 frames written to 2012-10-12-1350025325.43-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350025327.94-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025327.94-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350025327.94-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
127396  
Worker for 2012-10-12-1350025604.34-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 254792 frames written to 2012-10-12-1350025604.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
114756  
Worker for 2012-10-12-1350025607.55-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 229512 frames written to 2012-10-12-1350025607.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
168986  
Worker for 2012-10-12-1350025611.68-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 337972 frames written to 2012-10-12-1350025611.68-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
158788  
Worker for 2012-10-12-1350025615.92-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 317576 frames written to 2012-10-12-1350025615.92-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
716868  
Worker for 2012-10-12-1350025620.02-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025620.02-demo.wav has no TGID  
done - result 1433736 frames written to 2012-10-12-1350025620.02-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
150486  
Worker for 2012-10-12-1350025637.32-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 300972 frames written to 2012-10-12-1350025637.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
773436  
Worker for 2012-10-12-1350025641.8-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 1546872 frames written to 2012-10-12-1350025641.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
152140  
Worker for 2012-10-12-1350025661.7-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 304280 frames written to 2012-10-12-1350025661.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
113732  
Worker for 2012-10-12-1350025665.83-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 227464 frames written to 2012-10-12-1350025665.83-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1734724  
Worker for 2012-10-12-1350025668.7-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025668.7-demo.wav has no TGID  
done - result 3469448 frames written to 2012-10-12-1350025668.7-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
686148  
Worker for 2012-10-12-1350025710.38-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025710.38-demo.wav has no TGID  
done - result 1372296 frames written to 2012-10-12-1350025710.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
100420  
Worker for 2012-10-12-1350025726.91-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025726.91-demo.wav has no TGID  
done - result 200840 frames written to 2012-10-12-1350025726.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
139334  
Worker for 2012-10-12-1350025736.12-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 278668 frames written to 2012-10-12-1350025736.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
379380  
Worker for 2012-10-12-1350025740.8-demo.wav  
GLG,40067,NFM,0,0,CanberraBlackMnt,,,1,0,NONE,NONE,NONE  
done - result 758760 frames written to 2012-10-12-1350025740.8-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
79940  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
662596  
Worker for 2012-10-12-1350025751.77-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025751.77-demo.wav has no TGID  
done - result 1325192 frames written to 2012-10-12-1350025751.77-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
524356  
Worker for 2012-10-12-1350025767.73-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 1048712 frames written to 2012-10-12-1350025767.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
120900  
Worker for 2012-10-12-1350025780.97-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 241800 frames written to 2012-10-12-1350025780.97-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
268288  
Worker for 2012-10-12-1350025784.32-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 536576 frames written to 2012-10-12-1350025784.32-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
350275  
Worker for 2012-10-12-1350025790.84-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025790.84-demo.wav has no TGID  
done - result 700550 frames written to 2012-10-12-1350025790.84-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
527090  
Worker for 2012-10-12-1350025799.36-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025799.36-demo.wav has no TGID  
done - result 1054180 frames written to 2012-10-12-1350025799.36-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350025817.5-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025817.5-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350025817.5-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350025819.91-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025819.91-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350025819.91-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
84036  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
276421  
Worker for 2012-10-12-1350025844.79-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 552842 frames written to 2012-10-12-1350025844.79-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
505812  
Worker for 2012-10-12-1350025852.11-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025852.11-demo.wav has no TGID  
done - result 1011624 frames written to 2012-10-12-1350025852.11-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
114756  
Worker for 2012-10-12-1350025868.1-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025868.1-demo.wav has no TGID  
done - result 229512 frames written to 2012-10-12-1350025868.1-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350025871.05-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025871.05-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350025871.05-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
152904  
Worker for 2012-10-12-1350025913.61-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 305808 frames written to 2012-10-12-1350025913.61-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
241732  
Worker for 2012-10-12-1350025918.33-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 483464 frames written to 2012-10-12-1350025918.33-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
127941  
Worker for 2012-10-12-1350025924.75-demo.wav  
GLG,40067,NFM,0,0,CanberraMtAinsli,,,1,0,NONE,NONE,NONE  
done - result 255882 frames written to 2012-10-12-1350025924.75-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
202820  
Worker for 2012-10-12-1350025928.06-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025928.06-demo.wav has no TGID  
done - result 405640 frames written to 2012-10-12-1350025928.06-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
522970  
Worker for 2012-10-12-1350025933.12-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025933.12-demo.wav has no TGID  
done - result 1045940 frames written to 2012-10-12-1350025933.12-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350025950.86-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025950.86-demo.wav has no TGID  
done - result 204936 frames written to 2012-10-12-1350025950.86-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
92228  
Worker for 2012-10-12-1350025953.54-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350025953.54-demo.wav has no TGID  
done - result 184456 frames written to 2012-10-12-1350025953.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
135842  
Worker for 2012-10-12-1350025988.3-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 271684 frames written to 2012-10-12-1350025988.3-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350025991.63-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 186504 frames written to 2012-10-12-1350025991.63-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
366642  
Worker for 2012-10-12-1350025993.94-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 733284 frames written to 2012-10-12-1350025993.94-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
321245  
Worker for 2012-10-12-1350026003.62-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 642490 frames written to 2012-10-12-1350026003.62-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
704580  
Worker for 2012-10-12-1350026012.17-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350026012.17-demo.wav has no TGID  
done - result 1409160 frames written to 2012-10-12-1350026012.17-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
98372  
Worker for 2012-10-12-1350026029.05-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350026029.05-demo.wav has no TGID  
done - result 196744 frames written to 2012-10-12-1350026029.05-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
91204  
Worker for 2012-10-12-1350026031.48-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350026031.48-demo.wav has no TGID  
done - result 182408 frames written to 2012-10-12-1350026031.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
87108  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
127460  
Worker for 2012-10-12-1350026121.24-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 254920 frames written to 2012-10-12-1350026121.24-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
132164  
Worker for 2012-10-12-1350026124.52-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 264328 frames written to 2012-10-12-1350026124.52-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
222276  
Worker for 2012-10-12-1350026127.9-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 444552 frames written to 2012-10-12-1350026127.9-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
796985  
Worker for 2012-10-12-1350026133.96-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350026133.96-demo.wav has no TGID  
done - result 1593970 frames written to 2012-10-12-1350026133.96-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
111684  
Worker for 2012-10-12-1350026157.54-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350026157.54-demo.wav has no TGID  
done - result 223368 frames written to 2012-10-12-1350026157.54-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
90180  
Worker for 2012-10-12-1350026160.73-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350026160.73-demo.wav has no TGID  
done - result 180360 frames written to 2012-10-12-1350026160.73-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76501  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
166462  
Worker for 2012-10-12-1350026328.38-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 332924 frames written to 2012-10-12-1350026328.38-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
95300  
Worker for 2012-10-12-1350026332.55-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 190600 frames written to 2012-10-12-1350026332.55-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1215271  
Worker for 2012-10-12-1350026335.16-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350026335.16-demo.wav has no TGID  
done - result 2430542 frames written to 2012-10-12-1350026335.16-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
102468  
Worker for 2012-10-12-1350026368.34-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350026368.34-demo.wav has no TGID  
done - result 204936 frames written to 2012-10-12-1350026368.34-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
93252  
Worker for 2012-10-12-1350026370.86-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350026370.86-demo.wav has no TGID  
done - result 186504 frames written to 2012-10-12-1350026370.86-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
86084  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
76866  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
108106  
Worker for 2012-10-12-1350026723.98-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 216212 frames written to 2012-10-12-1350026723.98-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
105540  
Worker for 2012-10-12-1350026727.26-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 211080 frames written to 2012-10-12-1350026727.26-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
1018948  
Worker for 2012-10-12-1350026730.76-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350026730.76-demo.wav has no TGID  
done - result 2037896 frames written to 2012-10-12-1350026730.76-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
146500  
Worker for 2012-10-12-1350026755.15-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 293000 frames written to 2012-10-12-1350026755.15-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
787196  
Worker for 2012-10-12-1350026759.39-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350026759.39-demo.wav has no TGID  
done - result 1574392 frames written to 2012-10-12-1350026759.39-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
97348  
Worker for 2012-10-12-1350026778.48-demo.wav  
GLG,,,,,,,,,,,,  
2012-10-12-1350026778.48-demo.wav has no TGID  
done - result 194696 frames written to 2012-10-12-1350026778.48-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
89156  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
144005  
Worker for 2012-10-12-1350026786.08-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 288010 frames written to 2012-10-12-1350026786.08-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
123972  
Worker for 2012-10-12-1350026789.61-demo.wav  
GLG,10106,NFM,0,0,CanberraMtAinsli,FireandRescNewSo,SYD 7,1,0,NONE,NONE,NONE  
done - result 247944 frames written to 2012-10-12-1350026789.61-demo.wav  
ready to record again  
True  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
510939  
Worker for 2012-10-12-1350026792.66-demo.wav  
 
 
file:a/run.bat -> file:b/run.bat
python scannr.py > output.txt python scannr.py > output.txt
  pause
file:a/scannr.py -> file:b/scannr.py
import logging import logging
   
logging.basicConfig(level=logging.DEBUG, logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s\t%(levelname)s\t%(message)s') format='%(asctime)s\t%(levelname)s\t%(message)s')
   
import snd import snd
import time import time
from datetime import date from datetime import date
import threading import threading
from pydispatch import dispatcher from pydispatch import dispatcher
import wave import wave
import serial import serial
#python -m serial.tools.miniterm -p COM20 -e -b 115200 --cr #python -m serial.tools.miniterm -p COM20 -e -b 115200 --cr
import psycopg2 import psycopg2
import csv import csv
import sys,os import sys
  import os
   
   
sys.path.insert(0, os.path.join(os.path.dirname(__file__) or '.', 'pynma')) sys.path.insert(0, os.path.join(os.path.dirname(__file__) or '.', 'pynma'))
import pynma import pynma
   
filename = "demo.wav" filename = "demo.wav"
  last_call = (None, None, None)
MIN_LENGTH = 90000 MIN_LENGTH = 90000
  lock = threading.RLock()
   
   
def worker(filename, length): def get_call():
  global lock
  with lock:
  ser.write("GLG\r")
  line = ser.readline() # read a '\n' terminated line
  print line
  reader = csv.reader([line])
  for row in reader:
  #GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0
  #,NONE,NONE,NONE
  if (row[0] != 'GLG' or row[1] == ''):
  print "uh oh"
  return (None, None, None)
  if (row[1] != ''):
  tgid = row[1]
  #nma.push("scannr", "ping", filename, "http://www.google.com")
  tgname = row[7]
  sitename = row[5]
  return (tgid, tgname, sitename)
   
   
  def log_recording(tgid, tgname, sitename, filename, length):
  cur = conn.cursor()
  cur.execute("INSERT INTO recordings \
  (tgid, tgname, sitename, filename, length)\
  VALUES (%s, %s, %s, %s, %s)", ( tgid, tgname, sitename, filename, length))
  conn.commit()
  cur.close()
   
   
  def tgid_worker():
  global last_call
  last_call = get_call()
   
   
  def save_worker(filename, length):
  global last_call
"""thread worker function """thread worker function
http://www.doughellmann.com/PyMOTW/threading/ http://www.doughellmann.com/PyMOTW/threading/
https://github.com/uskr/pynma https://github.com/uskr/pynma
ffmpeg -i 2012-09-29-1348911268.34-demo.wav -ar 8000 -ab 4.75k test.3gp ffmpeg -i 2012-09-29-1348911268.34-demo.wav -ar 8000 -ab 4.75k test.3gp
http://stackoverflow.com/questions/2559746/getting-error-while-converting-wav-to-amr-using-ffmpeg http://stackoverflow.com/questions/2559746/getting-error-while-converting-
  wav-to-amr-using-ffmpeg
""" """
print 'Worker for '+filename print 'Worker for ' + filename
ser.write("GLG\r") (oldtgid, oldtgname, oldsitename) = last_call
line = ser.readline() # read a '\n' terminated line (tgid, tgname, sitename) = get_call()
print line if oldtgid == tgid:
reader = csv.reader([line]) if tgid is None or tgid == '':
for row in reader: print filename + " has no TGID"
#GLG,40078,NFM,0,0,CanberraBlackMnt,AustralianCapita,SES Ops 1,1,0,NONE,NONE,NONE  
if (row[0] != 'GLG'):  
print "uh oh"  
if (row[1] != ''):  
tgid = row[1]  
#nma.push("scannr", "ping", filename, "http://www.google.com")  
tgname = row[7]  
sitename = row[5]  
"""http://initd.org/psycopg/docs/usage.html"""  
cur = conn.cursor()  
cur.execute("INSERT INTO recordings (filename,tgid,tgname,sitename,length) VALUES (%s, %s,%s, %s, %s)",(filename,tgid,tgname,sitename, length))  
conn.commit()  
cur.close()  
else: else:
print filename+" has no TGID" log_recording(tgid, tgname, sitename, filename, length)
  else:
  if tgid is None or tgid == '':
  print filename + " has no TGID"
  else:
  log_recording(tgid, tgname, sitename, filename, length)
  if oldtgid is None or oldtgid == '':
  print filename + " has no old TGID"
  else:
  log_recording(oldtgid, oldtgname, oldsitename, filename, length)
  return
   
return  
   
def filenameMaker(): def filenameMaker():
global filename global filename
filename = date.today().isoformat()+'-'+str(time.time())+'-demo.wav' filename = date.today().isoformat() + '-' + str(time.time()) + '-demo.wav'
   
def record_to_async_file():  
"Records from the microphone and outputs the resulting data to `path`" def do_record():
  #global filename
sample_width, data = snd.record() sample_width, data = snd.record()
print str(len(data)) thr = threading.Thread(target=record_to_async_file, args=(sample_width, data, filename))
  thr.start()
   
   
  def record_to_async_file(sample_width, data, filename):
  "Records from the microphone and outputs the resulting data to `filename`"
  print "Recording complete"
if len(data) > MIN_LENGTH: if len(data) > MIN_LENGTH:
data = snd.pack('<' + ('h'*len(data)), *data) print "Recording being saved..."
path = "./data/"+filename dispatcher.send(signal='FILE_CREATED', sender=filename, filename=filename, length=len(data))
dispatcher.send( signal='FILE_CREATED', sender=filename, filename=filename, length=len(data)) print str(len(data))
  data = snd.pack('<' + ('h' * len(data)), *data)
  path = "./data/" + filename
wf = wave.open(path, 'wb') wf = wave.open(path, 'wb')
wf.setnchannels(1) wf.setnchannels(2)
wf.setsampwidth(sample_width) wf.setsampwidth(sample_width)
wf.setframerate(snd.RATE) wf.setframerate(snd.RATE)
wf.writeframes(data) wf.writeframes(data)
wf.close() wf.close()
del wf del wf
print("done - result "+str(len(data))+" frames written to "+path) print("done - result " + str(len(data)) + " frames written to " + path)
del data del data
   
dispatcher.connect( filenameMaker, signal='SND_STARTED', sender=dispatcher.Any ) dispatcher.connect(filenameMaker, signal='SND_STARTED', sender=dispatcher.Any)
dispatcher.connect( worker, signal='FILE_CREATED', sender=dispatcher.Any ) dispatcher.connect(tgid_worker, signal='SND_STARTED', sender=dispatcher.Any)
  dispatcher.connect(save_worker, signal='FILE_CREATED', sender=dispatcher.Any)
   
print "Opening serial port..." print "Opening serial port..."
ser = serial.Serial('COM20', 112500, timeout=1) if sys.platform.startswith('darwin'):
  ser = serial.Serial('/dev/tty.usbserial-FTB3VL83', 112500, timeout=1)
  elif sys.platform.startswith('win32'):
  ser = serial.Serial('COM20', 112500, timeout=1)
print "Loading notifymyandroid..." print "Loading notifymyandroid..."
nma = pynma.PyNMA( "a6f50f76119eda33befe4325b4b9e1dd25eef7bad2868e4f") nma = pynma.PyNMA("a6f50f76119eda33befe4325b4b9e1dd25eef7bad2868e4f")
print "Connecting database..." print "Connecting database..."
conn = psycopg2.connect("dbname=scannr user=postgres password=snmc") conn = psycopg2.connect("dbname=scannr user=postgres password=snmc")
print "Scannr started." print "Scannr started."
while True: while True:
print "ready to record again" print "ready to record again"
record_to_async_file() do_record()
ser.close() ser.close()
   
   
   
  bin
  gen
  target
  .settings
  .classpath
  .project
  *.keystore
  *.swp
  *.orig
  *.log
  *.properties
  seed.txt
  map.txt
 
  scannrmobile
  <?xml version="1.0" encoding="UTF-8"?>
  <project version="4">
  <component name="AntConfiguration">
  <defaultAnt bundledAnt="true" />
  </component>
  </project>
 
 
  <?xml version="1.0" encoding="UTF-8"?>
  <project version="4">
  <component name="CompilerConfiguration">
  <option name="DEFAULT_COMPILER" value="Javac" />
  <excludeFromCompile>
  <directory url="file://$PROJECT_DIR$/gen" includeSubdirectories="true" />
  </excludeFromCompile>
  <resourceExtensions />
  <wildcardResourcePatterns>
  <entry name="!?*.java" />
  <entry name="!?*.form" />
  <entry name="!?*.class" />
  <entry name="!?*.groovy" />
  <entry name="!?*.scala" />
  <entry name="!?*.flex" />
  <entry name="!?*.kt" />
  <entry name="!?*.clj" />
  </wildcardResourcePatterns>
  <annotationProcessing>
  <profile default="true" name="Default" enabled="false">
  <processorPath useClasspath="true" />
  </profile>
  </annotationProcessing>
  </component>
  </project>
 
 
  <component name="CopyrightManager">
  <settings default="">
  <module2copyright />
  </settings>
  </component>
  <?xml version="1.0" encoding="UTF-8"?>
  <project version="4">
  <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
  </project>
 
 
  <?xml version="1.0" encoding="UTF-8"?>
  <project version="4">
  <component name="EntryPointsManager">
  <entry_points version="2.0" />
  </component>
  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="Android 4.2 Platform" project-jdk-type="Android SDK">
  <output url="file://$PROJECT_DIR$/out" />
  </component>
  </project>
 
 
  <?xml version="1.0" encoding="UTF-8"?>
  <project version="4">
  <component name="ProjectModuleManager">
  <modules>
  <module fileurl="file://$PROJECT_DIR$/scannrmobile.iml" filepath="$PROJECT_DIR$/scannrmobile.iml" />
  </modules>
  </component>
  </project>
 
 
  <component name="DependencyValidationManager">
  <state>
  <option name="SKIP_IMPORT_STATEMENTS" value="false" />
  </state>
  </component>
  <?xml version="1.0" encoding="UTF-8"?>
  <project version="4">
  <component name="Palette2">
  <group name="Swing">
  <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
  </item>
  <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
  </item>
  <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
  </item>
  <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
  <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
  </item>
  <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
  <initial-values>
  <property name="text" value="Button" />
  </initial-values>
  </item>
  <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
  <initial-values>
  <property name="text" value="RadioButton" />
  </initial-values>
  </item>
  <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
  <initial-values>
  <property name="text" value="CheckBox" />
  </initial-values>
  </item>
  <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
  <initial-values>
  <property name="text" value="Label" />
  </initial-values>
  </item>
  <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
  <preferred-size width="150" height="-1" />
  </default-constraints>
  </item>
  <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
  <preferred-size width="150" height="-1" />
  </default-constraints>
  </item>
  <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
  <preferred-size width="150" height="-1" />
  </default-constraints>
  </item>
  <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
  <preferred-size width="150" height="50" />
  </default-constraints>
  </item>
  <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
  <preferred-size width="150" height="50" />
  </default-constraints>
  </item>
  <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
  <preferred-size width="150" height="50" />
  </default-constraints>
  </item>
  <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
  </item>
  <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
  <preferred-size width="150" height="50" />
  </default-constraints>
  </item>
  <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
  <preferred-size width="150" height="50" />
  </default-constraints>
  </item>
  <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
  <preferred-size width="150" height="50" />
  </default-constraints>
  </item>
  <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
  <preferred-size width="200" height="200" />
  </default-constraints>
  </item>
  <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
  <preferred-size width="200" height="200" />
  </default-constraints>
  </item>
  <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
  </item>
  <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
  </item>
  <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
  </item>
  <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
  </item>
  <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
  <preferred-size width="-1" height="20" />
  </default-constraints>
  </item>
  <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
  <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
  </item>
  <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
  <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
  </item>
  </group>
  </component>
  </project>
 
 
  <?xml version="1.0" encoding="UTF-8"?>
  <project version="4">
  <component name="VcsDirectoryMappings">
  <mapping directory="" vcs="" />
  </component>
  </project>
 
 
  <?xml version="1.0" encoding="UTF-8"?>
  <project version="4">
  <component name="AndroidConfiguredLogFilters">
  <filters>
  <filter>
  <option name="logLevel" value="verbose" />
  <option name="logMessagePattern" value="Scannr" />
  <option name="logTagPattern" value="" />
  <option name="name" value="Scannr" />
  <option name="pid" value="" />
  </filter>
  </filters>
  </component>
  <component name="AndroidDesignerProfile">
  <option name="fullProfile">
  <profile>
  <option name="device" value="2.7in QVGA" />
  <option name="deviceConfiguration" value="Portrait" />
  <option name="targetHashString" value="android-17" />
  <option name="theme" value="Theme" />
  </profile>
  </option>
  <option name="selection" value="[Full]" />
  </component>
  <component name="AndroidLogFilters">
  <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Scannr" />
  </component>
  <component name="ChangeListManager">
  <list default="true" id="4912fbca-fcd2-420f-a992-61830c24c4b5" name="Default" comment="" />
  <ignored path="scannrmobile.iws" />
  <ignored path=".idea/workspace.xml" />
  <file path="$PROJECT_DIR$/res/values/strings.xml" changelist="4912fbca-fcd2-420f-a992-61830c24c4b5" time="1356156665048" ignored="false" />
  <file path="/fragment.java" changelist="4912fbca-fcd2-420f-a992-61830c24c4b5" time="1356173506003" ignored="false" />
  <file path="/HttpTask.java" changelist="4912fbca-fcd2-420f-a992-61830c24c4b5" time="1356175420628" ignored="false" />
  <file path="$PROJECT_DIR$/gen/com/example/scannrmobile/Manifest.java" changelist="4912fbca-fcd2-420f-a992-61830c24c4b5" time="1356176134813" ignored="false" />
  <file path="$PROJECT_DIR$/gen/com/example/scannrmobile/R.java" changelist="4912fbca-fcd2-420f-a992-61830c24c4b5" time="1356176134813" ignored="false" />
  <file path="$PROJECT_DIR$/gen/com/example/scannrmobile/BuildConfig.java" changelist="4912fbca-fcd2-420f-a992-61830c24c4b5" time="1356176134813" ignored="false" />
  <file path="/ScannrMobile.java" changelist="4912fbca-fcd2-420f-a992-61830c24c4b5" time="1356177267735" ignored="false" />
  <file path="/Dummy.txt" changelist="4912fbca-fcd2-420f-a992-61830c24c4b5" time="1356175572532" ignored="false" />
  <file path="$USER_HOME$/Sites/scannr/calls.json.php" changelist="4912fbca-fcd2-420f-a992-61830c24c4b5" time="1356175698040" ignored="false" />
  <option name="TRACKING_ENABLED" value="true" />
  <option name="SHOW_DIALOG" value="false" />
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
  <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
  <option name="LAST_RESOLUTION" value="IGNORE" />
  </component>
  <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
  <component name="CreatePatchCommitExecutor">
  <option name="PATCH_PATH" value="" />
  </component>
  <component name="DaemonCodeAnalyzer">
  <disable_hints />
  </component>
  <component name="DebuggerManager">
  <line_breakpoints default_suspend_policy="SuspendAll" default_condition_enabled="true" />
  <breakpoint_any default_suspend_policy="SuspendAll" default_condition_enabled="true">
  <breakpoint>
  <option name="NOTIFY_CAUGHT" value="true" />
  <option name="NOTIFY_UNCAUGHT" value="true" />
  <option name="ENABLED" value="false" />
  <option name="LOG_ENABLED" value="false" />
  <option name="LOG_EXPRESSION_ENABLED" value="false" />
  <option name="SUSPEND_POLICY" value="SuspendAll" />
  <option name="SUSPEND" value="true" />
  <option name="COUNT_FILTER_ENABLED" value="false" />
  <option name="COUNT_FILTER" value="0" />
  <option name="CONDITION_ENABLED" value="true" />
  <option name="CLASS_FILTERS_ENABLED" value="false" />
  <option name="INSTANCE_FILTERS_ENABLED" value="false" />
  <option name="CONDITION" value="" />
  <option name="LOG_MESSAGE" value="" />
  </breakpoint>
  <breakpoint>
  <option name="NOTIFY_CAUGHT" value="true" />
  <option name="NOTIFY_UNCAUGHT" value="true" />
  <option name="ENABLED" value="false" />
  <option name="LOG_ENABLED" value="false" />
  <option name="LOG_EXPRESSION_ENABLED" value="false" />
  <option name="SUSPEND_POLICY" value="SuspendAll" />
  <option name="SUSPEND" value="true" />
  <option name="COUNT_FILTER_ENABLED" value="false" />
  <option name="COUNT_FILTER" value="0" />
  <option name="CONDITION_ENABLED" value="true" />
  <option name="CLASS_FILTERS_ENABLED" value="false" />
  <option name="INSTANCE_FILTERS_ENABLED" value="false" />
  <option name="CONDITION" value="" />
  <option name="LOG_MESSAGE" value="" />
  </breakpoint>
  </breakpoint_any>
  <ui_properties default_suspend_policy="SuspendAll" default_condition_enabled="true" />
  <breakpoint_rules />
  <ui_properties />
  </component>
  <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
  <component name="FavoritesManager">
  <favorites_list name="scannrmobile" />
  </component>
  <component name="FileEditorManager">
  <leaf>
  <file leaf-file-name="ScannrMobile.java" pinned="false" current="true" current-in-tab="true">
  <entry file="file://$PROJECT_DIR$/src/com/example/scannrmobile/ScannrMobile.java">
  <provider selected="true" editor-type-id="text-editor">
  <state line="32" column="50" selection-start="1063" selection-end="1073" vertical-scroll-proportion="0.44060475">
  <folding>
  <element signature="imports" expanded="true" />
  </folding>
  </state>
  </provider>
  </entry>
  </file>
  <file leaf-file-name="ArrayAdapter.java" pinned="false" current="false" current-in-tab="false">
  <entry file="file://$USER_HOME$/Downloads/android-sdk-macosx/sources/android-17/android/widget/ArrayAdapter.java">
  <provider selected="true" editor-type-id="text-editor">
  <state line="46" column="13" selection-start="1860" selection-end="1860" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  </file>
  <file leaf-file-name="simplerow.xml" pinned="false" current="false" current-in-tab="false">
  <entry file="file://$PROJECT_DIR$/res/layout/simplerow.xml">
  <provider selected="true" editor-type-id="android-designer">
  <state />
  </provider>
  <provider editor-type-id="text-editor">
  <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  </file>
  <file leaf-file-name="HttpTask.java" pinned="false" current="false" current-in-tab="false">
  <entry file="file://$PROJECT_DIR$/src/com/example/scannrmobile/HttpTask.java">
  <provider selected="true" editor-type-id="text-editor">
  <state line="61" column="28" selection-start="1919" selection-end="1919" vertical-scroll-proportion="0.0">
  <folding>
  <element signature="imports" expanded="true" />
  </folding>
  </state>
  </provider>
  </entry>
  </file>
  <file leaf-file-name="AndroidManifest.xml" pinned="false" current="false" current-in-tab="false">
  <entry file="file://$PROJECT_DIR$/AndroidManifest.xml">
  <provider selected="true" editor-type-id="text-editor">
  <state line="5" column="68" selection-start="266" selection-end="266" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  </file>
  </leaf>
  </component>
  <component name="FindManager">
  <FindUsagesManager>
  <setting name="OPEN_NEW_TAB" value="false" />
  </FindUsagesManager>
  </component>
  <component name="IdeDocumentHistory">
  <option name="changedFiles">
  <list>
  <option value="$PROJECT_DIR$/AndroidManifest.xml" />
  <option value="$PROJECT_DIR$/src/com/example/scannrmobile/HttpTask.java" />
  <option value="$PROJECT_DIR$/res/layout/main.xml" />
  <option value="$PROJECT_DIR$/src/com/example/scannrmobile/ScannrMobile.java" />
  </list>
  </option>
  </component>
  <component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
  <component name="ProjectFrameBounds">
  <option name="y" value="22" />
  <option name="width" value="1680" />
  <option name="height" value="937" />
  </component>
  <component name="ProjectLevelVcsManager" settingsEditedManually="false">
  <OptionsSetting value="true" id="Add" />
  <OptionsSetting value="true" id="Remove" />
  <OptionsSetting value="true" id="Checkout" />
  <OptionsSetting value="true" id="Update" />
  <OptionsSetting value="true" id="Status" />
  <OptionsSetting value="true" id="Edit" />
  <ConfirmationsSetting value="0" id="Add" />
  <ConfirmationsSetting value="0" id="Remove" />
  </component>
  <component name="ProjectReloadState">
  <option name="STATE" value="0" />
  </component>
  <component name="ProjectView">
  <navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
  <flattenPackages />
  <showMembers />
  <showModules />
  <showLibraryContents />
  <hideEmptyPackages />
  <abbreviatePackageNames />
  <autoscrollToSource />
  <autoscrollFromSource />
  <sortByType />
  </navigator>
  <panes>
  <pane id="ProjectPane">
  <subPane>
  <PATH>
  <PATH_ELEMENT>
  <option name="myItemId" value="scannrmobile" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
  </PATH_ELEMENT>
  </PATH>
  <PATH>
  <PATH_ELEMENT>
  <option name="myItemId" value="scannrmobile" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
  <option name="myItemId" value="scannrmobile" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  </PATH>
  <PATH>
  <PATH_ELEMENT>
  <option name="myItemId" value="scannrmobile" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
  <option name="myItemId" value="scannrmobile" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
  <option name="myItemId" value="src" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
  <option name="myItemId" value="scannrmobile" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  </PATH>
  <PATH>
  <PATH_ELEMENT>
  <option name="myItemId" value="scannrmobile" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
  <option name="myItemId" value="scannrmobile" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
  <option name="myItemId" value="res" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  </PATH>
  <PATH>
  <PATH_ELEMENT>
  <option name="myItemId" value="scannrmobile" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
  <option name="myItemId" value="scannrmobile" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
  <option name="myItemId" value="res" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  <PATH_ELEMENT>
  <option name="myItemId" value="layout" />
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  </PATH_ELEMENT>
  </PATH>
  </subPane>
  </pane>
  <pane id="PackagesPane" />
  <pane id="Scope" />
  </panes>
  </component>
  <component name="PropertiesComponent">
  <property name="GoToFile.includeJavaFiles" value="false" />
  <property name="project.structure.last.edited" value="Modules" />
  <property name="project.structure.proportion" value="0.0" />
  <property name="options.splitter.main.proportions" value="0.3" />
  <property name="options.lastSelected" value="preferences.pluginManager" />
  <property name="MemberChooser.sorted" value="false" />
  <property name="recentsLimit" value="5" />
  <property name="AndroidLayoutSelectedEditor" value="android-designer" />
  <property name="project.structure.side.proportion" value="0.2" />
  <property name="MemberChooser.copyJavadoc" value="false" />
  <property name="GoToClass.toSaveIncludeLibraries" value="false" />
  <property name="WebServerToolWindowFactoryState" value="false" />
  <property name="restartRequiresConfirmation" value="true" />
  <property name="FullScreen" value="false" />
  <property name="MemberChooser.showClasses" value="true" />
  <property name="GoToClass.includeLibraries" value="false" />
  <property name="options.splitter.details.proportions" value="0.2" />
  <property name="options.searchVisible" value="true" />
  </component>
  <component name="PyConsoleOptionsProvider">
  <option name="myPythonConsoleState">
  <PyConsoleSettings />
  </option>
  <option name="myDjangoConsoleState">
  <PyConsoleSettings />
  </option>
  </component>
  <component name="RunManager" selected="Android Application.scannrmobile">
  <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
  <module name="" />
  <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m" />
  <option name="PROGRAM_PARAMETERS" />
  <method />
  </configuration>
  <configuration default="true" type="AndroidTestRunConfigurationType" factoryName="Android Tests">
  <module name="" />
  <option name="TESTING_TYPE" value="0" />
  <option name="INSTRUMENTATION_RUNNER_CLASS" value="" />
  <option name="METHOD_NAME" value="" />
  <option name="CLASS_NAME" value="" />
  <option name="PACKAGE_NAME" value="" />
  <option name="TARGET_SELECTION_MODE" value="EMULATOR" />
  <option name="PREFERRED_AVD" value="" />
  <option name="COMMAND_LINE" value="" />
  <option name="WIPE_USER_DATA" value="false" />
  <option name="DISABLE_BOOT_ANIMATION" value="false" />
  <option name="NETWORK_SPEED" value="full" />
  <option name="NETWORK_LATENCY" value="none" />
  <option name="CLEAR_LOGCAT" value="false" />
  <method />
  </configuration>
  <configuration default="true" type="Remote" factoryName="Remote">
  <option name="USE_SOCKET_TRANSPORT" value="true" />
  <option name="SERVER_MODE" value="false" />
  <option name="SHMEM_ADDRESS" value="javadebug" />
  <option name="HOST" value="localhost" />
  <option name="PORT" value="5005" />
  <method />
  </configuration>
  <configuration default="true" type="Applet" factoryName="Applet">
  <module name="" />
  <option name="MAIN_CLASS_NAME" />
  <option name="HTML_FILE_NAME" />
  <option name="HTML_USED" value="false" />
  <option name="WIDTH" value="400" />
  <option name="HEIGHT" value="300" />
  <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
  <option name="VM_PARAMETERS" />
  <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
  <option name="ALTERNATIVE_JRE_PATH" />
  <method />
  </configuration>
  <configuration default="true" type="TestNG" factoryName="TestNG">
  <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
  <module name="" />
  <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
  <option name="ALTERNATIVE_JRE_PATH" />
  <option name="SUITE_NAME" />
  <option name="PACKAGE_NAME" />
  <option name="MAIN_CLASS_NAME" />
  <option name="METHOD_NAME" />
  <option name="GROUP_NAME" />
  <option name="TEST_OBJECT" value="CLASS" />
  <option name="VM_PARAMETERS" value="-ea" />
  <option name="PARAMETERS" />
  <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
  <option name="OUTPUT_DIRECTORY" />
  <option name="ANNOTATION_TYPE" />
  <option name="ENV_VARIABLES" />
  <option name="PASS_PARENT_ENVS" value="true" />
  <option name="TEST_SEARCH_SCOPE">
  <value defaultName="moduleWithDependencies" />
  </option>
  <option name="USE_DEFAULT_REPORTERS" value="false" />
  <option name="PROPERTIES_FILE" />
  <envs />
  <properties />
  <listeners />
  <method />
  </configuration>
  <configuration default="true" type="Application" factoryName="Application">
  <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
  <option name="MAIN_CLASS_NAME" />
  <option name="VM_PARAMETERS" />
  <option name="PROGRAM_PARAMETERS" />
  <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
  <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
  <option name="ALTERNATIVE_JRE_PATH" />
  <option name="ENABLE_SWING_INSPECTOR" value="false" />
  <option name="ENV_VARIABLES" />
  <option name="PASS_PARENT_ENVS" value="true" />
  <module name="" />
  <envs />
  <method />
  </configuration>
  <configuration default="true" type="JUnit" factoryName="JUnit">
  <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
  <module name="" />
  <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
  <option name="ALTERNATIVE_JRE_PATH" />
  <option name="PACKAGE_NAME" />
  <option name="MAIN_CLASS_NAME" />
  <option name="METHOD_NAME" />
  <option name="TEST_OBJECT" value="class" />
  <option name="VM_PARAMETERS" value="-ea" />
  <option name="PARAMETERS" />
  <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
  <option name="ENV_VARIABLES" />
  <option name="PASS_PARENT_ENVS" value="true" />
  <option name="TEST_SEARCH_SCOPE">
  <value defaultName="moduleWithDependencies" />
  </option>
  <envs />
  <patterns />
  <method />
  </configuration>
  <configuration default="true" type="AndroidRunConfigurationType" factoryName="Android Application">
  <module name="" />
  <option name="ACTIVITY_CLASS" value="" />
  <option name="MODE" value="default_activity" />
  <option name="DEPLOY" value="true" />
  <option name="TARGET_SELECTION_MODE" value="EMULATOR" />
  <option name="PREFERRED_AVD" value="" />
  <option name="COMMAND_LINE" value="" />
  <option name="WIPE_USER_DATA" value="false" />
  <option name="DISABLE_BOOT_ANIMATION" value="false" />
  <option name="NETWORK_SPEED" value="full" />
  <option name="NETWORK_LATENCY" value="none" />
  <option name="CLEAR_LOGCAT" value="false" />
  <method />
  </configuration>
  <configuration default="false" name="scannrmobile" type="AndroidRunConfigurationType" factoryName="Android Application">
  <module name="scannrmobile" />
  <option name="ACTIVITY_CLASS" value="com.example.scannrmobile.ScannrMobile" />
  <option name="MODE" value="specific_activity" />
  <option name="DEPLOY" value="true" />
  <option name="TARGET_SELECTION_MODE" value="EMULATOR" />
  <option name="PREFERRED_AVD" value="MyAvd0" />
  <option name="COMMAND_LINE" value="" />
  <option name="WIPE_USER_DATA" value="false" />
  <option name="DISABLE_BOOT_ANIMATION" value="false" />
  <option name="NETWORK_SPEED" value="full" />
  <option name="NETWORK_LATENCY" value="none" />
  <option name="CLEAR_LOGCAT" value="true" />
  <RunnerSettings RunnerId="AndroidDebugRunner" />
  <ConfigurationWrapper RunnerId="AndroidDebugRunner" />
  <method />
  </configuration>
  <list size="1">
  <item index="0" class="java.lang.String" itemvalue="Android Application.scannrmobile" />
  </list>
  <configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false">
  <Host>localhost</Host>
  <Port>5050</Port>
  </configuration>
  </component>
  <component name="ShelveChangesManager" show_recycled="false" />
  <component name="SvnConfiguration" maxAnnotateRevisions="500" myUseAcceleration="nothing" myAutoUpdateAfterCommit="false" cleanupOnStartRun="false">
  <option name="USER" value="" />
  <option name="PASSWORD" value="" />
  <option name="mySSHConnectionTimeout" value="30000" />
  <option name="mySSHReadTimeout" value="30000" />
  <option name="LAST_MERGED_REVISION" />
  <option name="MERGE_DRY_RUN" value="false" />
  <option name="MERGE_DIFF_USE_ANCESTRY" value="true" />
  <option name="UPDATE_LOCK_ON_DEMAND" value="false" />
  <option name="IGNORE_SPACES_IN_MERGE" value="false" />
  <option name="DETECT_NESTED_COPIES" value="true" />
  <option name="CHECK_NESTED_FOR_QUICK_MERGE" value="false" />
  <option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
  <option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
  <option name="FORCE_UPDATE" value="false" />
  <option name="IGNORE_EXTERNALS" value="false" />
  <myIsUseDefaultProxy>false</myIsUseDefaultProxy>
  </component>
  <component name="TaskManager">
  <task active="true" id="Default" summary="Default task">
  <changelist id="4912fbca-fcd2-420f-a992-61830c24c4b5" name="Default" comment="" />
  <created>1356156646856</created>
  <updated>1356156646856</updated>
  </task>
  <servers />
  </component>
  <component name="ToolWindowManager">
  <frame x="0" y="22" width="1680" height="937" extended-state="6" />
  <editor active="true" />
  <layout>
  <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32986537" sideWeight="0.6719706" order="3" side_tool="false" content_ui="tabs" />
  <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32986537" sideWeight="0.6719706" order="2" side_tool="false" content_ui="tabs" />
  <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
  <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
  <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
  <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39902082" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
  <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32925338" sideWeight="0.500612" order="7" side_tool="true" content_ui="tabs" />
  <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
  <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
  <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32802936" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
  <window_info id="Android" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32925338" sideWeight="0.49510404" order="7" side_tool="false" content_ui="tabs" />
  <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
  <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" />
  <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
  <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
  <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.249694" sideWeight="0.6009792" order="0" side_tool="false" content_ui="combo" />
  <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32925338" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
  <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
  <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
  <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32925338" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
  <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
  <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
  </layout>
  </component>
  <component name="VcsContentAnnotationSettings">
  <option name="myLimit" value="2678400000" />
  </component>
  <component name="VcsManagerConfiguration">
  <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
  <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
  <option name="CHECK_NEW_TODO" value="true" />
  <option name="myTodoPanelSettings">
  <value>
  <are-packages-shown value="false" />
  <are-modules-shown value="false" />
  <flatten-packages value="false" />
  <is-autoscroll-to-source value="false" />
  </value>
  </option>
  <option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" />
  <option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" />
  <option name="PERFORM_EDIT_IN_BACKGROUND" value="true" />
  <option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" />
  <option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
  <option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" />
  <option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" />
  <option name="CHANGED_ON_SERVER_INTERVAL" value="60" />
  <option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" />
  <option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
  <option name="DEFAULT_PATCH_EXTENSION" value="patch" />
  <option name="SHORT_DIFF_HORISONTALLY" value="true" />
  <option name="SHORT_DIFF_EXTRA_LINES" value="2" />
  <option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" />
  <option name="INCLUDE_TEXT_INTO_PATCH" value="false" />
  <option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
  <option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
  <option name="SHOW_VCS_ERROR_NOTIFICATIONS" value="true" />
  <option name="SHOW_DIRTY_RECURSIVELY" value="false" />
  <option name="LIMIT_HISTORY" value="true" />
  <option name="MAXIMUM_HISTORY_ROWS" value="1000" />
  <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
  <option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />
  <option name="LAST_COMMIT_MESSAGE" />
  <option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" />
  <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
  <option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
  <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
  <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
  <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
  <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
  <option name="ACTIVE_VCS_NAME" />
  <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
  <option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
  <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
  <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
  </component>
  <component name="XDebuggerManager">
  <breakpoint-manager />
  </component>
  <component name="antWorkspaceConfiguration">
  <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
  <option name="FILTER_TARGETS" value="false" />
  </component>
  <component name="editorHistoryManager">
  <entry file="file://$PROJECT_DIR$/src/com/example/scannrmobile/HttpTask.java">
  <provider selected="true" editor-type-id="text-editor">
  <state line="6" column="30" selection-start="184" selection-end="184" vertical-scroll-proportion="0.0">
  <folding>
  <element signature="imports" expanded="true" />
  </folding>
  </state>
  </provider>
  </entry>
  <entry file="file://$USER_HOME$/Downloads/android-sdk-macosx/sources/android-17/android/os/AsyncTask.java">
  <provider selected="true" editor-type-id="text-editor">
  <state line="347" column="53" selection-start="14141" selection-end="14141" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/AndroidManifest.xml">
  <provider selected="true" editor-type-id="text-editor">
  <state line="5" column="68" selection-start="266" selection-end="266" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/res/layout/main.xml">
  <provider selected="true" editor-type-id="android-designer">
  <state />
  </provider>
  <provider editor-type-id="text-editor">
  <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/src/com/example/scannrmobile/ScannrMobile.java">
  <provider selected="true" editor-type-id="text-editor">
  <state line="37" column="0" selection-start="1317" selection-end="1317" vertical-scroll-proportion="0.0">
  <folding>
  <element signature="imports" expanded="true" />
  </folding>
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/AndroidManifest.xml">
  <provider selected="true" editor-type-id="text-editor">
  <state line="5" column="68" selection-start="266" selection-end="266" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/res/layout/main.xml">
  <provider selected="true" editor-type-id="android-designer">
  <state />
  </provider>
  <provider editor-type-id="text-editor">
  <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/src/com/example/scannrmobile/ScannrMobile.java">
  <provider selected="true" editor-type-id="text-editor">
  <state line="48" column="0" selection-start="1666" selection-end="1666" vertical-scroll-proportion="0.0">
  <folding>
  <element signature="imports" expanded="true" />
  </folding>
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/AndroidManifest.xml">
  <provider selected="true" editor-type-id="text-editor">
  <state line="5" column="68" selection-start="266" selection-end="266" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$USER_HOME$/Downloads/android-sdk-macosx/sources/android-17/android/os/AsyncTask.java">
  <provider selected="true" editor-type-id="text-editor">
  <state line="347" column="53" selection-start="14141" selection-end="14141" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/AndroidManifest.xml">
  <provider selected="true" editor-type-id="text-editor">
  <state line="5" column="68" selection-start="266" selection-end="266" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/res/layout/main.xml">
  <provider selected="true" editor-type-id="android-designer">
  <state />
  </provider>
  <provider editor-type-id="text-editor">
  <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/res/layout/simplerow.xml">
  <provider selected="true" editor-type-id="android-designer">
  <state />
  </provider>
  <provider editor-type-id="text-editor">
  <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$USER_HOME$/Downloads/android-sdk-macosx/sources/android-17/android/widget/ArrayAdapter.java">
  <provider selected="true" editor-type-id="text-editor">
  <state line="46" column="13" selection-start="1860" selection-end="1860" vertical-scroll-proportion="0.0">
  <folding />
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/src/com/example/scannrmobile/HttpTask.java">
  <provider selected="true" editor-type-id="text-editor">
  <state line="61" column="28" selection-start="1919" selection-end="1919" vertical-scroll-proportion="0.0">
  <folding>
  <element signature="imports" expanded="true" />
  </folding>
  </state>
  </provider>
  </entry>
  <entry file="file://$PROJECT_DIR$/src/com/example/scannrmobile/ScannrMobile.java">
  <provider selected="true" editor-type-id="text-editor">
  <state line="32" column="50" selection-start="1063" selection-end="1073" vertical-scroll-proportion="0.44060475">
  <folding>
  <element signature="imports" expanded="true" />
  </folding>
  </state>
  </provider>
  </entry>
  </component>
  <component name="masterDetails">
  <states>
  <state key="ArtifactsStructureConfigurable.UI">
  <settings>
  <artifact-editor />
  <splitter-proportions>
  <option name="proportions">
  <list>
  <option value="0.2" />
  </list>
  </option>
  </splitter-proportions>
  </settings>
  </state>
  <state key="FacetStructureConfigurable.UI">
  <settings>
  <last-edited>Android</last-edited>
  <splitter-proportions>
  <option name="proportions">
  <list>
  <option value="0.2" />
  </list>
  </option>
  </splitter-proportions>
  </settings>
  </state>
  <state key="GlobalLibrariesConfigurable.UI">
  <settings>
  <splitter-proportions>
  <option name="proportions">
  <list>
  <option value="0.2" />
  </list>
  </option>
  </splitter-proportions>
  </settings>
  </state>
  <state key="JdkListConfigurable.UI">
  <settings>
  <last-edited>Android 4.2 Platform</last-edited>
  <splitter-proportions>
  <option name="proportions">
  <list>
  <option value="0.2" />
  </list>
  </option>
  </splitter-proportions>
  </settings>
  </state>
  <state key="ModuleStructureConfigurable.UI">
  <settings>
  <last-edited>Android|scannrmobile</last-edited>
  <splitter-proportions>
  <option name="proportions">
  <list>
  <option value="0.2" />
  </list>
  </option>
  </splitter-proportions>
  </settings>
  </state>
  <state key="ProjectLibrariesConfigurable.UI">
  <settings>
  <splitter-proportions>
  <option name="proportions">
  <list>
  <option value="0.2" />
  </list>
  </option>
  </splitter-proportions>
  </settings>
  </state>
  </states>
  </component>
  </project>
 
 
  <?xml version="1.0" encoding="utf-8"?>
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.scannrmobile"
  android:versionCode="1"
  android:versionName="1.0">
  <uses-sdk android:minSdkVersion="17"/>
  <uses-permission android:name="android.permission.INTERNET"/>
  <application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
  <activity android:name="ScannrMobile"
  android:label="@string/app_name">
  <intent-filter>
  <action android:name="android.intent.action.MAIN"/>
  <category android:name="android.intent.category.LAUNCHER"/>
  </intent-filter>
  </activity>
  </application>
  </manifest>
 
  <?xml version="1.0" encoding="UTF-8"?>
  <project name="scannrmobile" default="help">
 
  <!-- The local.properties file is created and updated by the 'android' tool.
  It contains the path to the SDK. It should *NOT* be checked into
  Version Control Systems. -->
  <property file="local.properties"/>
 
  <!-- The ant.properties file can be created by you. It is only edited by the
  'android' tool to add properties to it.
  This is the place to change some Ant specific build properties.
  Here are some properties you may want to change/update:
 
  source.dir
  The name of the source directory. Default is 'src'.
  out.dir
  The name of the output directory. Default is 'bin'.
 
  For other overridable properties, look at the beginning of the rules
  files in the SDK, at tools/ant/build.xml
 
  Properties related to the SDK location or the project target should
  be updated using the 'android' tool with the 'update' action.
 
  This file is an integral part of the build system for your
  application and should be checked into Version Control Systems.
 
  -->
  <property file="ant.properties"/>
 
  <!-- if sdk.dir was not set from one of the property file, then
  get it from the ANDROID_HOME env var.
  This must be done before we load project.properties since
  the proguard config can use sdk.dir -->
  <property environment="env"/>
  <condition property="sdk.dir" value="${env.ANDROID_HOME}">
  <isset property="env.ANDROID_HOME"/>
  </condition>
 
  <!-- The project.properties file is created and updated by the 'android'
  tool, as well as ADT.
 
  This contains project specific properties such as project target, and library
  dependencies. Lower level build properties are stored in ant.properties
  (or in .classpath for Eclipse projects).
 
  This file is an integral part of the build system for your
  application and should be checked into Version Control Systems. -->
  <loadproperties srcFile="project.properties"/>
 
  <!-- quick check on sdk.dir -->
  <fail
  message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
  unless="sdk.dir"
  />
 
  <!--
  Import per project custom build rules if present at the root of the project.
  This is the place to put custom intermediary targets such as:
  -pre-build
  -pre-compile
  -post-compile (This is typically used for code obfuscation.
  Compiled code location: ${out.classes.absolute.dir}
  If this is not done in place, override ${out.dex.input.absolute.dir})
  -post-package
  -post-build
  -pre-clean
  -->
  <import file="custom_rules.xml" optional="true"/>
 
  <!-- Import the actual build file.
 
  To customize existing targets, there are two options:
  - Customize only one target:
  - copy/paste the target into this file, *before* the
  <import> task.
  - customize it to your needs.
  - Customize the whole content of build.xml
  - copy/paste the content of the rules files (minus the top node)
  into this file, replacing the <import> task.
  - customize to your needs.
 
  ***********************
  ****** IMPORTANT ******
  ***********************
  In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
  in order to avoid having your file be overridden by tools such as "android update project"
  -->
  <!-- version-tag: 1 -->
  <import file="${sdk.dir}/tools/ant/build.xml"/>
 
  </project>
 
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/com/example/scannrmobile/BuildConfig.class differ
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/com/example/scannrmobile/HttpTask$HttpTaskHandler.class differ
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/com/example/scannrmobile/HttpTask.class differ
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/com/example/scannrmobile/R$attr.class differ
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/com/example/scannrmobile/R$drawable.class differ
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/com/example/scannrmobile/R$id.class differ
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/com/example/scannrmobile/R$layout.class differ
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/com/example/scannrmobile/R$string.class differ
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/com/example/scannrmobile/R.class differ
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/com/example/scannrmobile/ScannrMobile$1.class differ
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/com/example/scannrmobile/ScannrMobile.class differ
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/scannrmobile.afp.apk differ
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/scannrmobile.apk differ
 Binary files /dev/null and b/scannrmobile/out/production/scannrmobile/scannrmobile.unaligned.apk differ
  # To enable ProGuard in your project, edit project.properties
  # to define the proguard.config property as described in that file.
  #
  # Add project specific ProGuard rules here.
  # By default, the flags in this file are appended to flags specified
  # in ${sdk.dir}/tools/proguard/proguard-android.txt
  # You can edit the include path and order by changing the ProGuard
  # include property in project.properties.
  #
  # For more details, see
  # http://developer.android.com/guide/developing/tools/proguard.html
 
  # Add any project specific keep options here:
 
  # If your project uses WebView with JS, uncomment the following
  # and specify the fully qualified class name to the JavaScript interface
  # class:
  #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
  # public *;
  #}
 
 Binary files /dev/null and b/scannrmobile/res/drawable-hdpi/ic_launcher.png differ
 Binary files /dev/null and b/scannrmobile/res/drawable-ldpi/ic_launcher.png differ
 Binary files /dev/null and b/scannrmobile/res/drawable-mdpi/ic_launcher.png differ
 Binary files /dev/null and b/scannrmobile/res/drawable-xhdpi/ic_launcher.png differ
  <?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
 
  <ListView android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:id="@+id/mainListView">
  </ListView>
 
  </LinearLayout>
 
  <TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/rowTextView"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:padding="10dp"
  android:textSize="16sp" >
  </TextView>
 
  <?xml version="1.0" encoding="utf-8"?>
  <resources>
  <string name="app_name">scannrmobile</string>
  </resources>
 
  <?xml version="1.0" encoding="UTF-8"?>
  <module type="JAVA_MODULE" version="4">
  <component name="FacetManager">
  <facet type="android" name="Android">
  <configuration>
  <option name="GEN_FOLDER_RELATIVE_PATH_APT" value="/gen" />
  <option name="GEN_FOLDER_RELATIVE_PATH_AIDL" value="/gen" />
  <option name="MANIFEST_FILE_RELATIVE_PATH" value="/AndroidManifest.xml" />
  <option name="RES_FOLDER_RELATIVE_PATH" value="/res" />
  <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/assets" />
  <option name="LIBS_FOLDER_RELATIVE_PATH" value="/libs" />
  <option name="USE_CUSTOM_APK_RESOURCE_FOLDER" value="false" />
  <option name="CUSTOM_APK_RESOURCE_FOLDER" value="" />
  <option name="USE_CUSTOM_COMPILER_MANIFEST" value="false" />
  <option name="CUSTOM_COMPILER_MANIFEST" value="" />
  <option name="APK_PATH" value="" />
  <option name="LIBRARY_PROJECT" value="false" />
  <option name="RUN_PROCESS_RESOURCES_MAVEN_TASK" value="true" />
  <option name="GENERATE_UNSIGNED_APK" value="false" />
  <option name="CUSTOM_DEBUG_KEYSTORE_PATH" value="" />
  <option name="PACK_TEST_CODE" value="false" />
  <option name="RUN_PROGUARD" value="false" />
  <option name="PROGUARD_CFG_PATH" value="/proguard-project.txt" />
  <resOverlayFolders>
  <path>/res-overlay</path>
  </resOverlayFolders>
  <includeSystemProguardFile>true</includeSystemProguardFile>
  <includeAssetsFromLibraries>false</includeAssetsFromLibraries>
  <additionalNativeLibs />
  </configuration>
  </facet>
  </component>
  <component name="NewModuleRootManager" inherit-compiler-output="true">
  <exclude-output />
  <content url="file://$MODULE_DIR$">
  <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
  <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" />
  </content>
  <orderEntry type="inheritedJdk" />
  <orderEntry type="sourceFolder" forTests="false" />
  </component>
  </module>
 
 
  package com.example.scannrmobile;
 
  import android.os.AsyncTask;
 
  import org.apache.http.client.methods.*;
  import java.io.BufferedReader;
  import java.io.InputStreamReader;
 
  import org.apache.http.HttpResponse;
  import org.apache.http.client.HttpClient;
  import org.apache.http.impl.client.DefaultHttpClient;
 
  import org.json.*;
  import android.util.Log;
 
 
  //http://www.accella.net/android-http-get-json/
  public class HttpTask extends AsyncTask<HttpUriRequest,Void,JSONArray> {
  private static final String TAG = "Scannr_HTTP_TASK";
 
  @Override
  protected JSONArray doInBackground(HttpUriRequest...params) {
 
  // Performed on Background Thread
 
  HttpUriRequest request = params[0];
  HttpClient client = new DefaultHttpClient();
 
  try {
  // The UI Thread shouldn't be blocked long enough to do the reading in of the stream.
  HttpResponse response = client.execute(request);
 
  // TODO handle bad response codes (such as 404, etc)
 
  BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
  StringBuilder builder = new StringBuilder();
  for (String line = null; (line = reader.readLine()) != null; ) {
  builder.append(line).append("\n");
  }
  JSONTokener tokener = new JSONTokener(builder.toString());
  JSONArray json = new JSONArray(tokener);
  return json;
 
  } catch (Exception e) {
  // TODO handle different exception cases
  Log.e(TAG,e.toString());
  e.printStackTrace();
  return null;
  }
  }
 
  @Override
  protected void onPostExecute(JSONArray json) {
  // Done on UI Thread
  if(json != null) {
  taskHandler.taskSuccessful(json);
  } else {
  taskHandler.taskFailed();
  }
  }
 
  public static interface HttpTaskHandler {
  void taskSuccessful(JSONArray json);
  void taskFailed();
  }
 
  HttpTaskHandler taskHandler;
 
  public void setTaskHandler(HttpTaskHandler taskHandler) {
  this.taskHandler = taskHandler;
  }
 
  }
  package com.example.scannrmobile;
 
  import android.app.Activity;
  import android.os.Bundle;
  import android.util.Log;
  import android.widget.ArrayAdapter;
  import android.widget.ListView;
  import com.example.scannrmobile.HttpTask.HttpTaskHandler;
  import org.apache.http.client.methods.HttpGet;
  import org.json.JSONArray;
  import org.json.JSONException;
 
  import java.util.ArrayList;
 
  public class ScannrMobile extends Activity {
  private ListView mainListView ;
  private ArrayAdapter<String> listAdapter ;
  private ScannrMobile view;
  /**
  * Called when the activity is first created.
  */
  @Override
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  mainListView = (ListView) findViewById( R.id.mainListView );
  view = this;
  //DownloadWebPageTask task = new DownloadWebPageTask();
  //task.execute(new String[] { "http://www.vogella.com" });
  HttpTask task = new HttpTask();
 
  task.setTaskHandler(new HttpTaskHandler()
  {
  public void taskSuccessful(JSONArray nodes) {
  // Just put the JSONObjects into an array list so we can use a ListAdapter
  ArrayList<String> data = new ArrayList();
  // Ingest Data
  try {
 
  Log.d(this.getClass().getName(), "Total Nodes: "+nodes.length());
  for (int i = 0; i < nodes.length(); i++ ) {
  data.add(nodes.getJSONObject(i).toString() );
  }
  // TODO update the list
  } catch (JSONException j){
  Log.e(this.getClass().getName(), j.getMessage());
  }
  // Create ArrayAdapter using the planet list.
  listAdapter = new ArrayAdapter<String>(view, R.layout.simplerow, R.id.rowTextView, data);
 
  // Set the ArrayAdapter as the ListView's adapter.
  mainListView.setAdapter( listAdapter );
  }
 
  public void taskFailed() {
  // handler failure (e.g network not available etc.)
  Log.e(this.getClass().getName(),"Task Failed");
  }
  });
  task.execute(new HttpGet("http://192.168.1.113/~maxious/scannr/calls.json.php?action=data"));
  }
 
 
  }
 
 
file:a/snd.py -> file:b/snd.py
""" Record a few seconds of audio and save to a WAVE file. """ Record a few seconds of audio and save to a WAVE file.
Based on http://stackoverflow.com/questions/892199/detect-record-audio-in-python/6743593#6743593 Based on http://stackoverflow.com/questions/892199/detect-record-audio-in-python/6743593#6743593
""" """
   
import pyaudio import pyaudio
import wave import wave
import sys import sys
import audioop # http://docs.python.org/library/audioop  
from os.path import exists  
from array import array from array import array
from struct import unpack, pack from struct import unpack, pack
import threading  
from pydispatch import dispatcher from pydispatch import dispatcher
   
CHANNELS = 1  
THRESHOLD = 500 THRESHOLD = 500
CHUNK_SIZE = 1024 CHUNK_SIZE = 1024
FORMAT = pyaudio.paInt16 FORMAT = pyaudio.paInt16
RATE = 44100 RATE = 44100
MAX_SILENT = 30 if sys.platform.startswith('darwin'):
  CHANNELS = 2
  elif sys.platform.startswith('win32'):
  CHANNELS = 1
   
  MAX_SILENT = 80
   
def is_silent(L): def is_silent(L):
"Returns `True` if below the 'silent' threshold" "Returns `True` if below the 'silent' threshold"
"print max(L)" "print max(L)"
"print max(L) < THRESHOLD" "print max(L) < THRESHOLD"
return max(L) < THRESHOLD return max(L) < THRESHOLD
   
   
def normalize(L): def normalize(L):
"Average the volume out" "Average the volume out"
MAXIMUM = 16384 MAXIMUM = 16384
times = float(MAXIMUM)/max(abs(i) for i in L) times = float(MAXIMUM) / max(abs(i) for i in L)
   
LRtn = array('h') LRtn = array('h')
for i in L: for i in L:
LRtn.append(int(i*times)) LRtn.append(int(i * times))
return LRtn return LRtn
   
   
def trim(L): def trim(L):
"Trim the blank spots at the start and end" "Trim the blank spots at the start and end"
   
def _trim(L): def _trim(L):
snd_started = False snd_started = False
LRtn = array('h') LRtn = array('h')
   
for i in L: for i in L:
if not snd_started and abs(i)>THRESHOLD: if not snd_started and abs(i) > THRESHOLD:
snd_started = True snd_started = True
LRtn.append(i) LRtn.append(i)
   
elif snd_started: elif snd_started:
LRtn.append(i) LRtn.append(i)
return LRtn return LRtn
   
# Trim to the left # Trim to the left
L = _trim(L) L = _trim(L)
   
# Trim to the right # Trim to the right
L.reverse() L.reverse()
L = _trim(L) L = _trim(L)
L.reverse() L.reverse()
return L return L
   
   
def add_silence(L, seconds): def add_silence(L, seconds):
"Add silence to the start and end of `L` of length `seconds` (float)" "Add silence to the start and end of `L` of length `seconds` (float)"
LRtn = array('h', [0 for i in xrange(int(seconds*RATE))]) LRtn = array('h', [0 for i in xrange(int(seconds * RATE))])
LRtn.extend(L) LRtn.extend(L)
LRtn.extend([0 for i in xrange(int(seconds*RATE))]) LRtn.extend([0 for i in xrange(int(seconds * RATE))])
return LRtn return LRtn
   
   
def record(): def record():
""" """
Record a word or words from the microphone and Record a word or words from the microphone and
return the data as an array of signed shorts. return the data as an array of signed shorts.
   
Normalizes the audio, trims silence from the Normalizes the audio, trims silence from the
start and end, and pads with 0.5 seconds of start and end, and pads with 0.5 seconds of
blank sound to make sure VLC et al can play blank sound to make sure VLC et al can play
it without getting chopped off. it without getting chopped off.
""" """
p = pyaudio.PyAudio() p = pyaudio.PyAudio()
stream = p.open(format=FORMAT, channels=1, rate=RATE, stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE,
input=True, output=True, input=True,
frames_per_buffer=CHUNK_SIZE) frames_per_buffer=CHUNK_SIZE)
   
num_silent = 0 num_silent = 0
snd_started = False snd_started = False
   
LRtn = array('h') LRtn = array('h')
   
while 1: while 1:
data = stream.read(CHUNK_SIZE) try:
L = unpack('<' + ('h'*(len(data)/2)), data) # little endian, signed short data = stream.read(CHUNK_SIZE)
  except IOError as ex:
  if ex[1] != pyaudio.paInputOverflowed:
  raise
  data = '\x00' * CHUNK_SIZE
  L = unpack('<' + ('h' * (len(data) / 2)), data) # little endian, signed short
L = array('h', L) L = array('h', L)
   
silent = is_silent(L) silent = is_silent(L)
#print silent, num_silent, L[:10] #print silent, num_silent, L[:10]
   
if silent and snd_started: if silent and snd_started:
num_silent += 1 num_silent += 1
print num_silent #print num_silent
elif not silent and not snd_started: elif not silent and not snd_started:
dispatcher.send( signal='SND_STARTED') dispatcher.send(signal='SND_STARTED')
snd_started = True snd_started = True
print snd_started print snd_started
  if snd_started and not silent:
  num_silent = 0
if snd_started: if snd_started:
LRtn.extend(L) LRtn.extend(L)
if snd_started and num_silent > MAX_SILENT: if snd_started and num_silent > MAX_SILENT:
break break
   
sample_width = p.get_sample_size(FORMAT) sample_width = p.get_sample_size(FORMAT)
stream.stop_stream() stream.stop_stream()
stream.close() stream.close()
p.terminate() p.terminate()
   
LRtn = normalize(LRtn) LRtn = normalize(LRtn)
LRtn = trim(LRtn) LRtn = trim(LRtn)
LRtn = add_silence(LRtn, 0.5) LRtn = add_silence(LRtn, 0.5)
return sample_width, LRtn return sample_width, LRtn
   
   
def record_to_file(path): def record_to_file(path):
"Records from the microphone and outputs the resulting data to `path`" "Records from the microphone and outputs the resulting data to `path`"
sample_width, data = record() sample_width, data = record()
data = pack('<' + ('h'*len(data)), *data) data = pack('<' + ('h' * len(data)), *data)
   
wf = wave.open(path, 'wb') wf = wave.open(path, 'wb')
wf.setnchannels(1) wf.setnchannels(CHANNELS)
wf.setsampwidth(sample_width) wf.setsampwidth(sample_width)
wf.setframerate(RATE) wf.setframerate(RATE)
wf.writeframes(data) wf.writeframes(data)
wf.close() wf.close()
print("done - result written to "+path) print("done - result written to " + path)
del data del data
   
   
  if __name__ == '__main__':
  filename = 'demo.wav'
  record_to_file(filename)
  print("done - result written to " + filename)
   
   
if __name__ == '__main__':  
filename = 'demo.wav'  
record_to_file(filename)  
print("done - result written to "+filename)  
   
file:b/test.py (new)
  """PyAudio example: Record a few seconds of audio and save to a WAVE file."""
 
  import pyaudio
  import wave
 
  CHUNK = 1024
  FORMAT = pyaudio.paInt16
  CHANNELS = 2
  RATE = 44100
  RECORD_SECONDS = 5
  WAVE_OUTPUT_FILENAME = "output.wav"
 
  p = pyaudio.PyAudio()
  device_idx = 0;
  for i in range (0, p.get_device_count()):
  print(p.get_device_info_by_index(i))
  if p.get_device_info_by_index(i)['name'] == 'Built-in Input':
  device_idx = i
  print i
  stream = p.open(format=FORMAT,
  channels=CHANNELS,
  rate=RATE,
  input=True,
  input_device_index=device_idx,
  frames_per_buffer=CHUNK)
 
  print("* recording")
 
  frames = []
 
  for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
  data = stream.read(CHUNK)
  frames.append(data)
 
  print("* done recording")
 
  stream.stop_stream()
  stream.close()
  p.terminate()
 
  wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
  wf.setnchannels(CHANNELS)
  wf.setsampwidth(p.get_sample_size(FORMAT))
  wf.setframerate(RATE)
  wf.writeframes(b''.join(frames))
  wf.close()
 
file:b/test2.py (new)
  from os.path import exists
  from array import array
  from struct import unpack, pack
 
  import pyaudio
  import wave
 
  THRESHOLD = 500
  CHUNK_SIZE = 1024
  FORMAT = pyaudio.paInt16
  RATE = 44100
 
  def is_silent(L):
  "Returns `True` if below the 'silent' threshold"
  return max(L) < THRESHOLD
 
 
  def normalize(L):
  "Average the volume out"
  MAXIMUM = 16384
  times = float(MAXIMUM) / max(abs(i) for i in L)
 
  LRtn = array('h')
  for i in L:
  LRtn.append(int(i * times))
  return LRtn
 
 
  def trim(L):
  "Trim the blank spots at the start and end"
 
  def _trim(L):
  snd_started = False
  LRtn = array('h')
 
  for i in L:
  if not snd_started and abs(i) > THRESHOLD:
  snd_started = True
  LRtn.append(i)
 
  elif snd_started:
  LRtn.append(i)
  return LRtn
 
  # Trim to the left
  L = _trim(L)
 
  # Trim to the right
  L.reverse()
  L = _trim(L)
  L.reverse()
  return L
 
 
  def add_silence(L, seconds):
  "Add silence to the start and end of `L` of length `seconds` (float)"
  LRtn = array('h', [0 for i in xrange(int(seconds * RATE))])
  LRtn.extend(L)
  LRtn.extend([0 for i in xrange(int(seconds * RATE))])
  return LRtn
 
 
  def record():
  """
  Record a word or words from the microphone and
  return the data as an array of signed shorts.
 
  Normalizes the audio, trims silence from the
  start and end, and pads with 0.5 seconds of
  blank sound to make sure VLC et al can play
  it without getting chopped off.
  """
  p = pyaudio.PyAudio()
  stream = p.open(format=FORMAT, channels=2, rate=RATE,
  input=True,
  frames_per_buffer=CHUNK_SIZE)
 
  num_silent = 0
  snd_started = False
 
  LRtn = array('h')
 
  while 1:
  data = stream.read(CHUNK_SIZE)
  L = unpack('<' + ('h' * (len(data) / 2)), data) # little endian, signed short
  L = array('h', L)
  LRtn.extend(L)
 
  silent = is_silent(L)
  #print silent, num_silent, L[:10]
 
  if silent and snd_started:
  num_silent += 1
  elif not silent and not snd_started:
  snd_started = True
 
  if snd_started and num_silent > 30:
  break
 
  sample_width = p.get_sample_size(FORMAT)
  stream.stop_stream()
  stream.close()
  p.terminate()
 
  LRtn = normalize(LRtn)
  LRtn = trim(LRtn)
  LRtn = add_silence(LRtn, 0.5)
  return sample_width, LRtn
 
 
  def record_to_file(path):
  "Records from the microphone and outputs the resulting data to `path`"
  sample_width, data = record()
  data = pack('<' + ('h' * len(data)), *data)
 
  wf = wave.open(path, 'wb')
  wf.setnchannels(2)
  wf.setsampwidth(sample_width)
  wf.setframerate(RATE)
  wf.writeframes(data)
  wf.close()
 
  if __name__ == '__main__':
  print("please speak a word into the microphone")
  record_to_file('demo.wav')
  print("done - result written to demo.wav")
 
file:b/tgid.csv (new)
  Decimal,Subfleet,Alpha Tag,Mode,Description,Service Tag,Category,"insert into tgids (tgid,alpha_tag) (SELECT distinct ""tgid"", ""tgname"" as alpha_tag
  FROM ""recordings"" order by tgid)"
  10000,,GL 1,D,GL 1,Fire-Tac,Rural Fire Service RFS,
  10001,,GL 2,D,GL 2,Fire-Tac,Rural Fire Service RFS,
  10002,,GL 3,D,GL 3,Fire-Tac,Rural Fire Service RFS,
  10003,,GL 4,D,GL 4,Fire-Tac,Rural Fire Service RFS,
  10004,,GL 5,D,GL 5,Fire-Tac,Rural Fire Service RFS,
  10005,,GL 6,D,GL 6,Fire-Tac,Rural Fire Service RFS,
  10006,,GL 7,D,GL 7,Fire-Tac,Rural Fire Service RFS,
  10007,,GL 8,D,GL 8,Fire-Tac,Rural Fire Service RFS,
  10008,,GL 9,D,GL 9,Fire-Tac,Rural Fire Service RFS,
  10009,,GL 10,D,GL 10,Fire-Tac,Rural Fire Service RFS,
  10010,,ESO 1,D,ESO 1,Fire-Tac,Rural Fire Service RFS,
  10011,,ESO 2,D,ESO 2,Fire-Tac,Rural Fire Service RFS,
  10012,,ESO 3,D,ESO 3,Fire-Tac,Rural Fire Service RFS,
  10013,,ESO 4,D,ESO 4,Fire-Tac,Rural Fire Service RFS,
  10014,,ESO 5,D,ESO 5,Fire-Tac,Rural Fire Service RFS,
  10015,,ESO 6,D,ESO 6,Fire-Tac,Rural Fire Service RFS,
  10016,,ESO 7,D,ESO 7,Fire-Tac,Rural Fire Service RFS,
  10017,,ESO 8,D,ESO 8,Fire-Tac,Rural Fire Service RFS,
  10018,,ESO 9,D,ESO 9,Fire-Tac,Rural Fire Service RFS,
  10019,,ESO 10,D,ESO 10,Fire-Tac,Rural Fire Service RFS,
  10020,,ESO 11,D,ESO 11,Fire-Tac,Rural Fire Service RFS,
  10021,,ESO 12,D,ESO 12,Fire-Tac,Rural Fire Service RFS,
  10022,,ESO 13,D,ESO 13,Fire-Tac,Rural Fire Service RFS,
  10023,,ESO 14,D,ESO 14,Fire-Tac,Rural Fire Service RFS,
  10024,,ESO 15,D,ESO 15,Fire-Tac,Rural Fire Service RFS,
  10025,,ESO 16,D,ESO 16,Fire-Tac,Rural Fire Service RFS,
  10026,,ESO 17,D,ESO 17,Fire-Tac,Rural Fire Service RFS,
  10027,,ESO 18,D,ESO 18,Fire-Tac,Rural Fire Service RFS,
  10028,,ESO 19,D,ESO 19,Fire-Tac,Rural Fire Service RFS,
  10029,,ESO 20,D,ESO 20,Fire-Tac,Rural Fire Service RFS,
  10030,,AVIATN1,D,RFS GD01 AVIATN1,Fire-Tac,Rural Fire Service RFS,
  10031,,AVIATN2,D,RFS GD02 AVIATN2,Fire-Tac,Rural Fire Service RFS,
  10032,,AVIATN3,D,RFS GD03 AVIATN3,Fire-Tac,Rural Fire Service RFS,
  10033,,AVIATN4,D,RFS GD04 AVIATN4,Fire-Tac,Rural Fire Service RFS,
  10034,,AVIATN5,D,RFS GD05 AVIATN5,Fire-Tac,Rural Fire Service RFS,
  10035,,AVIATN6,D,RFS GD06 AVIATN6,Fire-Tac,Rural Fire Service RFS,
  10036,,BLKM HL,D,RFS GD08 BLKM HL,Fire-Tac,Rural Fire Service RFS,
  10037,,BL MTNS,D,RFS GD10 BL MTNS,Fire-Tac,Rural Fire Service RFS,
  10038,,CISS,D,RFS GD14 CISS,Fire-Tac,Rural Fire Service RFS,
  10039,,COM ED1,D,RFS GD16 COM ED1,Fire-Tac,Rural Fire Service RFS,
  10040,,COM ED2,D,RFS GD17 COM ED2,Fire-Tac,Rural Fire Service RFS,
  10041,,COM ED3,D,RFS GD18 COM ED3,Fire-Tac,Rural Fire Service RFS,
  10042,,CMBRLND,D,RFS GD20 CMBRLND,Fire-Tac,Rural Fire Service RFS,
  10043,,EAST OP,D,RFS GD21 EAST OP,Fire-Tac,Rural Fire Service RFS,
  10044,,EXEC OP,D,RFS GD22 EXEC OP,Fire-Tac,Rural Fire Service RFS,
  10045,,FIU 1,D,RFS GD26 FIU 1,Fire-Tac,Rural Fire Service RFS,
  10046,,FIU 2,D,RFS GD27 FIU 2,Fire-Tac,Rural Fire Service RFS,
  10047,,GOSFORD,D,RFS GD28 GOSFORD,Fire-Tac,Rural Fire Service RFS,
  10048,,HAWKESB,D,RFS GD29 HAWKESB,Fire-Tac,Rural Fire Service RFS,
  10049,,HORNSBY,D,RFS GD30 HORNSBY,Fire-Tac,Rural Fire Service RFS,
  10050,,LDS 1,D,RFS GD38 LDS 1,Fire-Tac,Rural Fire Service RFS,
  10051,,LDS 2,D,RFS GD39 LDS 2,Fire-Tac,Rural Fire Service RFS,
  10052,,MCARTHR,D,RFS GD42 MCARTHR,Fire-Tac,Rural Fire Service RFS,
  10053,,MEDIA 1,D,RFS GD44 MEDIA 1,Fire-Tac,Rural Fire Service RFS,
  10054,,MEDIA 2,D,RFS GD45 MEDIA 2,Fire-Tac,Rural Fire Service RFS,
  10055,,OP COM1,D,RFS GD58 OP COM1,Fire-Tac,Rural Fire Service RFS,
  10056,,OP COM2,D,RFS GD59 OP COM2,Fire-Tac,Rural Fire Service RFS,
  10057,,OP COM3,D,RFS GD60 OP COM3,Fire-Tac,Rural Fire Service RFS,
  10058,,OPS1,D,RFS GD62 OPS1,Fire-Tac,Rural Fire Service RFS,
  10059,,OPS2,D,RFS GD63 OPS2,Fire-Tac,Rural Fire Service RFS,
  10060,,OPS3,D,RFS GD64 OPS3,Fire-Tac,Rural Fire Service RFS,
  10061,,OPS4,D,RFS GD65 OPS4,Fire-Tac,Rural Fire Service RFS,
  10062,,OPS5,D,RFS GD66 OPS5,Fire-Tac,Rural Fire Service RFS,
  10063,,OPS6,D,RFS GD67 OPS6,Fire-Tac,Rural Fire Service RFS,
  10064,,OPS7,D,RFS GD68 OPS7,Fire-Tac,Rural Fire Service RFS,
  10065,,OPS8,D,RFS GD69 OPS8,Fire-Tac,Rural Fire Service RFS,
  10066,,OPS9,D,RFS GD70 OPS9,Fire-Tac,Rural Fire Service RFS,
  10067,,OPS10,D,RFS GD71 OPS10,Fire-Tac,Rural Fire Service RFS,
  10068,,OPS11,D,RFS GD72 OPS11,Fire-Tac,Rural Fire Service RFS,
  10069,,OPS12,D,RFS GD73 OPS12,Fire-Tac,Rural Fire Service RFS,
  10070,,OPS13,D,RFS GD74 OPS13,Fire-Tac,Rural Fire Service RFS,
  10071,,OPS14,D,RFS GD75 OPS14,Fire-Tac,Rural Fire Service RFS,
  10072,,OPS15,D,RFS GD76 OPS15,Fire-Tac,Rural Fire Service RFS,
  10073,,RGN EST,D,RFS GD77 RGN EST,Fire-Tac,Rural Fire Service RFS,
  10074,,STATEOP,D,RFS GD87 STATEOP,Fire-Tac,Rural Fire Service RFS,
  10075,,STHRLND,D,RFS GD88 STHRLND,Fire-Tac,Rural Fire Service RFS,
  10076,,WARINGH,D,RFS GD91 WARINGH,Fire-Tac,Rural Fire Service RFS,
  10077,,WOLONDL,D,RFS GD94 WOLONDL,Fire-Tac,Rural Fire Service RFS,
  10101,,SYD 1,D,SYD 1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10102,,SYD 2,D,SYD 2,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10103,,SYD 3,D,SYD 3,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10104,,SYD 4,D,SYD 4,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10105,,SYD 6,D,SYD 6,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10106,,SYD 7,D,SYD 7,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10107,,SYD 8,D,SYD 8,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10108,,SYD 9,D,SYD 9,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10109,,SYD 10,D,SYD 10,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10110,,SYD 11,D,SYD 11,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10111,,SYD 12,D,SYD 12,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10112,,New 1,D,New 1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10113,,New 2,D,New 2,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10114,,Gos 1,D,Gos 1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10115,,Gos 2,D,Gos 2,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10117,,HAST 1,D,HAST 1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10118,,SUMLND1,D,SUMLND1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10119,,PEEL 1,D,PEEL 1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10120,,WOLL 1,D,WOLL 1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10121,,WOLL 2,D,WOLL 2,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10122,,SHIGH1,D,SHIGH1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10123,,GOULB1,D,GOULB1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10124,,MONARO1,D,MONARO1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10125,,SCST 1,D,SCST 1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10126,,ACTNSW,D,ACTNSW,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10127,,GRIFFTH,D,GRIFFTH,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10128,,MURRAY1,D,MURRAY1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10129,,CWEST1,D,CWEST1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10130,,BLU MT1,D,BLU MT1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10131,,BLU MT2,D,BLU MT2,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10132,,BOGAN 1,D,BOGAN 1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10133,,LACHLN1,D,LACHLN1,Fire Dispatch,Fire and Rescue New South Wales FRNSW,
  10134,,Ops 1,D,Special Operations 1,Fire-Tac,Fire and Rescue New South Wales FRNSW,
  10135,,Ops 2,D,Special Operations 2,Fire-Tac,Fire and Rescue New South Wales FRNSW,
  10136,,Ops 3,D,Special Operations 3,Fire-Tac,Fire and Rescue New South Wales FRNSW,
  10137,,Ops 4,D,Special Operations 4,Fire-Tac,Fire and Rescue New South Wales FRNSW,
  10138,,Ops 5,D,Special Operations 5,Fire-Tac,Fire and Rescue New South Wales FRNSW,
  10139,,Ops 6,D,Special Operations 6,Fire-Tac,Fire and Rescue New South Wales FRNSW,
  10144,,Ops 11,D,Special Operations 11,Fire-Tac,Fire and Rescue New South Wales FRNSW,
  10145,,Ops 12,D,Special Operations 12,Fire-Tac,Fire and Rescue New South Wales FRNSW,
  10146,,Ops 13,D,Special Operations 13,Fire-Tac,Fire and Rescue New South Wales FRNSW,
  10147,,Ops 14,D,Special Operations 14,Fire-Tac,Fire and Rescue New South Wales FRNSW,
  10148,,Ops 15,D,Special Operations 15,Fire-Tac,Fire and Rescue New South Wales FRNSW,
  10149,,Ops 16,D,Special Operations 16,Fire-Tac,Fire and Rescue New South Wales FRNSW,
  10154,,Comms,D,Communications,Fire-Talk,Fire and Rescue New South Wales FRNSW,
  10155,,Property,D,Property,Fire-Talk,Fire and Rescue New South Wales FRNSW,
  10156,,Fleet,D,Fleet,Fire-Talk,Fire and Rescue New South Wales FRNSW,
  10157,,Admin,D,Administration,Fire-Talk,Fire and Rescue New South Wales FRNSW,
  10158,,Mech,D,Mechanics,Fire-Talk,Fire and Rescue New South Wales FRNSW,
  10159,,Eng,D,Engineers,Fire-Talk,Fire and Rescue New South Wales FRNSW,
  10160,,Op Comms,D,Operation Communications,Fire-Talk,Fire and Rescue New South Wales FRNSW,
  10161,,Hazmat,D,BAHazmat,Fire-Talk,Fire and Rescue New South Wales FRNSW,
  10162,,Bushfire,D,Bushfire,Fire-Talk,Fire and Rescue New South Wales FRNSW,
  10163,,FIU,D,Fire Investigation Unit,Fire-Talk,Fire and Rescue New South Wales FRNSW,
  10164,,Fire Prev,D,Fire Prevention,Fire-Talk,Fire and Rescue New South Wales FRNSW,
  10165,,Train,D,Training,Fire-Talk,Fire and Rescue New South Wales FRNSW,
  10166,,Rescue,D,Rescue,Fire-Talk,Fire and Rescue New South Wales FRNSW,
  10201,,SNTAC1,D,SES 307SNTAC1,EMS-Tac,State Emergency Service SES,
  10202,,SNTAC2,D,SES 308SNTAC2,EMS-Tac,State Emergency Service SES,
  10203,,SNTAC3,D,SES 309SNTAC3,EMS-Tac,State Emergency Service SES,
  10204,,SNTAC4,D,SES 310SNTAC4,EMS-Tac,State Emergency Service SES,
  10205,,SNTAC5,D,SES 311SNTAC5,EMS-Tac,State Emergency Service SES,
  10206,,SNTAC6,D,SES 312SNTAC6,EMS-Tac,State Emergency Service SES,
  10207,,SNSTRAT,D,SES 314SNSTRAT,EMS-Tac,State Emergency Service SES,
  10208,,SSTAC1,D,SES 316SSTAC1,EMS-Tac,State Emergency Service SES,
  10209,,SSTAC2,D,SES 317SSTAC2,EMS-Tac,State Emergency Service SES,
  10210,,SSTAC3,D,SES 318SSTAC3,EMS-Tac,State Emergency Service SES,
  10211,,SSTAC4,D,SES 319SSTAC4,EMS-Tac,State Emergency Service SES,
  10212,,SSTAC5,D,SES 320SSTAC5,EMS-Tac,State Emergency Service SES,
  10213,,SSTAC6,D,SES 321SSTAC6,EMS-Tac,State Emergency Service SES,
  10214,,SSSTRAT,D,SES 323SSSTRAT,EMS-Tac,State Emergency Service SES,
  10215,,SWTAC1,D,SES 324SWTAC1,EMS-Tac,State Emergency Service SES,
  10216,,SWTAC2,D,SES 325SWTAC2,EMS-Tac,State Emergency Service SES,
  10217,,SWTAC3,D,SES 326SWTAC3,EMS-Tac,State Emergency Service SES,
  10218,,SWTAC4,D,SES 327SWTAC4,EMS-Tac,State Emergency Service SES,
  10219,,SWTAC5,D,SES 328SWTAC5,EMS-Tac,State Emergency Service SES,
  10220,,SWTAC6,D,SES 329SWTAC6,EMS-Tac,State Emergency Service SES,
  10221,,SWSTRAT,D,SES 331SWSTRAT,EMS-Tac,State Emergency Service SES,
  10222,,SWRCR,D,SES 332SWRCR,EMS-Tac,State Emergency Service SES,
  10223,,HNCNT1,D,SES 340HNCNT1,EMS-Tac,State Emergency Service SES,
  10224,,HNCNT2,D,SES 341HNCNT2,EMS-Tac,State Emergency Service SES,
  10225,,HNCNT3,D,SES 342HNCNT3,EMS-Tac,State Emergency Service SES,
  10226,,HNCNT4,D,SES 343HNCNT4,EMS-Tac,State Emergency Service SES,
  10227,,HNCNT5,D,SES 344HNCNT5,EMS-Tac,State Emergency Service SES,
  10228,,TRNSPRT,D,SES 347TRNSPRT,EMS-Tac,State Emergency Service SES,
  10229,,COORD,D,SES 348COORD,EMS-Tac,State Emergency Service SES,
  10230,,TSKFCE1,D,SES 349TSKFCE1,EMS-Tac,State Emergency Service SES,
  10231,,TSKFCE2,D,SES 350TSKFCE2,EMS-Tac,State Emergency Service SES,
  10232,,TSKFCE3,D,SES 351TSKFCE3,EMS-Tac,State Emergency Service SES,
  10233,,TSKFCE4,D,SES 352TSKFCE4,EMS-Tac,State Emergency Service SES,
  10234,,SOPS1,D,SES 353SOPS1,EMS-Tac,State Emergency Service SES,
  10235,,SOPS2,D,SES 354SOPS2,EMS-Tac,State Emergency Service SES,
  10236,,SOPS3,D,SES 355SOPS3,EMS-Tac,State Emergency Service SES,
  10237,,SOPS4,D,SES 356SOPS4,EMS-Tac,State Emergency Service SES,
  10238,,SOPS5,D,SES 357SOPS5,EMS-Tac,State Emergency Service SES,
  10239,,SOPS6,D,SES 358SOPS6,EMS-Tac,State Emergency Service SES,
  10240,,SOPS7,D,SES 359SOPS7,EMS-Tac,State Emergency Service SES,
  10241,,SOPS8,D,SES 360SOPS8,EMS-Tac,State Emergency Service SES,
  10242,,SOPS9,D,SES 361SOPS9,EMS-Tac,State Emergency Service SES,
  10243,,SOPS10,D,SES 362SOPS10,EMS-Tac,State Emergency Service SES,
  10244,,SOPS11,D,SES 363SOPS11,EMS-Tac,State Emergency Service SES,
  10245,,SOPS12,D,SES 364SOPS12,EMS-Tac,State Emergency Service SES,
  10246,,COMMS1,D,SES 367COMMS1,EMS-Tac,State Emergency Service SES,
  10247,,DOCSLO,D,SES 345DOCSLO,EMS-Tac,State Emergency Service SES,
  10248,,DOCSST,D,SES 346DOCSST,EMS-Tac,State Emergency Service SES,
  10301,,MRU,D,Administration 1 State Ops MRU,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10302,,Admin 2,D,Administration 2,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10303,,Admin 3,D,Administration 3,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10304,,Admin 4,D,Administration 4,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10305,,Admin 5,D,Administration 5,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10306,,NETS,D,Administration 6 NETS,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10307,,7 PUB HLTH,,Administration Public Health Service Liaison,,Ambulance Service of New South Wales ASNSW,
  10308,,8 GWEST AH,,Administration Greater West AHS,,Ambulance Service of New South Wales ASNSW,
  10309,,ASNSW,D,ASNSW,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10310,,10 NSCC AH,,Administration North SydneyCentral Coast AHS,,Ambulance Service of New South Wales ASNSW,
  10311,,11 SW AH,,Administration Sydney West AHS,,Ambulance Service of New South Wales ASNSW,
  10312,,12 SSW AH,,Administration Sydney South West AHS,,Ambulance Service of New South Wales ASNSW,
  10313,,13 SESI AH,,Administration South Eastern SydneyIllawarra AHS,,Ambulance Service of New South Wales ASNSW,
  10314,,14 AH INCDT,,Administration AHS Incident 1,,Ambulance Service of New South Wales ASNSW,
  10315,,15 AH INCDT,,Administration AHS Incident 2,,Ambulance Service of New South Wales ASNSW,
  10316,,16 AH INCDT,,Administration AHS Incident 3,,Ambulance Service of New South Wales ASNSW,
  10317,,ASNSW,D,ASNSW,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10318,,18 MEDI 2,,Administration Medical 2,,Ambulance Service of New South Wales ASNSW,
  10319,,PTO Ops 1,D,Patient Transport,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10320,,ASNSW,D,ASNSW,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10321,,ASNSW,D,ASNSW,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10322,,ASNSW,D,ASNSW,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10323,,ASNSW,D,ASNSW,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10324,,PTO OPS 6,,Patient Transport Operations 6,,Ambulance Service of New South Wales ASNSW,
  10325,,Syd North,D,Sydney North,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10326,,Syd South,D,Sydney South,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10327,,Syd East,D,Sydney East,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10328,,Syd West,D,Sydney West,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10329,,Syd SW,D,Sydney SW,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10330,,Syd Outer,D,Sydney Outer SW,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10331,,Syd Rural,D,Sydney Rural West Outer WestBlue Mts,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  10332,,10 ECP 1,,Sydney Extended Care Paramedic 1,,Ambulance Service of New South Wales ASNSW,
  10333,,ASNSW,D,ASNSW,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10334,,ASNSW,D,ASNSW,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10335,,ASNSW,D,ASNSW,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10336,,ASNSW,D,ASNSW,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10337,,15 INCDNT 4,,Sydney Incident 4,,Ambulance Service of New South Wales ASNSW,
  10338,,16 INCDNT 5,,Sydney Incident 5,,Ambulance Service of New South Wales ASNSW,
  10339,,ASNSW,D,ASNSW,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10340,,18 INCDNT 7,,Sydney Incident 7,,Ambulance Service of New South Wales ASNSW,
  10341,,Sports,D,Sports,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10342,,Workshop,D,Workshops,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10343,,ASNSW,D,ASNSW,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10344,,Sth Hosps,D,South Hospitals,Hospital,Ambulance Service of New South Wales ASNSW,
  10345,,ASNSW,D,ASNSW,EMS-Talk,Ambulance Service of New South Wales ASNSW,
  10346,,West Hosp,D,West Hospitals,Hospital,Ambulance Service of New South Wales ASNSW,
  10347,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  10348,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  10349,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  10350,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  10351,,FAULT REPORT,,FAULT REPORT,,Ambulance Service of New South Wales ASNSW,
  10352,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  10353,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  10354,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  10355,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  10356,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  10357,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  10358,,IT SUPPORT,,IT SUPPORT,,Ambulance Service of New South Wales ASNSW,
  10381,,Net 1,D,Hatzolah Net 1,EMS Dispatch,Hatzolah Ambulance Service,
  10382,,Net 2,D,Hatzolah Net 2,EMS Dispatch,Hatzolah Ambulance Service,
  10383,,Net 3,D,Hatzolah Net 3,EMS Dispatch,Hatzolah Ambulance Service,
  10384,,Net 4,D,Hatzolah Net 4,EMS Dispatch,Hatzolah Ambulance Service,
  10385,,Net 5,D,Hatzolah Net 5,EMS Dispatch,Hatzolah Ambulance Service,
  10386,,Net 6,D,Hatzolah Net 6,EMS Dispatch,Hatzolah Ambulance Service,
  10387,,Net 7,D,Hatzolah Net 7,EMS Dispatch,Hatzolah Ambulance Service,
  10388,,Net 8,D,Hatzolah Net 8,EMS Dispatch,Hatzolah Ambulance Service,
  10389,,Net 9,D,Hatzolah Net 9,EMS Dispatch,Hatzolah Ambulance Service,
  10390,,Net 10,D,Hatzolah Net 10,EMS Dispatch,Hatzolah Ambulance Service,
  10402,,Transport,D,Corrective Services Transports,Corrections,Corrective Services,
  10403,,VG visits,D,Corrective Services VG visits,Corrections,Corrective Services,
  10404,,VK visits,D,Corrective Services VK visits,Corrections,Corrective Services,
  10405,,NC visits,D,Corrective Services NC visits,Corrections,Corrective Services,
  10406,,WG visits,D,Corrective Services WG visits,Corrections,Corrective Services,
  10407,,unk,D,Corrective Services,Corrections,Corrective Services,
  10408,,unk,D,Corrective Services,Corrections,Corrective Services,
  10409,,Ext Escorts,D,Corrective Service External escorts,Corrections,Corrective Services,
  10411,,unk,D,Corrective Services ,Corrections,Corrective Services,
  10413,,unk,D,Corrective Services,Corrections,Corrective Services,
  10414,,Secure Unit,D,Corrective Services Secure Unit,Corrections,Corrective Services,
  10415,,unk,D,Corrective Services,Corrections,Corrective Services,
  10419,,unk,D,Corrective Services,Corrections,Corrective Services,
  10421,,Projects,D,Corrective Services projects,Corrections,Corrective Services,
  10422,,unk,D,Corrective Services,Corrections,Corrective Services,
  10423,,unk,D,Corrective Services,Corrections,Corrective Services,
  10427,,unk,D,Corrective Services ,Corrections,Corrective Services,
  10428,,unk,D,Corrective Services ,Corrections,Corrective Services,
  10429,,unk,D,Corrective Services ,Corrections,Corrective Services,
  10430,,unk,D,Corrective Services ,Corrections,Corrective Services,
  10451,,unk,D,Corrective Services ,Corrections,Corrective Services,
  10481,,unk,D,Corrective Services ,Corrections,Corrective Services,
  10502,,unk,D,Ausgrid ,Utilities,AusGrid,
  10503,,GH UG,D,AusGrid Gore Hill Underground,Utilities,AusGrid,
  10504,,GH OH,D,AusGrid Gore Hill Overhead,Utilities,AusGrid,
  10505,,Horn OH,D,AusGrid Hornsby Overhead,Utilities,AusGrid,
  10506,,Horn UG,D,AusGrid Hornsby Underground,Utilities,AusGrid,
  10507,,Nth Subs,D,AusGrid North Substations,Utilities,AusGrid,
  10508,,Nth Prot,D,AusGrid North Protection,Utilities,AusGrid,
  10509,,Nth DistOps,D,AusGrid North District Operators,Utilities,AusGrid,
  10510,,GH Street,D,AusGrid Gore Hill Street Lighting,Utilities,AusGrid,
  10511,,Nth Op,D,AusGrid North Operator,Utilities,AusGrid,
  10512,,Util 1,D,AusGrid Utility 1,Utilities,AusGrid,
  10513,,Nth EMSO 1,D,AusGrid North EMSO Data 1,Utilities,AusGrid,
  10514,,DY OH 1,D,AusGrid Dee Why Overhead 1,Utilities,AusGrid,
  10515,,DY OH 2,D,AusGrid Dee Why Overhead 2,Utilities,AusGrid,
  10516,,DY Op,D,AusGrid Dee Why Operator,Utilities,AusGrid,
  10517,,DY Subs,D,AusGrid Dee Why Substations,Utilities,AusGrid,
  10518,,Projects,D,AusGrid Projects and Contracts,Utilities,AusGrid,
  10519,,East Op,D,AusGrid East Operator,Utilities,AusGrid,
  10520,,Util 1,D,AusGrid Utility 1,Utilities,AusGrid,
  10521,,Util 2,D,AusGrid Utility 2,Utilities,AusGrid,
  10522,,East UG,D,AusGrid East Underground,Utilities,AusGrid,
  10523,,East OH,D,AusGrid East Overhead,Utilities,AusGrid,
  10524,,East Subs,D,AusGrid East Substations,Utilities,AusGrid,
  10525,,Asset Acc,D,AusGrid Asset Access,Utilities,AusGrid,
  10526,,East DistOps,D,AusGrid East District Operators,Utilities,AusGrid,
  10527,,East Prot,D,AusGrid East Protection,Utilities,AusGrid,
  10528,,CBD HV UG,D,AusGrid CBD High Voltage Underground,Utilities,AusGrid,
  10529,,PINC Ctrl,D,AusGrid PINC Network Operations Controller,Utilities,AusGrid,
  10530,,SO TPDR 1,D,AusGrid SO Transponder 1,Utilities,AusGrid,
  10531,,SO TODR 2,D,AusGrid SO Transponder 2,Utilities,AusGrid,
  10532,,Rad CMDR,D,AusGrid Radio Commander,Utilities,AusGrid,
  10533,,unk,D,Ausgrid ,Utilities,AusGrid,
  10534,,unk,D,Ausgrid ,Utilities,AusGrid,
  10535,,Sth OP,D,AusGrid South Operator,Utilities,AusGrid,
  10536,,IW OH,D,AusGrid Inner West Overhead,Utilities,AusGrid,
  10537,,HB UG,D,AusGrid Homebush Underground,Utilities,AusGrid,
  10538,,SW Train,D,AusGrid Silverwater Training Centre,Utilities,AusGrid,
  10539,,BT OH,D,AusGrid Bankstown Overhead,Utilities,AusGrid,
  10540,,BT Dist Op,D,AusGrid Bankstown District Operators,Utilities,AusGrid,
  10541,,Sth Dist Op,D,AusGrid South District Operators,Utilities,AusGrid,
  10542,,BT Op,D,AusGrid Bankstown Operator,Utilities,AusGrid,
  10543,,unk,D,Ausgrid ,Utilities,AusGrid,
  10544,,OAT OH,D,AusGrid Oatley Overhead,Utilities,AusGrid,
  10545,,Nth EMSO 1,D,AusGrid South EMSO Data 1,Utilities,AusGrid,
  10546,,unk,D,Ausgrid ,Utilities,AusGrid,
  10547,,unk,D,Ausgrid ,Utilities,AusGrid,
  10548,,Trans 1,D,AusGrid Transmission 1,Utilities,AusGrid,
  10549,,Trans 2,D,AusGrid Transmission 2,Utilities,AusGrid,
  10550,,unk,D,Ausgrid ,Utilities,AusGrid,
  10551,,unk,D,Ausgrid ,Utilities,AusGrid,
  10556,,Nth Op,D,AusGrid North Operator,Utilities,AusGrid,
  10557,,Sth Op,D,AusGrid South Operator,Utilities,AusGrid,
  10558,,East Op,D,AusGrid East Operator,Utilities,AusGrid,
  10559,,BT Op,D,AusGrid Bankstown Operator,Utilities,AusGrid,
  10560,,DY Op,D,AusGrid Dee Why Operator,Utilities,AusGrid,
  10561,,TeleCtrl,D,AusGrid TelecontrolFacilitiesDriver Training,Utilities,AusGrid,
  10562,,CIPIMS,D,AusGrid CIPIMS ControlDuty Managers,Utilities,AusGrid,
  10563,,INC Ops,D,AusGrid Incident Operations,Utilities,AusGrid,
  10564,,Subs Meter,D,AusGrid TCA Substations Metering,Utilities,AusGrid,
  10565,,Net Test 1,D,AusGrid TCA Network Test 1,Utilities,AusGrid,
  10566,,Net Test 2,D,AusGrid TCA Network Test 2,Utilities,AusGrid,
  10567,,Net Test 3,D,AusGrid TCA Network Test 3,Utilities,AusGrid,
  10568,,Net Test 4,D,AusGrid TCA Network Test 4,Utilities,AusGrid,
  10569,,Net Test 5,D,AusGrid TCA Network Test 5,Utilities,AusGrid,
  10570,,CASS Data1,D,AusGrid CASS Data 1,Utilities,AusGrid,
  10601,,Control 1,D,Integral Energy Control,Utilities,Integral Energy,
  10602,,Control 2,D,Integral Energy Control,Utilities,Integral Energy,
  10603,,Control 3,D,Integral Energy Control,Utilities,Integral Energy,
  10604,,Control 4,D,Integral Energy Control,Utilities,Integral Energy,
  10605,,Control 5,D,Integral Energy Control,Utilities,Integral Energy,
  10606,,Control 6,D,Integral Energy Control,Utilities,Integral Energy,
  10607,,Control 7,D,Integral Energy Control,Utilities,Integral Energy,
  10608,,Control 8,D,Integral Energy Control,Utilities,Integral Energy,
  10609,,Control 9,D,Integral Energy Control,Utilities,Integral Energy,
  10610,,Control 10,D,Integral Energy Consion Control,Utilities,Integral Energy,
  10611,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10612,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10613,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10614,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10615,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10616,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10617,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10618,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10619,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10620,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10621,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10622,,Katoomba,D,Integral Energy Katoomba,Utilities,Integral Energy,
  10623,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10624,,Penrith 1,D,Integral Energy Penrith 1,Utilities,Integral Energy,
  10625,,Penrith 2,D,Integral Energy Penrith 2,Utilities,Integral Energy,
  10626,,Windsor,D,Integral Energy Windsor,Utilities,Integral Energy,
  10627,,Kings Park 1,D,Integral Energy Kings Park 1,Utilities,Integral Energy,
  10628,,Kings Park 2,D,Integral Energy Kings Park 2,Utilities,Integral Energy,
  10629,,Parramatta 1,D,Integral Energy Parramatta 1,Utilities,Integral Energy,
  10630,,Parramatta 2,D,Integral Energy Parramatta 2,Utilities,Integral Energy,
  10631,,Hoxton 1,D,Integral Energy Hoxton 1,Utilities,Integral Energy,
  10632,,Hoxton 2,D,Integral Energy Hoxton 2,Utilities,Integral Energy,
  10633,,Narellan 1,D,Integral Energy Narellan 1,Utilities,Integral Energy,
  10634,,Narellan 2,D,Integral Energy Narellan 2,Utilities,Integral Energy,
  10635,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10636,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10637,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10638,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10639,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10640,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10641,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10642,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10643,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10644,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10645,,Techs,D,Integral Energy Radio techs and workshop,Utilities,Integral Energy,
  10649,,unk,D,Integral Energy ,Utilities,Integral Energy,
  10901,,Ch 1 ,D,Sydney Ferries,Transportation,Sydney Ferries,
  10905,,Ch 5 ,D,Sydney Ferries,Transportation,Sydney Ferries,
  10906,,Ch 6 ,D,Sydney Ferries,Transportation,Sydney Ferries,
  10907,,Ch 7 ,D,Sydney Ferries,Transportation,Sydney Ferries,
  10909,,Ch 9 ,D,Sydney Ferries,Transportation,Sydney Ferries,
  10910,,Ch 10 ,D,Sydney Ferries,Transportation,Sydney Ferries,
  10911,,Ch 11 ,D,Sydney Ferries,Transportation,Sydney Ferries,
  10914,,Ch 14 ,D,Sydney Ferries,Transportation,Sydney Ferries,
  10951,,Syd Region,D,NSW Maritime Sydney Region,Public Works,NSW Maritime,
  10952,,unk,D,NSW Maritime,Public Works,NSW Maritime,
  10953,,unk,D,NSW Maritime,Public Works,NSW Maritime,
  10954,,Hbr Clean,D,NSW Maritime Harbour Cleaning,Public Works,NSW Maritime,
  10955,,TG Alpha,D,NSW Maritime Special talkgroup Alpha,Public Works,NSW Maritime,
  10956,,TG Bravo,D,NSW Maritime Special talkgroup Bravo,Public Works,NSW Maritime,
  10957,,unk,D,NSW Maritime ,Public Works,NSW Maritime,
  10958,,unk,D,NSW Maritime,Public Works,NSW Maritime,
  10959,,unk,D,NSW Maritime,Public Works,NSW Maritime,
  10960,,unk,D,NSW Maritime,Public Works,NSW Maritime,
  10961,,unk,D,NSW Maritime,Public Works,NSW Maritime,
  11021,,City,D,Sheriff City,Law Dispatch,NSW Sheriff,
  11022,,West,D,Sheriff West,Law Dispatch,NSW Sheriff,
  11023,,North,D,Sheriff North,Law Dispatch,NSW Sheriff,
  11024,,Nth BC 1,D,Sheriff Nth Region Back Ch 1,Law Talk,NSW Sheriff,
  11025,,South,D,Sheriff South,Law Dispatch,NSW Sheriff,
  11026,,Sth BC 1,D,Sheriff Sth Region Back Ch 1,Law Talk,NSW Sheriff,
  11027,,Tac 1,D,Sheriff Tactical 1 ch17,Law Tac,NSW Sheriff,
  11028,,Tac 2,D,Sheriff Tactical 2,Law Tac,NSW Sheriff,
  11029,,Tac 3,D,Sheriff Tactical 3,Law Tac,NSW Sheriff,
  11030,,JTF Sec Ch,D,Sheriff Joint Task Fed Sec Channel,Interop,NSW Sheriff,
  11034,,unk,D,Sheriff ,Law Talk,NSW Sheriff,
  11071,,unk,D,Sutherland Council,Public Works,Sutherland Council,
  11072,,unk,D,Sutherland Council,Public Works,Sutherland Council,
  11073,,unk,D,Sutherland Council,Public Works,Sutherland Council,
  11074,,Depot WS,D,Sutherland Council depot workshop,Public Works,Sutherland Council,
  11075,,unk,D,Sutherland Council,Public Works,Sutherland Council,
  11076,,Rangers,D,Sutherland Council Rangers,Public Works,Sutherland Council,
  11077,,Back Chan,D,Sutherland Council Rangers back channel,Public Works,Sutherland Council,
  11078,,Work Crews,D,Sutherland Council Work crews,Public Works,Sutherland Council,
  11079,,unk,D,Sutherland Council,Public Works,Sutherland Council,
  11080,,unk,D,Sutherland Council,Public Works,Sutherland Council,
  11081,,unk,D,Sutherland Council,Public Works,Sutherland Council,
  11082,,unk,D,Sutherland Council,Public Works,Sutherland Council,
  11104,,SEC 1,D,Rail SEC 1,Railroad,Railways,
  11105,,SEC 2,D,Rail SEC 2,Railroad,Railways,
  11106,,SEC 3,D,Rail SEC 3,Railroad,Railways,
  11107,,SEC 4,D,Rail SEC 4,Railroad,Railways,
  11108,,PATROL 1,D,Rail PATROL 1,Railroad,Railways,
  11109,,PATROL 2,D,Rail PATROL 2,Railroad,Railways,
  11110,,PATROL 3,D,Rail PATROL 3,Railroad,Railways,
  11111,,CONSEC,D,Rail CONSEC,Railroad,Railways,
  11112,,SP OPS 1,D,Rail SP OPS 1,Railroad,Railways,
  11113,,SP OPS 2,D,Rail SP OPS 2,Railroad,Railways,
  11114,,SP OPS 3,D,Rail SP OPS 3,Railroad,Railways,
  11115,,REV PR 1,D,Rail REV PR 1,Railroad,Railways,
  11116,,REV PR 2,D,Rail REV PR 2,Railroad,Railways,
  11117,,REV PR 3,D,Rail REV PR 3,Railroad,Railways,
  11118,,REV PR 4,D,Rail REV PR 4,Railroad,Railways,
  11120,,BLACK 1,D,Rail BLACK 1,Railroad,Railways,
  11121,,BLACK 2,D,Rail BLACK 2,Railroad,Railways,
  11122,,CITY 1,D,Rail CITY 1,Railroad,Railways,
  11123,,CITY 2,D,Rail CITY 2,Railroad,Railways,
  11124,,GOSFORD 1,D,Rail GOSFORD 1,Railroad,Railways,
  11125,,GOSFORD 2,D,Rail GOSFORD 2,Railroad,Railways,
  11126,,NEWC 1,D,Rail NEWC 1,Railroad,Railways,
  11127,,NEWC 2,D,Rail NEWC 2,Railroad,Railways,
  11128,,SOUTH 1,D,Rail SOUTH 1,Railroad,Railways,
  11129,,SOUTH 2,D,Rail SOUTH 2,Railroad,Railways,
  11130,,ILLAW 1,D,Rail ILLAW 1,Railroad,Railways,
  11131,,ILLAWA 2,D,Rail ILLAWA 2,Railroad,Railways,
  11132,,SCOAST 1,D,Rail S COAST 1,Railroad,Railways,
  11136,,Chan 01,D,Rail CHAN 01,Railroad,Railways,
  11144,,Chan 9,D,Rail Channel 9,Railroad,Railways,
  11145,,Hunter Ops,D,Rail Hunter Operations,Railroad,Railways,
  11146,,Hunter Inc,D,Rail Hunter Incidents,Railroad,Railways,
  11147,,Chan 12,D,Rail CHAN 12,Railroad,Railways,
  11151,,ALL Chans,D,Rail All channels,Railroad,Railways,
  11158,,unk,D,Rail ,Railroad,Railways,
  11168,,SW Rail 1,D,Rail SW Rail 1,Railroad,Railways,
  11169,,SW Rail 2,D,Rail SW Rail 2,Railroad,Railways,
  11173,,Rail 6,D,Rail Rail 6,Railroad,Railways,
  11184,,unk,D,Rail ,Railroad,Railways,
  11200,,unk,D,Rail ,Railroad,Railways,
  11218,,CIVSTRUCT,D,Rail CIVSTRUCT,Railroad,Railways,
  11229,,Sig Cent3,D,Rail SIG CENT3,Railroad,Railways,
  11240,,WGong 1,D,Rail WGong 1,Railroad,Railways,
  11291,,Earth,D,Rail earth,Railroad,Railways,
  11294,,WONDABYNE,D,Rail WONDABYNE,Railroad,Railways,
  11316,,unk,D,Rail ,Railroad,Railways,
  11317,,unk,D,Rail ,Railroad,Railways,
  11320,,unk,D,Rail ,Railroad,Railways,
  11321,,unk,D,Rail ,Railroad,Railways,
  11322,,unk,D,Rail ,Railroad,Railways,
  11323,,unk,D,Rail ,Railroad,Railways,
  11324,,unk,D,Rail ,Railroad,Railways,
  11325,,unk,D,Rail ,Railroad,Railways,
  11350,,Row 1,D,Rail Row 1,Railroad,Railways,
  11471,,ABC 1,D,ABC News,Media,Australian Broadcasting Corporation ABC News,
  11472,,ABC 2,D,ABC News,Media,Australian Broadcasting Corporation ABC News,
  11473,,ABC 3,D,ABC News,Media,Australian Broadcasting Corporation ABC News,
  11474,,ABC 4,D,ABC News,Media,Australian Broadcasting Corporation ABC News,
  11475,,ABC 5,D,ABC News,Media,Australian Broadcasting Corporation ABC News,
  19801,,Rent 1,D,Short term rental,Business,GRN Short Term Rental,
  19802,,Rent 2,D,Short term rental,Business,GRN Short Term Rental,
  19803,,Rent 3,D,Short term rental,Business,GRN Short Term Rental,
  19804,,Rent 4,D,Short term rental,Business,GRN Short Term Rental,
  19805,,Rent 5,D,Short term rental,Business,GRN Short Term Rental,
  19901,,Test TG 1,D,Test talkgroup 1,Business,Test,
  19902,,Test TG 2,D,Test talkgroup 2,Business,Test,
  19903,,Test TG 3,D,Test talkgroup 3,Business,Test,
  19904,,Test TG 4,D,Test talkgroup 4,Business,Test,
  19905,,Test TG 5,D,Test talkgroup 5,Business,Test,
  19906,,Test TG 6,D,Test talkgroup 6,Business,Test,
  20000,,BAR DRL,D,RFS GD07 BAR DRL,Fire-Tac,Rural Fire Service RFS,
  20001,,CANBOLS,D,RFS GD11 CANBOLS,Fire-Tac,Rural Fire Service RFS,
  20002,,CSTLRGH,D,RFS GD12 CSTLRGH,Fire-Tac,Rural Fire Service RFS,
  20003,,CHIFLEY,D,RFS GD13 CHIFLEY,Fire-Tac,Rural Fire Service RFS,
  20004,,CLARNCE,D,RFS GD15 CLARNCE,Fire-Tac,Rural Fire Service RFS,
  20005,,CDGEGNG,D,RFS GD19 CDGEGNG,Fire-Tac,Rural Fire Service RFS,
  20006,,FARNHCO,D,RFS GD23 FARNHCO,Fire-Tac,Rural Fire Service RFS,
  20007,,FAR WST,D,RFS GD25 FAR WST,Fire-Tac,Rural Fire Service RFS,
  20008,,HUNTER,D,RFS GD32 HUNTER,Fire-Tac,Rural Fire Service RFS,
  20009,,HUNTVAL,D,RFS GD33 HUNTVAL,Fire-Tac,Rural Fire Service RFS,
  20010,,LITHGOW,D,RFS GD36 LITHGOW,Fire-Tac,Rural Fire Service RFS,
  20011,,LVPL RG,D,RFS GD37 LVPL RG,Fire-Tac,Rural Fire Service RFS,
  20012,,LOWNHCO,D,RFS GD40 LOWNHCO,Fire-Tac,Rural Fire Service RFS,
  20013,,MANNING,D,RFS GD43 MANNING,Fire-Tac,Rural Fire Service RFS,
  20014,,MD LACH,D,RFS GD47 MD LACH,Fire-Tac,Rural Fire Service RFS,
  20015,,MIDNHCO,D,RFS GD49 MIDNHCO,Fire-Tac,Rural Fire Service RFS,
  20016,,NMGWYDR,D,RFS GD52 NMGWYDR,Fire-Tac,Rural Fire Service RFS,
  20017,,NWENGLD,D,RFS GD53 NWENGLD,Fire-Tac,Rural Fire Service RFS,
  20018,,NTH OPS,D,RFS GD54 NTH OPS,Fire-Tac,Rural Fire Service RFS,
  20019,,NTHWEST,D,RFS GD55 NTHWEST,Fire-Tac,Rural Fire Service RFS,
  20020,,NTHN RIV,D,RFS GD56 NTHN RIV,Fire-Tac,Rural Fire Service RFS,
  20021,,NTH TAB,D,RFS GD57 NTH TAB,Fire-Tac,Rural Fire Service RFS,
  20022,,ORANA,D,RFS GD61 ORANA,Fire-Tac,Rural Fire Service RFS,
  20023,,RGN NTH,D,RFS GD78 RGN NTH,Fire-Tac,Rural Fire Service RFS,
  20024,,RGN WST,D,RFS GD80 RGN WST,Fire-Tac,Rural Fire Service RFS,
  20025,,TAMWRTH,D,RFS GD89 TAMWRTH,Fire-Tac,Rural Fire Service RFS,
  20026,,THE LKS,D,RFS GD90 THE LKS,Fire-Tac,Rural Fire Service RFS,
  20027,,WST OPS,D,RFS GD92 WST OPS,Fire-Tac,Rural Fire Service RFS,
  20201,,CNTAC1,D,SES 107CNTAC1,EMS-Tac,State Emergency Service SES,
  20202,,CNTAC2,D,SES 108CNTAC2,EMS-Tac,State Emergency Service SES,
  20203,,CNTAC3,D,SES 109CNTAC3,EMS-Tac,State Emergency Service SES,
  20204,,CNTAC4,D,SES 110CNTAC4,EMS-Tac,State Emergency Service SES,
  20205,,CNTAC5,D,SES 111CNTAC5,EMS-Tac,State Emergency Service SES,
  20206,,CNTAC6,D,SES 112CNTAC6,EMS-Tac,State Emergency Service SES,
  20207,,CNTAC7,D,SES 113CNTAC7,EMS-Tac,State Emergency Service SES,
  20208,,CNTAC8,D,SES 114CNTAC8,EMS-Tac,State Emergency Service SES,
  20209,,CNSTRAT,D,SES 116CNSTRAT,EMS-Tac,State Emergency Service SES,
  20210,,CWTAC1,D,SES 127CWTAC1,EMS-Tac,State Emergency Service SES,
  20211,,CWTAC2,D,SES 128CWTAC2,EMS-Tac,State Emergency Service SES,
  20212,,CWTAC3,D,SES 129CWTAC3,EMS-Tac,State Emergency Service SES,
  20213,,CWTAC4,D,SES 130CWTAC4,EMS-Tac,State Emergency Service SES,
  20214,,CWTAC5,D,SES 131CWTAC5,EMS-Tac,State Emergency Service SES,
  20215,,CWSTRAT,D,SES 133CWSTRAT,EMS-Tac,State Emergency Service SES,
  20216,,FWTAC1,D,SES 135FWTAC1,EMS-Tac,State Emergency Service SES,
  20217,,FWTAC2,D,SES 136FWTAC2,EMS-Tac,State Emergency Service SES,
  20218,,FWTAC3,D,SES 137FWTAC3,EMS-Tac,State Emergency Service SES,
  20219,,FWTAC4,D,SES 138FWTAC4,EMS-Tac,State Emergency Service SES,
  20220,,FWTAC5,D,SES 139FWTAC5,EMS-Tac,State Emergency Service SES,
  20221,,FWTAC6,D,SES 140FWTAC6,EMS-Tac,State Emergency Service SES,
  20222,,FWSTRAT,D,SES 142FWSTRAT,EMS-Tac,State Emergency Service SES,
  20223,,HUTAC1,D,SES 155HUTAC1,EMS-Tac,State Emergency Service SES,
  20224,,HUTAC2,D,SES 156HUTAC2,EMS-Tac,State Emergency Service SES,
  20225,,HUTAC3,D,SES 157HUTAC3,EMS-Tac,State Emergency Service SES,
  20226,,HUTAC4,D,SES 158HUTAC4,EMS-Tac,State Emergency Service SES,
  20227,,HUTAC5,D,SES 159HUTAC5,EMS-Tac,State Emergency Service SES,
  20228,,HUTAC6,D,SES 160HUTAC6,EMS-Tac,State Emergency Service SES,
  20229,,HUSTRAT,D,SES 162HUSTRAT,EMS-Tac,State Emergency Service SES,
  20230,,LATAC1,D,SES 173LATAC1,EMS-Tac,State Emergency Service SES,
  20231,,LATAC2,D,SES 174LATAC2,EMS-Tac,State Emergency Service SES,
  20232,,LATAC3,D,SES 175LATAC3,EMS-Tac,State Emergency Service SES,
  20233,,LATAC4,D,SES 176LATAC4,EMS-Tac,State Emergency Service SES,
  20234,,LATAC5,D,SES 177LATAC5,EMS-Tac,State Emergency Service SES,
  20235,,LATAC6,D,SES 178LATAC6,EMS-Tac,State Emergency Service SES,
  20236,,LASTRAT,D,SES 180LASTRAT,EMS-Tac,State Emergency Service SES,
  20237,,NMTAC1,D,SES 1129NMTAC1,EMS-Tac,State Emergency Service SES,
  20238,,NMTAC2,D,SES 1130NMTAC2,EMS-Tac,State Emergency Service SES,
  20239,,NMTAC3,D,SES 1131NMTAC3,EMS-Tac,State Emergency Service SES,
  20240,,NMTAC4,D,SES 1132NMTAC4,EMS-Tac,State Emergency Service SES,
  20241,,NMTAC5,D,SES 1133NMTAC5,EMS-Tac,State Emergency Service SES,
  20242,,NMTAC6,D,SES 1134NMTAC6,EMS-Tac,State Emergency Service SES,
  20243,,NMSTRAT,D,SES 1136NMSTRAT,EMS-Tac,State Emergency Service SES,
  20244,,NWTAC1,D,SES 1144NWTAC1,EMS-Tac,State Emergency Service SES,
  20245,,NWTAC2,D,SES 1145NWTAC2,EMS-Tac,State Emergency Service SES,
  20246,,NWTAC3,D,SES 1146NWTAC3,EMS-Tac,State Emergency Service SES,
  20247,,NWTAC4,D,SES 1147NWTAC4,EMS-Tac,State Emergency Service SES,
  20248,,NWTAC5,D,SES 1148NWTAC5,EMS-Tac,State Emergency Service SES,
  20249,,NWTAC6,D,SES 1149NWTAC6,EMS-Tac,State Emergency Service SES,
  20250,,NWTAC7,D,SES 1150NWTAC7,EMS-Tac,State Emergency Service SES,
  20251,,NWTAC8,D,SES 1151NWTAC8,EMS-Tac,State Emergency Service SES,
  20252,,NWSTRAT,D,SES 1153NWSTRAT,EMS-Tac,State Emergency Service SES,
  20253,,OXTAC1,D,SES 1165OXTAC1,EMS-Tac,State Emergency Service SES,
  20254,,OXTAC2,D,SES 1166OXTAC2,EMS-Tac,State Emergency Service SES,
  20255,,OXTAC3,D,SES 1167OXTAC3,EMS-Tac,State Emergency Service SES,
  20256,,OXTAC4,D,SES 1168OXTAC4,EMS-Tac,State Emergency Service SES,
  20257,,OXTAC5,D,SES 1169OXTAC5,EMS-Tac,State Emergency Service SES,
  20258,,OXTAC6,D,SES 1170OXTAC6,EMS-Tac,State Emergency Service SES,
  20259,,OXTAC7,D,SES 1171OXTAC7,EMS-Tac,State Emergency Service SES,
  20260,,OXTAC8,D,SES 1172OXTAC8,EMS-Tac,State Emergency Service SES,
  20261,,OXSTRAT,D,SES 1174OXSTRAT,EMS-Tac,State Emergency Service SES,
  20262,,RTTAC1,D,SES 1185RTTAC1,EMS-Tac,State Emergency Service SES,
  20263,,RTTAC2,D,SES 1186RTTAC2,EMS-Tac,State Emergency Service SES,
  20264,,RTTAC3,D,SES 1187RTTAC3,EMS-Tac,State Emergency Service SES,
  20265,,RTTAC4,D,SES 1188RTTAC4,EMS-Tac,State Emergency Service SES,
  20266,,RTTAC5,D,SES 1189RTTAC5,EMS-Tac,State Emergency Service SES,
  20267,,RTTAC6,D,SES 1190RTTAC6,EMS-Tac,State Emergency Service SES,
  20268,,RTTAC7,D,SES 1191RTTAC7,EMS-Tac,State Emergency Service SES,
  20269,,RTTAC8,D,SES 1192RTTAC8,EMS-Tac,State Emergency Service SES,
  20270,,RTSTRAT,D,SES 1194RTSTRAT,EMS-Tac,State Emergency Service SES,
  20301,,NewcOps,D,Newcastle Operations,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  20302,,HuntOps,D,Outer Hunter Operations,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  20303,,GosOps,D,Gosford Operations,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  20304,,Nth Inc1,D,North Incident 1,EMS-Tac,Ambulance Service of New South Wales ASNSW,
  20305,,Nth Inc2,D,North Incident 2,EMS-Tac,Ambulance Service of New South Wales ASNSW,
  20306,,Hunt Hosp,D,Hunter Hospitals,Hospital,Ambulance Service of New South Wales ASNSW,
  20307,,MidWest1,D,MidWest Operations 1,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  20308,,MidWest2,D,MidWest Operations 2,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  20309,,MQOps1,D,Macquarie Operations 1,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  20310,,MQOps2,D,Macquarie Operations 2,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  20311,,NEOps1,D,New England Operations 1,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  20312,,NEOps2,D,New England Operations 2,EMS Dispatch,Ambulance Service of New South Wales ASNSW,
  20313,,West Inc1,D,West Incident 1,EMS-Tac,Ambulance Service of New South Wales ASNSW,
  20314,,West Inc2,D,West Incident 2,EMS-Tac,Ambulance Service of New South Wales ASNSW,
  20315,,INCIDENT 1,,West Incident 1,,Ambulance Service of New South Wales ASNSW,
  20316,,INCIDENT 2,,West Incident 2,,Ambulance Service of New South Wales ASNSW,
  20317,,INCIDENT 3,,West Incident 3,,Ambulance Service of New South Wales ASNSW,
  20318,,HOSP 1,,West Hospital 1,,Ambulance Service of New South Wales ASNSW,
  20319,,HOSP 2,,West Hospital 2,,Ambulance Service of New South Wales ASNSW,
  20320,,HUN HOSP,,North Hunter Hospitals,,Ambulance Service of New South Wales ASNSW,
  20501,,CC Op,D,AusGrid Central Coast Operator,Utilities,AusGrid,
  20502,,CC Inspect,D,AusGrid Central Coast Installation Inspectors,Utilities,AusGrid,
  20503,,CC EMSOs,D,AusGrid Central Coast EMSOs,Utilities,AusGrid,
  20504,,CC Subs,D,AusGrid Central Coast Substations,Utilities,AusGrid,
  20505,,Gos OH,D,AusGrid Gosford Overhead,Utilities,AusGrid,
  20506,,CC UG,D,AusGrid Central Coast Underground,Utilities,AusGrid,
  20508,,Nora OH,D,AusGrid Noraville Overhead,Utilities,AusGrid,
  20509,,CC Prot,D,AusGrid Central Coast Protection,Utilities,AusGrid,
  20510,,Nora OH,D,AusGrid Noraville Overhead,Utilities,AusGrid,
  20511,,CC EMSO 1,D,AusGrid Central Coast EMSO Data 1,Utilities,AusGrid,
  20512,,CC Op,D,AusGrid Central Coast Operator,Utilities,AusGrid,
  20513,,Newc Op,D,AusGrid Newcastle Operator,Utilities,AusGrid,
  20514,,Newc Des Dat,D,AusGrid Newcastle Despatch Data 1,Utilities,AusGrid,
  20515,,Wall OH 1,D,AusGrid Wallsend Overhead 1,Utilities,AusGrid,
  20516,,Wall UG,D,AusGrid Wallsend Underground,Utilities,AusGrid,
  20517,,Wall Subs,D,AusGrid Wallsend Substations,Utilities,AusGrid,
  20518,,Mait 1,D,AusGrid Maitland 1,Utilities,AusGrid,
  20519,,Wall OH 2,D,AusGrid Wallsend Overhead 2,Utilities,AusGrid,
  20520,,Hunt TCA,D,AusGrid TCA Hunter,Utilities,AusGrid,
  20521,,Hunt Op,D,AusGrid Hunter Operator,Utilities,AusGrid,
  20522,,Musw 1,D,AusGrid Muswellbrook 1,Utilities,AusGrid,
  20523,,Musw 2,D,AusGrid Muswellbrook 2,Utilities,AusGrid,
  20524,,CASS Data2,D,AusGrid CASS Data 2,Utilities,AusGrid,
  20525,,Sing,D,AusGrid Singleton,Utilities,AusGrid,
  20526,,Hunt DistOp,D,AusGrid Hunter District Operators,Utilities,AusGrid,
  20527,,Newc DistOp,D,AusGrid Newcastle District Operators,Utilities,AusGrid,
  20528,,Hunt Proj,D,AusGrid Hunter Projects,Utilities,AusGrid,
  21001,,HuntWat Est,D,Hunter Water East,Utilities,Hunter Water,
  21002,,HuntWat 2,D,Hunter Water,Utilities,Hunter Water,
  21003,,HuntWat Nth,D,Hunter Water North,Utilities,Hunter Water,
  21004,,HuntWat 4,D,Hunter Water,Utilities,Hunter Water,
  21005,,HuntWat 5,D,Hunter Water,Utilities,Hunter Water,
  21006,,HuntWat 6,D,Hunter Water,Utilities,Hunter Water,
  30000,,BLD TEM,D,RFS GD09 BLD TEM,Fire-Tac,Rural Fire Service RFS,
  30001,,FARSHCO,D,RFS GD24 FARSHCO,Fire-Tac,Rural Fire Service RFS,
  30002,,HUME SB,D,RFS GD31 HUME SB,Fire-Tac,Rural Fire Service RFS,
  30003,,ILLWARA,D,RFS GD34 ILLWARA,Fire-Tac,Rural Fire Service RFS,
  30004,,L GEORG,D,RFS GD35 L GEORG,Fire-Tac,Rural Fire Service RFS,
  30005,,LOWWSTN,D,RFS GD41 LOWWSTN,Fire-Tac,Rural Fire Service RFS,
  30006,,MIA,D,RFS GD46 MIA,Fire-Tac,Rural Fire Service RFS,
  30007,,MID MUR,D,RFS GD48 MID MUR,Fire-Tac,Rural Fire Service RFS,
  30008,,MID WST,D,RFS GD50 MID WST,Fire-Tac,Rural Fire Service RFS,
  30009,,MONARO,D,RFS GD51 MONARO,Fire-Tac,Rural Fire Service RFS,
  30010,,RGN STH,D,RFS GD79 RGN STH,Fire-Tac,Rural Fire Service RFS,
  30011,,RV HIGH,D,RFS GD81 RV HIGH,Fire-Tac,Rural Fire Service RFS,
  30012,,RIVERNA,D,RFS GD82 RIVERNA,Fire-Tac,Rural Fire Service RFS,
  30013,,SHOALHN,D,RFS GD83 SHOALHN,Fire-Tac,Rural Fire Service RFS,
  30014,,STH OPS,D,RFS GD84 STH OPS,Fire-Tac,Rural Fire Service RFS,
  30015,,SWSZ,D,RFS GD85 SWSZ,Fire-Tac,Rural Fire Service RFS,
  30016,,STHN TD,D,RFS GD86 STHN TD,Fire-Tac,Rural Fire Service RFS,
  30017,,WNGCARI,D,RFS GD93 WNGCARI,Fire-Tac,Rural Fire Service RFS,
  30201,,ISTAC1,D,SES 163ISTAC1,EMS-Tac,State Emergency Service SES,
  30202,,ISTAC2,D,SES 164ISTAC2,EMS-Tac,State Emergency Service SES,
  30203,,ISTAC3,D,SES 165ISTAC3,EMS-Tac,State Emergency Service SES,
  30204,,ISTAC4,D,SES 166ISTAC4,EMS-Tac,State Emergency Service SES,
  30205,,ISTAC5,D,SES 167ISTAC5,EMS-Tac,State Emergency Service SES,
  30206,,ISTAC6,D,SES 168ISTAC6,EMS-Tac,State Emergency Service SES,
  30207,,ISTAC7,D,SES 169ISTAC7,EMS-Tac,State Emergency Service SES,
  30208,,ISTAC8,D,SES 170ISTAC8,EMS-Tac,State Emergency Service SES,
  30209,,ISSTRAT,D,SES 172ISSTRAT,EMS-Tac,State Emergency Service SES,
  30210,,METAC1,D,SES 181METAC1,EMS-Tac,State Emergency Service SES,
  30211,,METAC2,D,SES 182METAC2,EMS-Tac,State Emergency Service SES,
  30212,,METAC3,D,SES 183METAC3,EMS-Tac,State Emergency Service SES,
  30213,,METAC4,D,SES 184METAC4,EMS-Tac,State Emergency Service SES,
  30214,,METAC5,D,SES 185METAC5,EMS-Tac,State Emergency Service SES,
  30215,,METAC6,D,SES 186METAC6,EMS-Tac,State Emergency Service SES,
  30216,,METAC7,D,SES 187METAC7,EMS-Tac,State Emergency Service SES,
  30217,,METAC8,D,SES 188METAC8,EMS-Tac,State Emergency Service SES,
  30218,,MESTRAT,D,SES 190MESTRAT,EMS-Tac,State Emergency Service SES,
  30219,,MQTAC1,D,SES 1101MQTAC1,EMS-Tac,State Emergency Service SES,
  30220,,MQTAC2,D,SES 1102MQTAC2,EMS-Tac,State Emergency Service SES,
  30221,,MQTAC3,D,SES 1103MQTAC3,EMS-Tac,State Emergency Service SES,
  30222,,MQTAC4,D,SES 1104MQTAC4,EMS-Tac,State Emergency Service SES,
  30223,,MQTAC5,D,SES 1105MQTAC5,EMS-Tac,State Emergency Service SES,
  30224,,MQTAC6,D,SES 1106MQTAC6,EMS-Tac,State Emergency Service SES,
  30225,,MQSTRAT,D,SES 1108MQSTRAT,EMS-Tac,State Emergency Service SES,
  30226,,MYTAC1,D,SES 1109MYTAC1,EMS-Tac,State Emergency Service SES,
  30227,,MYTAC2,D,SES 1110MYTAC2,EMS-Tac,State Emergency Service SES,
  30228,,MYTAC3,D,SES 1111MYTAC3,EMS-Tac,State Emergency Service SES,
  30229,,MYTAC4,D,SES 1112MYTAC4,EMS-Tac,State Emergency Service SES,
  30230,,MYTAC5,D,SES 1113MYTAC5,EMS-Tac,State Emergency Service SES,
  30231,,MYTAC6,D,SES 1114MYTAC6,EMS-Tac,State Emergency Service SES,
  30232,,MYSTRAT,D,SES 1116MYSTRAT,EMS-Tac,State Emergency Service SES,
  30233,,SHTAC1,D,SES 1209SHTAC1,EMS-Tac,State Emergency Service SES,
  30234,,SHTAC2,D,SES 1210SHTAC2,EMS-Tac,State Emergency Service SES,
  30235,,SHTAC3,D,SES 1211SHTAC3,EMS-Tac,State Emergency Service SES,
  30236,,SHTAC4,D,SES 1212SHTAC4,EMS-Tac,State Emergency Service SES,
  30237,,SHTAC5,D,SES 1213SHTAC5,EMS-Tac,State Emergency Service SES,
  30238,,SHTAC6,D,SES 1214SHTAC6,EMS-Tac,State Emergency Service SES,
  30239,,SHTAC7,D,SES 1215SHTAC7,EMS-Tac,State Emergency Service SES,
  30240,,SHTAC8,D,SES 1216SHTAC8,EMS-Tac,State Emergency Service SES,
  30241,,SHSTRAT,D,SES 1218SHSTRAT,EMS-Tac,State Emergency Service SES,
  30301,,FSC OPS,,South Far South Coast Operations,,Ambulance Service of New South Wales ASNSW,
  30302,,ILLA OPS,,South Illawarra Operations,,Ambulance Service of New South Wales ASNSW,
  30303,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  30304,,WAGGA OPS,,South Wagga Operations,,Ambulance Service of New South Wales ASNSW,
  30305,,RIV OPS,,South Riverina Operations,,Ambulance Service of New South Wales ASNSW,
  30306,,MURRAY OPS,,South Murray Operations,,Ambulance Service of New South Wales ASNSW,
  30307,,ECP 3,,South Extended Care Paramedic 3,,Ambulance Service of New South Wales ASNSW,
  30308,,INCIDENT 1,,South Incident 1,,Ambulance Service of New South Wales ASNSW,
  30309,,INCIDENT 2,,South Incident 2,,Ambulance Service of New South Wales ASNSW,
  30310,,INCIDENT 3,,South Incident 3,,Ambulance Service of New South Wales ASNSW,
  30311,,INCIDENT 4,,South Incident 4,,Ambulance Service of New South Wales ASNSW,
  30312,,INCIDENT 5,,South Incident 5,,Ambulance Service of New South Wales ASNSW,
  30313,,INCIDENT 6,,South Incident 6,,Ambulance Service of New South Wales ASNSW,
  30314,,ILLAW HOSP,,South Illawarra Hospitals,,Ambulance Service of New South Wales ASNSW,
  30315,,GOULB HOSP,,South Goulburn Hospitals,,Ambulance Service of New South Wales ASNSW,
  30316,,SHAVEN OPS,,South Shoalhaven Operations,,Ambulance Service of New South Wales ASNSW,
  30317,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  30318,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  30319,,ASNSW,,ASNSW,,Ambulance Service of New South Wales ASNSW,
  30320,,ACT AMB,,South ACT Ambulance Liaison,,Ambulance Service of New South Wales ASNSW,
  30321,,STH EAST OPS,,South South East Operations,,Ambulance Service of New South Wales ASNSW,
  40010,,ESA 7,D,ESA 7,Interop,ACT ESA,
  40011,,ESA 8,D,ESA 8,Interop,ACT ESA,
  40013,,ACTAS Ops1,D,ACT Ambulance Ops 1,EMS Dispatch,ACT ESA,
  40031,,Air Sup,D,Air Sup,Interop,ACT ESA,
  40032,,ESA 1,D,ESA 1,Interop,ACT ESA,
  40033,,ESA 2,D,ESA 2,Interop,ACT ESA,
  40034,,ESA 3,D,ESA 3,Interop,ACT ESA,
  40035,,ESA 4,D,ESA 4,Interop,ACT ESA,
  40036,,ESA 5,D,ESA 5,Interop,ACT ESA,
  40037,,ESA 6,D,ESA 6,Interop,ACT ESA,
  40038,,ESA 9,D,ESA 9,Interop,ACT ESA,
  40039,,ESA 10,D,ESA 10,Interop,ACT ESA,
  40040,,ESA 11,D,ESA 11,Interop,ACT ESA,
  40041,,ESA 12,D,ESA 12,Interop,ACT ESA,
  40042,,ESA 13,D,ESA 13,Interop,ACT ESA,
  40043,,Joint T,D,Joint T,Interop,ACT ESA,
  40050,,ACTFB,E,ACTFB ,Public Works,ACT ESA,
  40051,,ACTFB,E,ACTFB ,Public Works,ACT ESA,
  40052,,ACTFB,E,ACTFB ,Public Works,ACT ESA,
  40059,,Priority,D,RFS Priority Channel,Emergency Ops,ACT RFS,
  40068,,RFS Ops 1,D,ACT RFS Ops 1,Fire-Tac,ACT RFS,
  40069,,FG 2,D,ACT RFS FG 2,Fire-Tac,ACT RFS,
  40070,,FG 3,D,ACT RFS FG 3,Fire-Tac,ACT RFS,
  40071,,FG 4,D,ACT RFS FG 4,Fire-Tac,ACT RFS,
  40072,,FG 5,D,ACT RFS FG 5,Fire-Tac,ACT RFS,
  40073,,RFS Ops 6,D,ACT RFS Ops 6,Fire-Tac,ACT RFS,
  40074,,FG 7,D,ACT RFS FG 7,Fire-Tac,ACT RFS,
  40075,,IMT,D,ACT RFS IMT,Fire-Tac,ACT RFS,
  40076,,Air Ops,D,ACT RFS Air Ops,Fire-Tac,ACT RFS,
  40077,,RFS Plt Ops,D,ACT RFS Plant Ops,Fire-Tac,ACT RFS,
  40078,,SES Ops 1,D,ACT SES Ops 1,EMS-Tac,ACT SES,
  40079,,SES Ops 2,D,ACT SES Ops 2,EMS-Tac,ACT SES,
  40080,,SES Ops 3,D,ACT SES Ops 3,EMS-Tac,ACT SES,
  40081,,SES Ops 4,D,ACT SES Ops 4,EMS-Tac,ACT SES,
  40082,,SES Ops 5,D,ACT SES Ops 5 Vehicle Talkgroup,EMS-Tac,ACT SES,
  40083,,SES Ops 6,D,ACT SES Ops 6,EMS-Tac,ACT SES,
  40084,,SES Ops 7,D,ACT SES Ops 7,EMS-Tac,ACT SES,
  40085,,SES Ops 8,D,ACT SES Ops 8,EMS-Tac,ACT SES,
  40086,,SES Ops 9,D,ACT SES Ops 9,EMS-Tac,ACT SES,
  40087,,SES Ops 10,D,ACT SES Ops 10,EMS-Tac,ACT SES,
  40088,,SES Ops 11,D,ACT SES Ops 11,EMS-Tac,ACT SES,
  40089,,PCL Ops,D,Parks Conserv Land Ops,Fire-Tac,ACT PCL,
  40090,,PCL Ops,D,Parks Conserv Land Ops,Fire-Tac,ACT PCL,
  40091,,Fire Mgt,D,TAMS Fire Mgmt,Fire Dispatch,ACT PCL,
  40092,,PCL CNP,D,Canberra Nature Parks,Fire-Tac,ACT PCL,
  40093,,PCL Rural,D,Parks Conserv Land Rural,Fire-Tac,ACT PCL,
  40097,,PCL HRB,D,Hazard Reduction Burn,Fire-Tac,ACT PCL,
  42000,,Guises Ck,D,RFS Guises Creek,Fire Dispatch,ACT RFS,
  42001,,Gunghalin,D,RFS Gunghalin,Fire Dispatch,ACT RFS,
  42002,,Hall,D,RFS Hall,Fire Dispatch,ACT RFS,
  42003,,Jerrabombera,D,RFS Jerrabombera,Fire Dispatch,ACT RFS,
  42004,,Molonglo,D,RFS Molongo,Fire Dispatch,ACT RFS,
  42005,,ACT,D,ACT RFS ,,ACT RFS,
  44010,,ACTION 44010,D,ACTION Buses,Transportation,ACTION Buses,
  44011,,ACTION 44011,D,ACTION Buses,Transportation,ACTION Buses,
  44012,,ACTION 44012,D,ACTION Buses,Transportation,ACTION Buses,
  44013,,ACTION 44013,D,ACTION Buses,Transportation,ACTION Buses,
 
<?php <?php
// http://www.unitrunker.com/logs.html // http://www.unitrunker.com/logs.html
/* /*
Timestamp as YYYYMMDDHHMMSS Timestamp as YYYYMMDDHHMMSS
Site number in unformatted decimal Site number in unformatted decimal
Action: Call, Leaves, Joins, Login, Logout, Drop, Add, Busy, Deny, Kill Action: Call, Leaves, Joins, Login, Logout, Drop, Add, Busy, Deny, Kill
Source type I or G Source type I or G
Source ID in unformatted decimal Source ID in unformatted decimal
Target type I or G Target type I or G
Target ID in unformatted decimal Target ID in unformatted decimal
Channel number in unformatted decimal Channel number in unformatted decimal
Call Type*/ Call Type*/
$row = 0; $row = 0;
echo "<table>"; echo "<table>";
if (($handle = fopen("C:\Users\Madoka\AppData\Roaming\UniTrunker\S00000001\UniTrunker-20120411.LOG", "r")) !== FALSE) { if (($handle = fopen("C:\Users\Madoka\AppData\Roaming\UniTrunker\S00000001\UniTrunker-20120411.LOG", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
   
if ($row > 0 && count($data) == 9) { if ($row > 0 && count($data) == 9) {
   
echo "<tr>"; echo "<tr>";
for ($c=0; $c < count($data); $c++) { for ($c = 0; $c < count($data); $c++) {
echo '<td>'.$data[$c] . "</td>\n"; echo '<td>' . $data[$c] . "</td>\n";
} }
echo "</tr>"; echo "</tr>";
} }
$row++; $row++;
} }
fclose($handle); fclose($handle);
} }
echo "</table>"; echo "</table>";
?> ?>
<?php <?php
include('common.inc.php'); include('common.inc.php');
$tgid = 1; $tgid = 44028;
  $from = (isset($_REQUEST['from']) ? $_REQUEST['from'] : strtotime("2012-09-12"));
  $to = (isset($_REQUEST['to']) ? $_REQUEST['to'] : strtotime("2012-12-12"));
  include_header("fdds");
  $sth = $conn->prepare('select distinct date_trunc(\'day\', call_timestamp) as rdate from recordings order by rdate');
   
  $sth->execute();
  foreach ($sth->fetchAll() as $row) {
  echo '<a href="?from=' . strtotime($row['rdate']) . '&amp;to=' . strtotime($row['rdate'] . ' +1 day') . '">' . $row['rdate'] . '</a> <br>';
  }
   
?> ?>
<div class="span12"> <div class="span12">
   
<table width="100%" height="375px"><tr><td valign="middle"><span class="arrow-w" style="font-size:2em;"></span></td><td width="95%"><div id="placeholder" style="width:100%;height:375px;"></div></td><td valign="middle"><span class="arrow-e" style="font-size:2em;"></span></td></tr></table> <table width="100%" height="775px">
<script> <tr>
  <td valign="middle"><span class="arrow-w" style="font-size:2em;">&lt;</span></td>
  <td width="95%">
  <div id="placeholder" style="width:100%;height:575px;"></div>
  </td>
  <td valign="middle"><span class="arrow-e" style="font-size:2em;">&gt;</span></td>
  </tr>
  </table>
  <script>
var data = []; var data = [];
var plot; var plot;
var options = { var options = {
lines: { show: true }, lines: { show: true },
points: { show: true }, points: { show: true },
xaxis: { mode: "time" }, xaxis: {
crosshair: { mode: "x" }, mode: 'time',
  labelsAngle: 45
  },
  selection: { mode: 'x', fps: 30 },
series: { series: {
lines: { show: true }, lines: { show: true },
points: { show: true } points: { show: true }
}, },
grid: { hoverable: true, clickable: true } mouse: {
  track: true,
  relative: true
  }
}; };
window.onload = function() { $(function () {
// graph // graph
   
   
var placeholder = $("#placeholder");  
   
var plot = $.plot(placeholder, data, options);  
   
$("#placeholder").bind("plothover", function (event, pos, item) {  
   
if (item) {  
if (previousPoint != item.dataIndex) {  
previousPoint = item.dataIndex;  
   
$("#tooltip").remove();  
var x = item.datapoint[0].toFixed(2),  
y = item.datapoint[1].toFixed(2);  
var d = new Date();  
d.setTime(x);  
var time = d.getDate() + "-" + (d.getMonth()+1) + "-" + d.getFullYear()  
+ " " + d.getUTCHours() + ':'+ (d.getUTCMinutes().toString().length == 1 ? '0'+ d.getMinutes(): d.getUTCMinutes());  
   
showTooltip(item.pageX, item.pageY, var placeholder = document.getElementById("placeholder");
item.series.label + " at " + time + " = " + y);  
} drawGraph(options);
   
  // Hook into the 'flotr:select' event.
  Flotr.EventAdapter.observe(placeholder, 'flotr:select', function (area) {
   
  // Draw graph with new area
  graph = drawGraph({
  xaxis: {min: area.x1, max: area.x2, mode: 'time', labelsAngle: 45},
  yaxis: {min: area.y1, max: area.y2}
  });
  });
   
  // When graph is clicked, draw the graph with default area.
  Flotr.EventAdapter.observe(placeholder, 'flotr:click', function () {
  drawGraph();
  });
   
   
  getData('<?php echo $tgid; ?>', '<?php echo $from ?>', '<?php echo $to ?>');
   
  });
   
  // Draw graph with default options, overwriting with passed options
  function drawGraph(opts) {
   
  // Clone the options, so the 'options' variable always keeps intact.
  var o = Flotr._.extend(Flotr._.clone(options), opts || {});
   
  // Return a new graph.
  return Flotr.draw(
  placeholder,
  data,
  o
  );
  }
   
   
  function onDataReceived(series) {
  data = []
  for (var key in series.data) {
  data[data.length] = {label: key, data: series.data[key]};
} }
else { drawGraph(options);
$("#tooltip").remove(); }
previousPoint = null; function getData(sensorID, from, to) {
} $.ajax({
  url: "<?php echo $basePath; ?>calls.json.php?action=graphcount&tgid=" + sensorID + "&from=" + from + "&to=" + to,
}); method: 'GET',
  dataType: 'json',
getData('<?php echo $tgid; ?>','<?php echo strtotime("10/10/2012") ?>','<?php echo strtotime("12/10/2012") ?>'); success: onDataReceived
  });
}; }
   
function onDataReceived(series) {  
data =[]  
data[data.length] = series;  
   
plot = $.plot($("#placeholder"), data, options);  
}  
function getData(sensorID,from,to) {  
$.ajax({  
url: "<?php echo $basePath; ?>/calls.json.php?"+sensorID+"/"+from+"/"+to,  
method: 'GET',  
dataType: 'json',  
success: onDataReceived  
});  
}  
   
function showTooltip(x, y, contents) {  
$('<div id="tooltip">' + contents + '</div>').css( {  
position: 'absolute',  
display: 'none',  
top: y + 5,  
left: x + 5,  
border: '1px solid #fdd',  
padding: '2px',  
'background-color': '#fee',  
opacity: 0.80  
}).appendTo("body").fadeIn(200);  
}  
   
   
</script> </script>
</div> </div>
  <?php
  include_footer();
  ?>