/home/techb158/balavpn.abdallabala.com/.next/cache/webpack/client-production
Edit: /home/techb158/balavpn.abdallabala.com/.next/cache/webpack/client-production/5.pack (53449B)
wpc webpack/lib/cache/PackFileCacheStrategyPackContentItems`
Compilation/modules|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\src\app\login\page.jsx|app-pages-browser Compilation/modules|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\src\app\signup\page.jsx|app-pages-browser FlagDependencyExportsPlugin|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\src\app\login\page.jsx|app-pages-browser FlagDependencyExportsPlugin|javascript/auto|C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[6].use[1]!C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\src\app\signup\page.jsx|app-pages-browserMinifierWebpackPlugin|static/chunks/app/login/page-92ff86948d98c9ae.jsMinifierWebpackPlugin|static/chunks/app/signup/page-3b97361eaf43a461.jsMinifierWebpackPlugin|static/9LLIAw9jUzdCrS2s6PGiX/_ssgManifest.jsMinifierWebpackPlugin|static/9LLIAw9jUzdCrS2s6PGiX/_buildManifest.jsRealContentHashPlugin|analyse|static/chunks/app/login/page-92ff86948d98c9ae.jsRealContentHashPlugin|analyse|static/chunks/app/signup/page-3b97361eaf43a461.jsRealContentHashPlugin|analyse|static/9LLIAw9jUzdCrS2s6PGiX/_ssgManifest.jsRealContentHashPlugin|analyse|static/9LLIAw9jUzdCrS2s6PGiX/_buildManifest.jsRealContentHashPlugin|generate|static/9LLIAw9jUzdCrS2s6PGiX/_buildManifest.jswebpack/lib/NormalModulewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource5 /* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import { useState, useEffect } from "react";
import { useRouter } from "next/navigation";
const DEMO_CREDENTIALS = [
{
role: "Platform Owner",
email: "owner@cosmic.local",
password: "cosmic123"
},
{
role: "Admin",
email: "admin@cosmic.local",
password: "admin123"
},
{
role: "Project Manager",
email: "pm@cosmic.local",
password: "pm123"
},
{
role: "Risk Owner",
email: "risk-owner@cosmic.local",
password: "risk123"
},
{
role: "Viewer",
email: "viewer@cosmic.local",
password: "view123"
}
];
export default function LoginPage() {
const router = useRouter();
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
const [error, setError] = useState("");
const [loading, setLoading] = useState(false);
const [ssoEnabled, setSsoEnabled] = useState(false);
const [showDemo, setShowDemo] = useState(false);
useEffect(()=>{
fetch("/api/auth/sso").then((res)=>{
if (res.status !== 501) setSsoEnabled(true);
}).catch(()=>{});
}, []);
async function handleSubmit(event) {
event.preventDefault();
setError("");
setLoading(true);
try {
const res = await fetch("/api/auth/login", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
email,
password
})
});
if (!res.ok) {
const data = await res.json();
throw new Error(data.error || "Login failed");
}
router.push("/dashboard");
} catch (err) {
setError(err.message);
setLoading(false);
}
}
function fillDemo(email, password) {
setEmail(email);
setPassword(password);
}
return /*#__PURE__*/ _jsx("main", {
className: "shell",
style: {
display: "flex",
alignItems: "center",
justifyContent: "center",
minHeight: "100vh"
},
children: /*#__PURE__*/ _jsxs("div", {
className: "panel",
style: {
maxWidth: 420,
width: "100%",
padding: 32
},
children: [
/*#__PURE__*/ _jsx("div", {
className: "brand",
style: {
fontSize: 24,
marginBottom: 24,
textAlign: "center"
},
children: "COSMIC AI-Risk SaaS"
}),
/*#__PURE__*/ _jsx("h2", {
style: {
marginBottom: 8
},
children: "Sign in"
}),
/*#__PURE__*/ _jsx("p", {
className: "muted",
style: {
marginBottom: 24
},
children: "Enter your credentials to access the dashboard"
}),
error && /*#__PURE__*/ _jsx("div", {
style: {
background: "var(--blocked-soft)",
color: "var(--blocked)",
padding: "8px 12px",
borderRadius: 8,
marginBottom: 16,
fontSize: 14
},
children: error
}),
/*#__PURE__*/ _jsxs("form", {
onSubmit: handleSubmit,
children: [
/*#__PURE__*/ _jsxs("div", {
style: {
marginBottom: 16
},
children: [
/*#__PURE__*/ _jsx("label", {
style: {
display: "block",
marginBottom: 4,
fontSize: 14,
fontWeight: 600
},
children: "Email"
}),
/*#__PURE__*/ _jsx("input", {
type: "email",
value: email,
onChange: (e)=>setEmail(e.target.value),
required: true,
style: {
width: "100%",
padding: "10px 12px",
borderRadius: 8,
border: "1px solid var(--line)",
fontSize: 16,
boxSizing: "border-box"
}
})
]
}),
/*#__PURE__*/ _jsxs("div", {
style: {
marginBottom: 24
},
children: [
/*#__PURE__*/ _jsx("label", {
style: {
display: "block",
marginBottom: 4,
fontSize: 14,
fontWeight: 600
},
children: "Password"
}),
/*#__PURE__*/ _jsx("input", {
type: "password",
value: password,
onChange: (e)=>setPassword(e.target.value),
required: true,
style: {
width: "100%",
padding: "10px 12px",
borderRadius: 8,
border: "1px solid var(--line)",
fontSize: 16,
boxSizing: "border-box"
}
})
]
}),
/*#__PURE__*/ _jsx("button", {
type: "submit",
className: "button primary",
style: {
width: "100%",
padding: "12px 24px",
fontSize: 16
},
disabled: loading,
children: loading ? "Signing in..." : "Sign in"
})
]
}),
ssoEnabled && /*#__PURE__*/ _jsxs(_Fragment, {
children: [
/*#__PURE__*/ _jsxs("div", {
style: {
display: "flex",
alignItems: "center",
gap: 12,
margin: "16px 0"
},
children: [
/*#__PURE__*/ _jsx("hr", {
style: {
flex: 1,
border: "none",
borderTop: "1px solid var(--line)"
}
}),
/*#__PURE__*/ _jsx("span", {
className: "muted",
style: {
fontSize: 12
},
children: "OR"
}),
/*#__PURE__*/ _jsx("hr", {
style: {
flex: 1,
border: "none",
borderTop: "1px solid var(--line)"
}
})
]
}),
/*#__PURE__*/ _jsx("a", {
href: "/api/auth/sso",
className: "button secondary",
style: {
width: "100%",
padding: "12px 24px",
fontSize: 16,
textAlign: "center"
},
children: "Sign in with SSO"
})
]
}),
/*#__PURE__*/ _jsxs("div", {
style: {
marginTop: 16
},
children: [
/*#__PURE__*/ _jsx("button", {
onClick: ()=>setShowDemo(!showDemo),
style: {
background: "none",
border: "none",
color: "var(--green)",
cursor: "pointer",
fontSize: 14,
width: "100%",
textAlign: "center"
},
children: showDemo ? "Hide demo credentials" : "Show demo credentials"
}),
showDemo && /*#__PURE__*/ _jsxs("div", {
style: {
marginTop: 12,
fontSize: 13,
background: "var(--bg-soft)",
borderRadius: 8,
padding: 12
},
children: [
/*#__PURE__*/ _jsx("p", {
className: "muted",
style: {
marginBottom: 8
},
children: "Click a row to auto-fill:"
}),
DEMO_CREDENTIALS.map((d)=>/*#__PURE__*/ _jsxs("div", {
onClick: ()=>fillDemo(d.email, d.password),
style: {
cursor: "pointer",
padding: "6px 8px",
borderRadius: 6,
display: "flex",
justifyContent: "space-between",
alignItems: "center"
},
onMouseEnter: (e)=>e.currentTarget.style.background = "var(--line)",
onMouseLeave: (e)=>e.currentTarget.style.background = "transparent",
children: [
/*#__PURE__*/ _jsx("span", {
style: {
fontWeight: 600
},
children: d.role
}),
/*#__PURE__*/ _jsx("span", {
className: "muted",
style: {
fontSize: 12
},
children: d.email
})
]
}, d.email))
]
})
]
}),
/*#__PURE__*/ _jsx("p", {
style: {
marginTop: 16,
textAlign: "center",
fontSize: 14
},
children: /*#__PURE__*/ _jsx("a", {
href: "/signup",
style: {
color: "var(--green)"
},
children: "Create an account"
})
})
]
})
});
}
exportsTypenamespace
javascript/autoapp-pages-browser C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\src\app\loginaliasfullySpecifiedmainFieldsfallback`$server-only$client-only$next/dist/compiled/client-only$next/dist/compiled/server-only C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\head.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\image.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\constants.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\router.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dynamic.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\script.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\link.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\form.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\navigation.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\headers.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\og.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\server.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\document.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\app.jsreact$react/compiler-runtime$react/jsx-dev-runtime$react/jsx-runtime$react-dom$react-dom/client$react-dom/server$react-dom/server.browser$react-dom/server.edge$react-dom/static$react-dom/static.browser$react-dom/static.edge$react-server-dom-webpack/client$react-server-dom-webpack/server$react-server-dom-webpack/server.node$react-server-dom-webpack/static$@vercel/turbopack-ecmascript-runtime/browser/dev/hmr-client/hmr-client.tsnextnext/dist/compiled/server-only/indexnext/dist/compiled/client-only/indexnext/dist/client/components/noop-headnext/dist/api/imagenext/dist/api/constantsnext/dist/api/routernext/dist/api/app-dynamicnext/dist/api/scriptnext/dist/client/app-dir/linknext/dist/client/app-dir/formnext/dist/api/navigationnext/dist/api/headersnext/dist/api/ognext/dist/api/servernext/dist/api/documentnext/dist/api/appnext/dist/compiled/reactnext/dist/compiled/react/compiler-runtimenext/dist/compiled/react/jsx-dev-runtimenext/dist/compiled/react/jsx-runtimenext/dist/compiled/react-domnext/dist/compiled/react-dom/clientnext/dist/compiled/react-dom/server.browsernext/dist/build/webpack/alias/react-dom-server.jsnext/dist/compiled/react-dom/static.browsernext/dist/compiled/react-dom/static.edgenext/dist/compiled/react-server-dom-webpack/client.browsernext/dist/compiled/react-server-dom-webpack/server.browsernext/dist/compiled/react-server-dom-webpack/server.nodenext/dist/compiled/react-server-dom-webpack/static.browsernext/dist/client/dev/noop-turbopack-hmr C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next
browsermodulemain`assertbufferconstantscryptodomainhttphttpsospathpunycodeprocessquerystringstreamstring_decodersystimersttyutilvmzlibeventssetImmediate C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\assert\assert.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\buffer\index.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\constants-browserify\constants.json C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\crypto-browserify\index.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\domain-browser\index.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\stream-http\index.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\https-browserify\index.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\os-browserify\browser.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\path-browserify\index.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\punycode\punycode.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\polyfills\process.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\querystring-es3\index.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\stream-browserify\index.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\string_decoder\string_decoder.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\util\util.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\timers-browserify\main.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\tty-browserify\index.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\vm-browserify\index.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\browserify-zlib\index.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\events\events.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\compiled\setimmediate\setImmediate.js~`cacheableparsedfileDependenciescontextDependenciesmissingDependenciesbuildDependenciesvalueDependencieshashassetsassetsInforscstrictexportsArgumenttopLevelDeclarationssnapshotwebpack/lib/util/LazySet C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\node_modules\next\dist\build\webpack\loaders\next-swc-loader.jswebpack/DefinePlugin_hashff9a23f26e373543891829e2typeactionIdsisClientRefclient__webpack_exports__DEMO_CREDENTIALS*default*LoginPagewebpack/lib/FileSystemInfoSnapshot ԃyB C:\Users\abd_b\OneDrive\Desktop\COSMIC AI-Risk Dashboard\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\application\saas-app\src\app\login\page.jsxsafeTimetimestamp! CσyB BσyB99d643ae16073dbdwebpack/lib/dependencies/HarmonyCompatibilityDependency
d webpack/lib/dependencies/ConstDependency`=@
a=@ A
`,A
`,webpack/lib/dependencies/HarmonyExportHeaderDependencyA0 5 A! 5
a @G `*webpack/lib/dependencies/HarmonyImportSideEffectDependencyreact/jsx-runtime
a=@ react
`,next/navigation
`,webpack/lib/dependencies/HarmonyExportSpecifierDependency`default
a @G webpack/lib/dependencies/HarmonyImportSpecifierDependency
useRouter
AZ c
c
useState
A
c!!&
A
c"$",
A
c##&
A
c$"$*
AL T
c%(%0
A
c&$&,
useEffect
A
c''
jsx_jsx
A
cII
jsxs_jsxs
A
cQ Q%
Ao
s
cYY"
A
cbb"
A~
chh"
A
co'o+
AB G
czz#
A
c}&}+
A
@ `.@ `2
Ak o
@ `.@ `2
A
@ `&@ `+
A~
@ `.@ `2
AN R
@ `.@ `2
A
@ `&@ `*
A
@ `,@ `1
Fragment_Fragment
A
4
@ `2@ `;
A! &
@ `&@ `+
A
@ `.@ `2
A
@ `.@ `2
AF" J"
@ `.@ `2
A# #
{{
@ `&@ `*
A% &