Commit Graph

457 Commits

Author SHA1 Message Date
n1474335
3e5b3900bc CSS tweak to dropdown toggle height 2018-08-06 07:53:30 +01:00
n1474335
4dc6dac885 Added CHANGELOG.md 2018-08-06 07:35:30 +01:00
n1474335
a947e06140 Added option to turn off background auto magic 2018-08-03 20:18:19 +01:00
n1474335
53b92ae8ef Further CSS tweaks 2018-08-03 19:58:44 +01:00
n1474335
2a55f1317a Fixed themes for MD 2018-08-02 13:21:02 +01:00
n1474335
c3a353837f Linted 2018-07-27 15:54:49 +00:00
n1474335
035b6dfa95 Added font and icon 2018-07-27 15:52:32 +00:00
n1474335
33b2fd8d69 Improved magic and staleness indicator animations 2018-07-27 15:18:08 +00:00
n1474335
541e4ff8cd Added functionality to Magic button and improved the icon 2018-07-27 13:37:38 +00:00
n1474335
ba5c503c48 Added Magic button and tweaked margins for Windows 2018-07-26 17:47:14 +00:00
n1474335
651ca6cf5d Fixed all HTML operations 2018-07-15 13:25:44 +01:00
n1474335
a39e2c165d Fixed input and output cards 2018-07-13 12:10:24 +00:00
n1474335
d182261ff3 Switched to unbordered args 2018-07-13 10:30:24 +00:00
n1474335
052c32e2ce Arguments are now bordered white boxes again 2018-07-13 00:03:04 +01:00
n1474335
dcf3152dee Operation cursor now indicates that it can be dragged 2018-06-20 00:27:40 +01:00
n1474335
4338e2626b Replaced Bootstrap alert with Material Design snackbar 2018-06-20 00:18:59 +01:00
n1474335
67dffbec32 Actually fixed flow control operation argument text colour 2018-06-19 01:06:10 +01:00
n1474335
7504f89666 Fixed flow control operation argument text colour 2018-06-19 01:03:55 +01:00
n1474335
ba79144036 Operation arguments are now arranged using CSS Grid 2018-06-19 00:55:08 +01:00
n1474335
974ab29e36 Switched toggle string dropdown sides and removed form-control padding 2018-06-17 23:52:00 +01:00
n1474335
fa523e0d4a Changed banner icons to Material Design 2018-06-17 14:09:52 +01:00
n1474335
ab9bc7e390 Fixed boolean arg checkboxes 2018-06-17 13:49:32 +01:00
n1474335
4147ec719b Converted modals to Bootstrap 4 Material Design 2018-06-17 12:44:12 +01:00
n1474335
7d410fcdc9 Converted op-icons to material design and improved controls. 2018-06-10 14:55:15 +01:00
n1474335
2bacd6424d Converted operation arguments to material design 2018-06-10 12:03:55 +01:00
n1474335
27b0505ede Merged ESM into feature-bootstrap4 2018-06-09 10:48:35 +01:00
n1474335
1ce6e32086 Merged ESM into feature-bootstrap4. Started work on text inputs. 2018-06-09 10:43:36 +01:00
n1474335
1ef4f71d8b ESM: Added BackgroundWorkerWaiter for running Magic on output in the background 2018-06-03 17:33:13 +01:00
n1474335
60340fc8ae ESM: Removed legacy files 2018-05-29 01:20:44 +01:00
n1474335
ee519c7352 Merged esm branch into feature-magic. Ported FileType ops. 2018-05-20 16:49:42 +01:00
n1474335
84df055888 ESM: Ported MS and Entropy operations 2018-05-16 11:39:30 +01:00
n1474335
07715bd167 ESM: Rewritten src/web/ in ESM format. 2018-05-15 17:36:45 +00:00
n1474335
a98d37e61c Merged master into esm branch 2018-05-14 11:58:01 +00:00
n1474335
1f877817f4 ESM: Added portOperation.mjs script. Added To and From Hexdump operations. 2018-05-06 12:24:01 +01:00
George J
c7f13ff67f Added 'More Info' links to the descriptions of many operations for #265 2018-05-05 00:43:42 +01:00
n1474335
76a066ab74 The raw, unpresented dish is now returned to the app after baking, where it can be retrieved as various different data types. 2018-04-21 12:25:48 +01:00
n1474335
c56038a1e2 Added error message for loading errors. Closes #254 2018-04-05 15:58:19 +00:00
n1474335
041cd9fb8e ESM: Added remaining Base64 ops and created a Base64 library. Added the prefer-const eslint rule. 2018-04-02 17:10:51 +01:00
n1474335
9b4fc3d3aa Converted the core to ES modules 2018-03-26 23:14:23 +01:00
n1474335
715ca1c292 Added Bcrypt, Scrypt, BSON and string operations along with many new tests. 2018-03-26 22:25:36 +01:00
n1474335
bcc8804495 Updated buttons, fonts and collapse 2018-03-02 16:30:20 +00:00
n1474335
5a7bb092c7 Fixed popovers in Bootstrap v4 2018-03-02 15:32:27 +00:00
n1474335
d166dda229 Started updating Bootstrap to v4 2018-03-02 14:04:58 +00:00
n1474335
8360c9e9f9 Fixed noindex meta tag for standalone version 2018-03-02 11:15:37 +00:00
n1474335
328142dac7 Added 's' to the standalone version string 2018-03-01 20:32:09 +00:00
n1474335
79a3128491 Changed fragment to query in sitemap 2018-02-20 17:39:46 +00:00
n1474335
cb1fe80214 Added robots meta tag to inline version to prevent indexing. 2018-02-20 17:34:19 +00:00
n1474335
74394a773d Fixed URL in sitemap 2018-02-20 17:09:02 +00:00
n1474335
502a9fbb92 Added dynamically generated sitemap and robots.txt file to prevent crawling of inline version 2018-02-20 16:52:27 +00:00
n1474335
1aef193b40 Fixed file loading error message 2018-02-15 13:41:13 +00:00
n1474335
b5eb44af9f When highlighting operation descriptions in search results, HTML tags are now ignored. 2018-02-13 15:43:55 +00:00
n1474335
f6b68f9880 Increased file overlay slice to 4096 for larger screen support 2018-02-12 13:57:01 +00:00
n1474335
f6b2783f8b File overlays now show a blurred representation of the file in the background. 2018-02-09 16:26:39 +00:00
n1474335
e55cfe0bc1 Fixed 'Syntax highlighter' operation. Using highlight.js instead of google-code-prettify. 2018-01-25 18:41:47 +00:00
n1474335
2b703b2b9b HTML outputs are now unescaped correctly when converted to a string 2018-01-25 16:25:19 +00:00
n1474335
870c2b6d8b Fixed deep copy bug with Fork/Register ingredient values. 2018-01-25 14:03:13 +00:00
n1474335
eee8b7db56 Fixed dispatchEvent call in recipe loading chain. 2018-01-25 13:46:06 +00:00
n1474335
57314b77e5 Merge branch 'master' into feature-magic 2018-01-22 20:04:51 +00:00
n1474335
fe8f8bc712 Setting a text value in the input now closes any open files. 2018-01-22 19:58:21 +00:00
n1474335
abe87830cd Operation tooltips now disappear if you hover over them while dragging an opertion. 2018-01-22 17:51:04 +00:00
n1474335
512487328d Fixed bugs in pretty recipe format generation 2018-01-18 18:35:17 +00:00
n1474335
fc2828fee3 Added Magic operation with the ability to detect language, file type and some encoding types. 2018-01-14 16:07:39 +00:00
n1474335
fa938f832f Fixed IE 11 detection so that support message is correctly shown. 2018-01-10 18:38:17 +00:00
n1474335
f53e7ad617 Chef now defaults to treat as UTF8 if option is not set 2018-01-06 16:21:42 +00:00
n1474335
4588cd151c Data pasted into the input is treat as a file if it's over the IO threshold 2018-01-06 15:29:58 +00:00
n1474335
2d9f87abef Added more loading messages 2018-01-05 20:26:51 +00:00
n1474335
d38375a08c Improved error handling for file uploads 2018-01-04 14:43:49 +00:00
n1474335
50b24d9a56 Fixed no-trailing-space lint 2018-01-02 14:46:35 +00:00
n1474335
fa6905ef00 Added more comprehensive logging to FlowControl ops and added '>' prefix to all ChefWorker logs to improve clarity 2017-12-29 17:32:23 +00:00
n1474335
8684bc0158 Removed duplicate logging message 2017-12-28 18:33:59 +00:00
n1474335
d079420d46 Added logging with configurable levels to make debugging easier. 2017-12-28 18:17:38 +00:00
n1474335
849d41ee56 Removed padLeft and padRight in favour of String.prototype.padStart and padEnd. 'To Hex' now supports ArrayBuffers. 2017-12-28 14:38:57 +00:00
n1474335
50e4daeaf2 Output info tidied up for file outputs 2017-12-27 23:05:32 +00:00
n1474335
f7f07f2cb5 Loading a new file only causes a statechange event once the whole file has loaded 2017-12-27 15:52:38 +00:00
n1474335
e2161ec934 Resolved conflicts 2017-12-27 12:50:29 +00:00
n1474335
1e4d2ba90d Updated documentation for file support 2017-12-27 12:45:22 +00:00
n1474335
caf794b01d Threshold for treating output as a file is now configurable 2017-12-27 12:29:10 +00:00
n1474335
e81122739b Files can now be moved from the output to the input 2017-12-27 02:26:24 +00:00
n1474335
a0aa363203 Download filenames now persist 2017-12-27 02:01:17 +00:00
n1474335
bad0816115 Output files can be viewed in slices 2017-12-27 01:52:41 +00:00
n1474335
ff94172b3c Output files can now be downloaded using FileSaver (supports large files ~500MB) 2017-12-26 01:32:51 +00:00
n1474335
af71ca6a25 Output over 1MiB is passed back as an ArrayBuffer and an output file card is displayed. 2017-12-26 00:44:40 +00:00
n1474335
0e7989111f Removed CryptoJS from Utils.js. UTF8 conversion is now achieved with the much smaller and actively maintained utf8 library. 2017-12-25 23:11:52 +00:00
n1474335
09b6661e35 Fixed trailing spaces 2017-12-20 15:51:57 +00:00
n1474335
12fc8c22dd Made some naming changes to Label-related operations. 2017-12-19 13:18:25 +00:00
n1474335
4e00ac9300 Files are now uploaded in a worker and not displayed in the input by default. Added ArrayBuffer Dish type. 2017-12-18 20:39:55 +00:00
n1474335
7a2f68e14a Cosmetic changes to keybindings code 2017-11-20 17:45:50 +00:00
n1474335
8fd08cb2bf Merge branch 'features/keybindings' of https://github.com/artemisbot/CyberChef into artemisbot-features/keybindings 2017-11-20 16:57:16 +00:00
Matt C
8b30fdf7f1 Adds ability for user to use Meta key instead of alt for keybindings
- includes dynamically updating keybinding list
2017-11-04 12:55:28 +00:00
n1474335
1553b5f54b Fixed lint 2017-10-23 17:32:36 +00:00
n1474335
2ddd2e0a60 Added 'Copy output' button. Closes #198. 2017-10-23 17:31:53 +00:00
Matt C
d924ede9cf Merge remote-tracking branch 'upstream/master' into features/keybindings 2017-10-17 19:37:14 +01:00
Matt C
638e03856b Initial keybinding functionality + documentation
Todo:
- allow user to specify whether to use alt or meta key (relatively easy to implement)
- keybinding icon for about pane
2017-10-17 19:36:51 +01:00
n1474335
599fefb39b Fixed 'Parse URI' operation and improved error handling from worker 2017-10-13 11:29:22 +00:00
n1474335
e5a32ac57d Added links to Gitter chat room 2017-10-13 09:19:16 +00:00
n1474335
6234afc119 Added disassembly examples to README and index.html 2017-10-04 23:08:16 +01:00
n1474335
90763dee6a Added 'Register' example to FAQ 2017-09-28 19:45:29 +00:00
n1474335
ab7cc878c3 Removed debug code 2017-09-28 18:40:29 +00:00
n1474335
877ab57f0a Multiple Register operations can now be called in a single recipe 2017-09-28 18:39:35 +00:00
n1474335
e2ac297102 Register values now displayed in the recipe 2017-09-28 17:35:52 +00:00
n1474335
d54d7011d9 Removed excess auto-baking on input load from URI 2017-09-27 15:44:00 +00:00
n1474335
db98e56e72 Reduced extraneous auto bakes 2017-09-22 17:33:46 +00:00
n1474335
e2cae035f2 Accessibility checks are now made before trying to access local storage. Fixes #174. 2017-09-20 22:26:47 +01:00
n1474335
e42b19d324 Removed excess auto-baking 2017-09-20 01:16:15 +01:00
n1474335
9028761821 Loading message fade and cancelBake bugfix 2017-09-20 00:48:37 +01:00
n1474335
f6b52b7c82 Operations can now set options from within the worker 2017-09-20 00:37:57 +01:00
n1474335
13f07abb8a Highlighting now works with the web worker 2017-09-19 23:34:03 +01:00
n1474335
8c960f0661 Moved worker handling code from App.js to WorkerWaiter.js 2017-09-17 19:27:02 +01:00
n1474335
d3246b7c8b Merged upstream master 2017-09-17 14:53:17 +01:00
n1474335
c93edec55b Switched to val-loader and compiling MetaConfig 2017-09-17 13:47:33 +01:00
n1474335
8fa6f3f45c Fixed bug where clicking up and down arrows on numeric inputs would not trigger an auto-bake 2017-09-05 16:51:57 +00:00
Marcus Bointon
9545205f19
Optimise PNGs 2017-09-04 12:22:12 +02:00
n1474335
d68523a54e Added status message mechanism for the Worker to report to the app 2017-08-25 01:24:12 +01:00
n1474335
a4aee761c2 Added module and threading support for the inline version. 2017-08-25 00:25:49 +01:00
n1474335
cc44be7ef9 Fixed recipe saving 2017-08-21 15:25:35 +00:00
n1474335
e0eb972a54 Operations with no arguments can now be added to the recipe without causing errors 2017-08-18 16:12:49 +00:00
n1474335
19c54a99cd Improved web app title construction 2017-08-18 16:01:55 +00:00
n1474335
9d60ec22ee Updated links in index.html 2017-08-18 15:55:04 +01:00
n1474335
cf1ba60a10 Added new 'pretty' recipe format to make URLs more readable 2017-08-15 16:26:42 +00:00
n1474335
d4d7bcab7a Added GeoCities theme 2017-08-10 12:35:30 +00:00
n1474335
a61cf6a68a Added module framework 2017-08-09 20:09:23 +01:00
n1474335
81f2a460ed Added apploaded event to signify when the app has completed loading 2017-08-08 13:08:06 +00:00
n1474335
ab1c9e27dc Added more loading messages 2017-08-03 10:57:54 +00:00
n1474335
e8e5eb9c53 Fixed some edge cases for popover triggering 2017-08-01 19:23:30 +00:00
n1474335
a15034b03e Merge branch 'bug/text-overflow' of https://github.com/artemisbot/CyberChef into artemisbot-bug/text-overflow 2017-08-01 15:40:31 +00:00
n1474335
9f19afc943 Removed auto-bake threshold as long bakes can now be cancelled manually 2017-07-30 12:51:21 +01:00
Matt C
9ee0964d0e Fixed hover issue - now allows scrolling 2017-07-29 00:45:41 +01:00
Matt C
33ecbfa95b Fixed arrow issue 2017-07-28 21:47:47 +01:00
n1474335
e977a1006c Merge branch 'master' into feature-threading 2017-07-28 16:55:07 +01:00
n1474335
f1ebab0c2d Added the ability to cancel bakes 2017-07-28 16:38:53 +01:00
n1474335
98884d851a Added staleness indicator to the output 2017-07-28 15:43:23 +01:00
n1474335
78d0369e71 Added loader for long bakes and improved initial loading sequence 2017-07-28 14:43:44 +01:00
n1474335
7a56af8ffa Page title changes to reflect recipe 2017-07-27 15:33:24 +00:00
n1474335
ed2bfbd27c Added structured data to help search engines 2017-07-27 15:33:01 +00:00
Matt C
90ed62add2 Fixes gchq/CyberChef#137
Changes data-trigger to focus so scrolling works and sets max height.
2017-07-25 11:49:23 +01:00
n1474335
d46e279933 Added link to 'Last build' notice showing commits since last release 2017-07-24 16:38:38 +00:00
n1474335
5f1c88104d Introduced key-spacing eslint rule 2017-07-24 14:55:48 +00:00
n1474335
a61df0832f Updated dependencies and linted 2017-07-24 13:49:16 +00:00
n1474335
c773edceb9 Added BCD operations with tests 2017-07-19 15:29:37 +00:00
n1474335
cda557e1b9 Removed sessionStorage as it is no longer used and marginally affects performance 2017-07-18 14:28:51 +00:00
n1474335
cc3aad17e1 OperationConfig now loaded into App via value-loader so that operation code is only included in the worker 2017-07-16 23:33:47 +01:00
n1474335
6c8da6b070 Added ellipsis to overflowing args 2017-07-13 15:11:21 +00:00
n1474335
72ec9df1b1 Fixed option naming conventions 2017-07-12 14:34:45 +00:00
n1474335
2555de7712 Fixed bug in firefox where recipes containing an = character would not load from the URL 2017-07-12 12:49:10 +00:00
n1474335
7e310a8de7 Moved file switch listener to correct block 2017-07-07 13:27:47 +00:00
n1474335
c460c2bf6b Replaced hexToByteArray with fromHex and byteArrayToHex with toHex. Switched displayFilesAsHTML operation to use template strings and introduced markup formatting method. 2017-07-07 13:23:58 +00:00
n1474335
760ab688b2 Create ChefWorker and move bake process into it 2017-07-05 00:14:47 +01:00
n1474335
ff78c72d54 Configured webpack-dev-server 2017-07-03 23:15:57 +01:00
n1474335
2400de337b Merge branch 'unzipmod' of https://github.com/bwhitn/CyberChef into bwhitn-unzipmod 2017-07-03 15:28:12 +00:00
n1474335
61c799447b Improved banner CSS 2017-07-03 15:18:47 +00:00
bwhitn
4143bba89f This adds the ability to move the file data from Utils.displayFilesAsHTML to the input. 2017-07-01 00:40:22 -04:00
n1474335
df1405e998 Fixed mildly infuriating bug where the preloader rings overlap 2017-06-26 21:47:57 +01:00
n1474335
4363da534d Updated links to new hash variant and cleaned up About and Option panes 2017-06-16 15:36:42 +00:00
n1474335
00e7d8a390 The recipe and input are now stored in the hash part of the URL 2017-06-16 11:04:35 +00:00
n1474335
e7f5b17184 Manual bake now triggers when recipes are loaded from the URL. Fixes #93. 2017-06-09 15:36:15 +00:00
n1474335
fef446687a Loading messages won't repeat as often and cycle more slowly 2017-06-09 15:21:39 +00:00
n1474335
57dcd961d5 Option selects now default to the first option if not previously set 2017-05-24 10:29:47 +01:00
n1474335
83878d6b05 Update ControlsWaiter.js 2017-05-23 16:53:37 +01:00
n1474335
9055fc72d2 Added Boostrap grid CSS 2017-05-23 13:09:55 +01:00
n1474335
347adf688a Added loading messages to preloader 2017-05-19 16:23:52 +00:00
n1474335
5e79187176 Added ico and removed tiff from supported image types 2017-05-19 12:58:42 +00:00
n1474335
491a82cd67 Added 'Render Image' operation 2017-05-19 11:15:48 +00:00
n1474335
ad18d84f14 Fix option defaults and compile message formatting 2017-05-19 00:10:36 +01:00
n1474335
2b3e471f96 Added version number to About/Support pane 2017-05-18 23:40:53 +01:00
n1474335
488d54493a Added modern browser warning for theme support 2017-05-18 23:29:04 +01:00
n1474335
a418f63a44 Added postcss-loader to provide fallbacks for older browsers 2017-05-18 23:24:24 +01:00
n1474335
e4ad7768d5 Finalised the dark theme 2017-05-17 23:02:52 +01:00
n1474335
823b276ef5 Changed bootstrap-sass back to bootstrap (with less). Theme now loads before the preloader is shown. 2017-05-13 16:45:19 +01:00
n1474335
280f1ee2df Dark theme tweaks and improvements 2017-05-07 01:13:47 +01:00
n1474335
0dc72d8301 Merged master 2017-05-06 16:22:25 +01:00
n1474335
6abd10f9e2 Tidying codebase 2017-05-06 16:12:09 +01:00
n1474335
5efe9bd91d Merge branch 'prefer-const' of https://github.com/graingert/CyberChef into graingert-prefer-const 2017-05-06 14:11:38 +01:00
n1474335
e9c3bebfff Fixed lint error 2017-05-06 13:59:33 +01:00
n1474335
03fc22d3da Merge conflicts 2017-05-06 13:47:26 +01:00
toby
6122e33f4f Removed debounced autobake & stop disabling input 2017-05-03 10:35:15 -04:00
Thomas Grainger
b365ce3195
fix the first 100 prefer-const errors 2017-05-03 00:41:01 +01:00
Thomas Grainger
0a3233d289
move spider images to .json file 2017-05-03 00:41:01 +01:00
Thomas Grainger
15aea9e9ea
auto-fix prefer-const 2017-05-03 00:41:01 +01:00
n1474335
80cdf0c014 Merge conflict 2017-05-02 23:03:28 +01:00
n1474335
d1d394eec7 Fix search-results layout bug. 2017-05-02 20:56:57 +01:00
Thomas Grainger
d05543db30
manual fixes 2017-04-28 16:45:02 +01:00
Thomas Grainger
b33f73ac9a
autofix no-var 2017-04-28 16:45:00 +01:00
n1474335
e4c5c4a901 Fixed bug where popovers on operations stopped working after the operation was dragged into the recipe. 2017-04-27 09:10:18 +00:00
n1474335
39f36c9184 Removed excess auto-baking when an operation is added to the recipe. Fixes #120. 2017-04-26 11:05:44 +00:00
n1474335
2e4076bb75 Added option to change the theme. 2017-04-25 00:21:38 +01:00
n1474335
d71ac2e894 Moved from Sass to CSS with custom properties, allowing for dynamic theme changes. 2017-04-24 23:59:35 +01:00
n1474335
4375a151dd BUGFIX #119: Recipe names are now correctly escaped. 2017-04-24 11:53:55 +00:00
toby
50784f2600 Debounce autobake in the web app.
Added debounce with guidance from the underscore.js implementation:
e944e0275a/underscore.js (L880)
2017-04-23 13:41:28 -04:00
toby
21c0fed833 Fix bug: baking error did not reset baking status 2017-04-23 13:14:59 -04:00
n1474335
e3f41fea9c Developing a dark theme. 2017-04-23 17:09:12 +01:00
toby
a13e2468db Added UI loading indications to the HTML app 2017-04-21 20:04:12 -04:00
toby
c39622ed1e Add support for async ops using async/await 2017-04-21 17:48:42 -04:00
n1474335
a4d93f23d6 Added preloader to hide elements before they are correctly rendered 2017-04-15 20:46:57 +01:00
n1474335
e0e5670d0e Styles rewritten in a modular format with themable properties stored in variables. 2017-04-13 17:59:37 +01:00
n1474335
e120422b05 Styles now imported through Sass. Less removed. 2017-04-09 14:06:59 +01:00
n1474335
d9006d6e37 Merge pull request #110 from artemisbot/feature/accessibility
Made changes to fix accessibility errors
2017-04-07 23:10:42 +01:00
n1474335
2a07999db6 BUGFIX #98: Auto-Bake now triggers when operations are re-ordered. 2017-04-07 22:23:23 +01:00
n1474335
abd05f5105 Fixed popover bug in search and removed popovers when favourites are dragged out. 2017-04-07 21:50:53 +01:00
Matt C
44d2e100bd Made changes to fix accessibility errors
Still some warnings and notices, but they are inconsequential.
2017-04-07 17:00:32 +01:00
n1474335
720b7a3e3f Removed stats.txt functionality as it doesn't add much. 2017-03-29 21:51:42 +01:00
n1474335
06d4002c6b Fixed CanvasComponents not being available to operation output code. 2017-03-27 19:43:50 +01:00
n1474335
ed21dff88f Fixed 'Diff' imports and added test 2017-03-27 19:39:04 +01:00
n1474335
559e32a16a Merged upstream master 2017-03-27 18:41:23 +01:00
n1474335
97d41fd50a Restructured and fixed inliner. 2017-03-27 16:08:36 +01:00
n1474335
9bd11dc7ad UglifyJS now invoked by webpack instead of Grunt 2017-03-23 18:41:36 +00:00
n1474335
131b3a83c1 Converted all modules from CommonJS to ES6 2017-03-23 17:52:20 +00:00
n1474335
0f2a5014be Restructured src files into a more logical hierarchy 2017-03-23 00:33:40 +00:00