diff --git a/asset-manifest.json b/asset-manifest.json
index 2c4c82d..84e377c 100644
--- a/asset-manifest.json
+++ b/asset-manifest.json
@@ -1,14 +1,14 @@
{
"files": {
"main.css": "/static/css/main.5f361e03.chunk.css",
- "main.js": "/static/js/main.dd06e156.chunk.js",
- "main.js.map": "/static/js/main.dd06e156.chunk.js.map",
+ "main.js": "/static/js/main.de35307b.chunk.js",
+ "main.js.map": "/static/js/main.de35307b.chunk.js.map",
"runtime-main.js": "/static/js/runtime-main.e9d18258.js",
"runtime-main.js.map": "/static/js/runtime-main.e9d18258.js.map",
"static/js/2.44826a83.chunk.js": "/static/js/2.44826a83.chunk.js",
"static/js/2.44826a83.chunk.js.map": "/static/js/2.44826a83.chunk.js.map",
"index.html": "/index.html",
- "precache-manifest.6bf9e438ea15a2c385e05f89b9c0ed4b.js": "/precache-manifest.6bf9e438ea15a2c385e05f89b9c0ed4b.js",
+ "precache-manifest.4f06a485c4ba3ce9740f1aa301951478.js": "/precache-manifest.4f06a485c4ba3ce9740f1aa301951478.js",
"service-worker.js": "/service-worker.js",
"static/css/main.5f361e03.chunk.css.map": "/static/css/main.5f361e03.chunk.css.map",
"static/js/2.44826a83.chunk.js.LICENSE.txt": "/static/js/2.44826a83.chunk.js.LICENSE.txt",
@@ -18,6 +18,6 @@
"static/js/runtime-main.e9d18258.js",
"static/js/2.44826a83.chunk.js",
"static/css/main.5f361e03.chunk.css",
- "static/js/main.dd06e156.chunk.js"
+ "static/js/main.de35307b.chunk.js"
]
}
\ No newline at end of file
diff --git a/index.html b/index.html
index 3e6b9ba..4362745 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-
React App You need to enable JavaScript to run this app.
\ No newline at end of file
+React App You need to enable JavaScript to run this app.
\ No newline at end of file
diff --git a/precache-manifest.4f06a485c4ba3ce9740f1aa301951478.js b/precache-manifest.4f06a485c4ba3ce9740f1aa301951478.js
new file mode 100644
index 0000000..2b91848
--- /dev/null
+++ b/precache-manifest.4f06a485c4ba3ce9740f1aa301951478.js
@@ -0,0 +1,30 @@
+self.__precacheManifest = (self.__precacheManifest || []).concat([
+ {
+ "revision": "c24766b986ad619395fbccef5a7a334b",
+ "url": "/index.html"
+ },
+ {
+ "revision": "d0c62940b5243b2f3aa2",
+ "url": "/static/css/main.5f361e03.chunk.css"
+ },
+ {
+ "revision": "612eba33572c03bde608",
+ "url": "/static/js/2.44826a83.chunk.js"
+ },
+ {
+ "revision": "0749163b59fbee32225059cb60c18af6",
+ "url": "/static/js/2.44826a83.chunk.js.LICENSE.txt"
+ },
+ {
+ "revision": "d0c62940b5243b2f3aa2",
+ "url": "/static/js/main.de35307b.chunk.js"
+ },
+ {
+ "revision": "d271f6cd182fc1f92a38",
+ "url": "/static/js/runtime-main.e9d18258.js"
+ },
+ {
+ "revision": "5d5d9eefa31e5e13a6610d9fa7a283bb",
+ "url": "/static/media/logo.5d5d9eef.svg"
+ }
+]);
\ No newline at end of file
diff --git a/service-worker.js b/service-worker.js
index 6eb5f3a..9ad8301 100644
--- a/service-worker.js
+++ b/service-worker.js
@@ -14,7 +14,7 @@
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
- "/precache-manifest.6bf9e438ea15a2c385e05f89b9c0ed4b.js"
+ "/precache-manifest.4f06a485c4ba3ce9740f1aa301951478.js"
);
self.addEventListener('message', (event) => {
diff --git a/static/js/main.de35307b.chunk.js b/static/js/main.de35307b.chunk.js
new file mode 100644
index 0000000..53dd384
--- /dev/null
+++ b/static/js/main.de35307b.chunk.js
@@ -0,0 +1,2 @@
+(this["webpackJsonpmaterial-pg-01"]=this["webpackJsonpmaterial-pg-01"]||[]).push([[0],{62:function(e,t,a){e.exports=a(75)},67:function(e,t,a){},68:function(e,t,a){e.exports=a.p+"static/media/logo.5d5d9eef.svg"},69:function(e,t,a){},75:function(e,t,a){"use strict";a.r(t);var n=a(0),i=a.n(n),r=a(9),o=a.n(r),c=(a(67),a(68),a(69),a(45),a(4)),s=a(110),l=a(109),u=a(106),m=a(107),h=a(103),d=a(108),p=a(34),v=a.n(p),g=a(76),f=a(104),b=a(105);Object(f.a)((function(e){return{paper:{marginTop:e.spacing(8),display:"flex",flexDirection:"column",alignItems:"center"},avatar:{margin:e.spacing(1),backgroundColor:e.palette.secondary.main},form:{width:"100%",marginTop:e.spacing(1)}}})),Object(c.a)({root:{marginRight:8,"& .MuiInputBase-root.Mui-disabled":{color:"rgba(0, 0, 0, 0.6)"}}})(m.a);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));var k=a(42),y=a(43),B=a(46),E=a(44);function C(){return i.a.createElement(g.a,{variant:"body2",color:"textSecondary",align:"center"},"Copyright \xa9 ",i.a.createElement(h.a,{color:"inherit",href:"https://audible-tools.github.io/"},"audible-tools")," ",(new Date).getFullYear(),".")}var x=function(e){Object(B.a)(a,e);var t=Object(E.a)(a);function a(e){var n;return Object(k.a)(this,a),(n=t.call(this,e)).DarkerDisabledTextField=Object(c.a)({root:{marginRight:8,"& .MuiInputBase-root.Mui-disabled":{color:"rgba(0, 0, 0, 0.6)"}}})(m.a),n.setChecksum=function(e){e.length>40||n.setState({checksum:e})},n.isChecksumValid=function(){var e=n.state.checksum;return RegExp("[a-f0-9]{40}").test(e)},n.requestActivationBytes=function(){var e=n.state.checksum;fetch("https://aaxactivationserviceapi.azurewebsites.net/api/v2/activation/"+e).then((function(e){return e.json()})).then((function(e){var t=e.success;e.activationBytes;!0===t?n.setState({activationBytes:e.activationBytes}):n.setState({activationBytes:"UNKNOWN"})}),(function(e){n.setState({activationBytes:"UNKNOWN"})}))},n.state={checksum:""},n}return Object(y.a)(a,[{key:"render",value:function(){var e=this,t=this.props.classes,a=this.state,n=a.checksum,r=a.activationBytes;return i.a.createElement(b.a,{component:"main",maxWidth:"xs"},i.a.createElement(u.a,null),i.a.createElement("div",{className:t.paper},i.a.createElement(s.a,{className:t.avatar},i.a.createElement(v.a,null)),i.a.createElement(g.a,{component:"h1",variant:"h5"},"AAX Checksum Resolver"),i.a.createElement("form",{className:t.form,noValidate:!0},i.a.createElement(m.a,{error:!this.isChecksumValid(),variant:"outlined",margin:"normal",required:!0,fullWidth:!0,id:"checksum",label:"AAX Checksum",name:"checksum",autoComplete:"checksum",autoFocus:!0,onChange:function(t){return e.setChecksum(t.target.value)},value:n}),i.a.createElement(l.a,{fullWidth:!0,variant:"contained",onClick:function(){e.requestActivationBytes()},disabled:!this.isChecksumValid()},"Request Activation Bytes"),i.a.createElement(this.DarkerDisabledTextField,{value:r,disabled:!0,variant:"outlined",margin:"normal",fullWidth:!0,id:"activationBytes",label:r?"":"Activation Bytes",name:"activationBytes",autoComplete:"activationBytes","aria-readonly":!0,InputProps:{readOnly:!0}}))),i.a.createElement(d.a,{mt:1},i.a.createElement(C,null)))}}]),a}(i.a.Component),w=Object(c.a)((function(e){return{paper:{marginTop:e.spacing(8),display:"flex",flexDirection:"column",alignItems:"center"},avatar:{margin:e.spacing(1),backgroundColor:e.palette.secondary.main},form:{width:"100%",marginTop:e.spacing(1)}}}))(x);o.a.render(i.a.createElement(w,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()})).catch((function(e){console.error(e.message)}))}},[[62,1,2]]]);
+//# sourceMappingURL=main.de35307b.chunk.js.map
\ No newline at end of file
diff --git a/static/js/main.de35307b.chunk.js.map b/static/js/main.de35307b.chunk.js.map
new file mode 100644
index 0000000..74c9f37
--- /dev/null
+++ b/static/js/main.de35307b.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["logo.svg","SignIn.js","serviceWorker.js","ChecksumResolver.js","index.js"],"names":["module","exports","makeStyles","theme","paper","marginTop","spacing","display","flexDirection","alignItems","avatar","margin","backgroundColor","palette","secondary","main","form","width","withStyles","root","marginRight","color","TextField","Boolean","window","location","hostname","match","Copyright","Typography","variant","align","Link","href","Date","getFullYear","ChecksumResolver","props","DarkerDisabledTextField","setChecksum","value","length","setState","checksum","isChecksumValid","state","RegExp","test","requestActivationBytes","fetch","then","res","json","result","success","activationBytes","error","classes","this","Container","component","maxWidth","CssBaseline","className","Avatar","noValidate","required","fullWidth","id","label","name","autoComplete","autoFocus","onChange","x","target","Button","onClick","disabled","aria-readonly","InputProps","readOnly","Box","mt","React","Component","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","registration","unregister","catch","console","message"],"mappings":"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","file":"static/js/main.de35307b.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.5d5d9eef.svg\";","import React, { useState } from 'react';\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport Button from '@material-ui/core/Button';\r\nimport CssBaseline from '@material-ui/core/CssBaseline';\r\nimport TextField from '@material-ui/core/TextField';\r\n\r\nimport Link from '@material-ui/core/Link';\r\nimport Box from '@material-ui/core/Box';\r\nimport LockOutlinedIcon from '@material-ui/icons/LockOutlined';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Container from '@material-ui/core/Container';\r\n\r\nfunction Copyright() {\r\n return (\r\n \r\n {'Copyright © '}\r\n \r\n Your Website\r\n {' '}\r\n {new Date().getFullYear()}\r\n {'.'}\r\n \r\n );\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n paper: {\r\n marginTop: theme.spacing(8),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n },\r\n avatar: {\r\n margin: theme.spacing(1),\r\n backgroundColor: theme.palette.secondary.main,\r\n },\r\n form: {\r\n width: '100%', // Fix IE 11 issue.\r\n marginTop: theme.spacing(1),\r\n }\r\n\r\n}));\r\n\r\nconst DarkerDisabledTextField = withStyles({\r\n root: {\r\n marginRight: 8,\r\n \"& .MuiInputBase-root.Mui-disabled\": {\r\n color: \"rgba(0, 0, 0, 0.6)\" // (default alpha is 0.38)\r\n }\r\n }\r\n})(TextField);\r\n\r\nexport default function SignIn() {\r\n const classes = useStyles();\r\n\r\n const [checksumValue, setChecksumValue] = useState(\"\");\r\n\r\n return (\r\n \r\n {/* \r\n
You clicked {count} times
\r\n
setCount(count + 1)}>\r\n Click me\r\n \r\n
*/}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n AAX Checksum Resolver\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React, { useState } from 'react';\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport Button from '@material-ui/core/Button';\r\nimport CssBaseline from '@material-ui/core/CssBaseline';\r\nimport TextField from '@material-ui/core/TextField';\r\n\r\nimport Link from '@material-ui/core/Link';\r\nimport Box from '@material-ui/core/Box';\r\nimport LockOutlinedIcon from '@material-ui/icons/LockOutlined';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Container from '@material-ui/core/Container';\r\n\r\nconst useStyles = theme => ({\r\n paper: {\r\n marginTop: theme.spacing(8),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n },\r\n avatar: {\r\n margin: theme.spacing(1),\r\n backgroundColor: theme.palette.secondary.main,\r\n },\r\n form: {\r\n width: '100%', // Fix IE 11 issue.\r\n marginTop: theme.spacing(1),\r\n }\r\n});\r\n\r\n\r\nfunction Copyright() {\r\n return (\r\n \r\n {'Copyright © '}\r\n \r\n audible-tools\r\n {' '}\r\n {new Date().getFullYear()}\r\n {'.'}\r\n \r\n );\r\n}\r\n\r\nclass ChecksumResolver extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n checksum: \"\"\r\n }\r\n }\r\n\r\n\r\n DarkerDisabledTextField = withStyles({\r\n root: {\r\n marginRight: 8,\r\n \"& .MuiInputBase-root.Mui-disabled\": {\r\n color: \"rgba(0, 0, 0, 0.6)\" // (default alpha is 0.38)\r\n }\r\n }\r\n })(TextField);\r\n\r\n setChecksum = (value) => {\r\n if (value.length > 40) {\r\n return;\r\n }\r\n this.setState({ checksum: value })\r\n }\r\n\r\n isChecksumValid = () => {\r\n const { checksum } = this.state;\r\n const regex = RegExp('[a-f0-9]{40}');\r\n const testResults = regex.test(checksum);\r\n\r\n return testResults;\r\n }\r\n\r\n requestActivationBytes = () => {\r\n const { checksum } = this.state;\r\n\r\n fetch(\"https://aaxactivationserviceapi.azurewebsites.net/api/v2/activation/\" + checksum)\r\n .then(res => res.json())\r\n .then(\r\n (result) => {\r\n const { success, activationBytes } = result;\r\n if (success === true) {\r\n this.setState({ activationBytes: result.activationBytes });\r\n }else{\r\n this.setState({ activationBytes: 'UNKNOWN' });\r\n }\r\n\r\n\r\n },\r\n (error) => {\r\n this.setState({ activationBytes: 'UNKNOWN' });\r\n // this.setState({\r\n // isLoaded: true,\r\n // error\r\n // });\r\n }\r\n )\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n const { checksum, activationBytes } = this.state;\r\n\r\n return (\r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n AAX Checksum Resolver\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withStyles(useStyles)(ChecksumResolver);","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport ChecksumResolver from './ChecksumResolver';\n\nReactDOM.render(\n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}
\ No newline at end of file