g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const ScrollTo=(e, options)=> {\r\n e.preventDefault();\r\n\r\n var start = window.pageYOffset,\r\n opt = {\r\n duration: options.duration || 500,\r\n offset: options.offset || 0,\r\n callback: function () { },\r\n easing: options.easing || easeInOutQuad\r\n },\r\n distance = document.getElementById(e.target.getAttribute('href')).getBoundingClientRect().top ,\r\n duration = typeof opt.duration === 'function' ? opt.duration(distance) : opt.duration,\r\n timeStart, timeElapsed;\r\n requestAnimationFrame(function (time) {\r\n timeStart = time;\r\n loop(time);\r\n });\r\n\r\n function loop(time) {\r\n timeElapsed = time - timeStart;\r\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration));\r\n if (timeElapsed < duration) {\r\n requestAnimationFrame(loop);\r\n } else\r\n end();\r\n }\r\n\r\n function end() {\r\n window.scrollTo(0, start + distance);\r\n if (typeof opt.callback === 'function') \r\n opt.callback();\r\n }\r\n\r\n function easeInOutQuad(t, b, c, d) {\r\n t /= d / 2;\r\n if (t < 1) return c / 2 * t * t * t + b;\r\n t -= 2;\r\n return c / 2 * (t * t * t + 2) + b;\r\n }\r\n}","\r\nconst Logo = () => {\r\n return \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\n{/* \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 Logo;","import { useRef } from 'react';\r\nimport { ScrollTo } from '../fns/scrollTo';\r\nimport Logo from './logo';\r\n\r\nconst Header = () => {\r\n const refNav = useRef();\r\n const refToggle = useRef();\r\n const closeNav=()=>\r\n { \r\n refToggle.current.classList.remove('active');\r\n refNav.current.classList.remove('active');\r\n }\r\n const openNav=()=>\r\n { \r\n refToggle.current.classList.add('active');\r\n refNav.current.classList.add('active');\r\n\r\n }\r\n const handleToggle = (e) => {\r\n e.preventDefault();\r\n\r\n if (refToggle.current.classList.contains('active')) {\r\n closeNav()\r\n } else {\r\n openNav()\r\n }\r\n };\r\n const handleClick=(e)=>\r\n {\r\n e.preventDefault();\r\n closeNav()\r\n ScrollTo(e, { duration: 1000 })\r\n }\r\n\r\n return (\r\n <>\r\n \r\n >\r\n );\r\n};\r\n\r\nexport default Header;\r\n","\r\nimport Slider from \"react-slick\";\r\nconst Home = ({ content }) => { \r\n\r\n return <>\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
{content.carousel.map((img, index) => \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 Home;","const About = ({content}) => {\r\n return \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {/*
Vernacular is an Australian commercial development property company with a track record of over 15 years of industry experience.
\r\n
Our primary focus is on conceptualising and delivering real estate projects that not only meet the immediate needs of our tenants but also partners and investors. Our commitment to excellence has led us to success in diverse sectors, including retail, commercial, and mixed-use properties.
*/}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {/* */}\r\n \r\n ;\r\n}\r\nexport default About;","import { useRef } from \"react\";\r\n\r\nconst Toggle = ({ title, children,open }) => {\r\n const refToggle=useRef()\r\n const refSlide=useRef()\r\n const refParent=useRef()\r\n const refTitle=useRef()\r\n const handleToggle=(e)=>{\r\n const h=refToggle.current.clientHeight;\r\n \r\n refSlide.current.style.height=`${h}px`\r\n if(refToggle.current.classList.contains('active'))\r\n { refParent.current.classList.remove('active')\r\n refToggle.current.classList.remove('active')\r\n refTitle.current.classList.remove('active')\r\n setTimeout(()=>{\r\n refSlide.current.style.height=`0`\r\n },1)\r\n \r\n }\r\n else\r\n {\r\n refParent.current.classList.add('active')\r\n refToggle.current.classList.add('active')\r\n refTitle.current.classList.add('active')\r\n setTimeout(()=>{\r\n refSlide.current.style.height=`auto`\r\n },400)\r\n\r\n }\r\n\r\n }\r\n return \r\n
\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n
\r\n
;\r\n}\r\n\r\n\r\nexport default Toggle;","import Toggle from \"./toggle\";\r\n\r\nconst Grid = ({cls,obj}) => {\r\n return \r\n
\r\n
{obj.Name}, {obj.StateAbbr} \r\n
{obj.address}
\r\n
{obj.ProjectSizeType}}>\r\n\r\n
\r\n {obj.ProjectValue && PROJECT VALUE
{obj.ProjectValue}
}\r\n {/* {obj.ProjectSizeType && Size / Type
{obj.ProjectSizeType}
} */}\r\n {obj.Completed && Completion Date
{obj.Completed}
}\r\n {obj.CurrentTenants && Current Tenants
{obj.CurrentTenants}
}\r\n \r\n \r\n\r\n
;\r\n}\r\n\r\nexport default Grid;","import Toggle from \"./toggle\";\r\n\r\nconst Row = ({ cls, obj }) => {\r\n return \r\n\r\n\r\n
{obj.Name} {obj.Suburb}, {obj.StateAbbr}
}>\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {obj.Granline &&
}\r\n
\r\n {obj.ProjectValue &&
PROJECT VALUE
{obj.ProjectValue}
}\r\n {obj.CurrentTenants &&
Current Tenants
{obj.CurrentTenants}
}\r\n {/* {obj.ProjectSizeType &&
Size / Type
{obj.ProjectSizeType}
} */}\r\n {obj.completed &&
completed
{obj.completed}
}\r\n
\r\n
\r\n
\r\n \r\n\r\n ;\r\n}\r\n\r\nexport default Row;","import { useEffect } from \"react\";\r\nimport Grid from \"./grid\";\r\nimport Row from \"./row\";\r\n\r\n\r\n\r\nconst Projects = ({ projects ,content}) => {\r\n \r\n return <>\r\n \r\n \r\n
Our Projects \r\n \r\n
\r\n
Current PROJECTS - under construction \r\n
\r\n \r\n {\r\n projects.filter(s => s.Status=='Current').map(prj =>\r\n )\r\n }\r\n\r\n
\r\n
PAST PROJECTS \r\n \r\n {\r\n projects.filter(s => s.Status!='Current').map(prj =>\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\n\r\n >;\r\n}\r\n\r\n\r\n\r\nexport default Projects;","const Partners = ({content,logos}) => {\r\n\r\n return <>\r\n \r\n \r\n
Our Partners \r\n
\r\n
\r\n \r\n {\r\n logos.map((l,index)=>
\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\n\r\nexport default Partners;","var _excluded = [\"sitekey\", \"onChange\", \"theme\", \"type\", \"tabindex\", \"onExpired\", \"onErrored\", \"size\", \"stoken\", \"grecaptcha\", \"badge\", \"hl\", \"isolated\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nimport * as React from \"react\";\nimport PropTypes from \"prop-types\";\nvar ReCAPTCHA = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ReCAPTCHA, _React$Component);\n function ReCAPTCHA() {\n var _this;\n _this = _React$Component.call(this) || this;\n _this.handleExpired = _this.handleExpired.bind(_assertThisInitialized(_this));\n _this.handleErrored = _this.handleErrored.bind(_assertThisInitialized(_this));\n _this.handleChange = _this.handleChange.bind(_assertThisInitialized(_this));\n _this.handleRecaptchaRef = _this.handleRecaptchaRef.bind(_assertThisInitialized(_this));\n return _this;\n }\n var _proto = ReCAPTCHA.prototype;\n _proto.getCaptchaFunction = function getCaptchaFunction(fnName) {\n if (this.props.grecaptcha) {\n if (this.props.grecaptcha.enterprise) {\n return this.props.grecaptcha.enterprise[fnName];\n }\n return this.props.grecaptcha[fnName];\n }\n return null;\n };\n _proto.getValue = function getValue() {\n var getResponse = this.getCaptchaFunction(\"getResponse\");\n if (getResponse && this._widgetId !== undefined) {\n return getResponse(this._widgetId);\n }\n return null;\n };\n _proto.getWidgetId = function getWidgetId() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n return this._widgetId;\n }\n return null;\n };\n _proto.execute = function execute() {\n var execute = this.getCaptchaFunction(\"execute\");\n if (execute && this._widgetId !== undefined) {\n return execute(this._widgetId);\n } else {\n this._executeRequested = true;\n }\n };\n _proto.executeAsync = function executeAsync() {\n var _this2 = this;\n return new Promise(function (resolve, reject) {\n _this2.executionResolve = resolve;\n _this2.executionReject = reject;\n _this2.execute();\n });\n };\n _proto.reset = function reset() {\n var resetter = this.getCaptchaFunction(\"reset\");\n if (resetter && this._widgetId !== undefined) {\n resetter(this._widgetId);\n }\n };\n _proto.forceReset = function forceReset() {\n var resetter = this.getCaptchaFunction(\"reset\");\n if (resetter) {\n resetter();\n }\n };\n _proto.handleExpired = function handleExpired() {\n if (this.props.onExpired) {\n this.props.onExpired();\n } else {\n this.handleChange(null);\n }\n };\n _proto.handleErrored = function handleErrored() {\n if (this.props.onErrored) {\n this.props.onErrored();\n }\n if (this.executionReject) {\n this.executionReject();\n delete this.executionResolve;\n delete this.executionReject;\n }\n };\n _proto.handleChange = function handleChange(token) {\n if (this.props.onChange) {\n this.props.onChange(token);\n }\n if (this.executionResolve) {\n this.executionResolve(token);\n delete this.executionReject;\n delete this.executionResolve;\n }\n };\n _proto.explicitRender = function explicitRender() {\n var render = this.getCaptchaFunction(\"render\");\n if (render && this._widgetId === undefined) {\n var wrapper = document.createElement(\"div\");\n this._widgetId = render(wrapper, {\n sitekey: this.props.sitekey,\n callback: this.handleChange,\n theme: this.props.theme,\n type: this.props.type,\n tabindex: this.props.tabindex,\n \"expired-callback\": this.handleExpired,\n \"error-callback\": this.handleErrored,\n size: this.props.size,\n stoken: this.props.stoken,\n hl: this.props.hl,\n badge: this.props.badge,\n isolated: this.props.isolated\n });\n this.captcha.appendChild(wrapper);\n }\n if (this._executeRequested && this.props.grecaptcha && this._widgetId !== undefined) {\n this._executeRequested = false;\n this.execute();\n }\n };\n _proto.componentDidMount = function componentDidMount() {\n this.explicitRender();\n };\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.explicitRender();\n };\n _proto.handleRecaptchaRef = function handleRecaptchaRef(elem) {\n this.captcha = elem;\n };\n _proto.render = function render() {\n // consume properties owned by the reCATPCHA, pass the rest to the div so the user can style it.\n /* eslint-disable no-unused-vars */\n var _this$props = this.props,\n sitekey = _this$props.sitekey,\n onChange = _this$props.onChange,\n theme = _this$props.theme,\n type = _this$props.type,\n tabindex = _this$props.tabindex,\n onExpired = _this$props.onExpired,\n onErrored = _this$props.onErrored,\n size = _this$props.size,\n stoken = _this$props.stoken,\n grecaptcha = _this$props.grecaptcha,\n badge = _this$props.badge,\n hl = _this$props.hl,\n isolated = _this$props.isolated,\n childProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n /* eslint-enable no-unused-vars */\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, childProps, {\n ref: this.handleRecaptchaRef\n }));\n };\n return ReCAPTCHA;\n}(React.Component);\nexport { ReCAPTCHA as default };\nReCAPTCHA.displayName = \"ReCAPTCHA\";\nReCAPTCHA.propTypes = {\n sitekey: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n grecaptcha: PropTypes.object,\n theme: PropTypes.oneOf([\"dark\", \"light\"]),\n type: PropTypes.oneOf([\"image\", \"audio\"]),\n tabindex: PropTypes.number,\n onExpired: PropTypes.func,\n onErrored: PropTypes.func,\n size: PropTypes.oneOf([\"compact\", \"normal\", \"invisible\"]),\n stoken: PropTypes.string,\n hl: PropTypes.string,\n badge: PropTypes.oneOf([\"bottomright\", \"bottomleft\", \"inline\"]),\n isolated: PropTypes.bool\n};\nReCAPTCHA.defaultProps = {\n onChange: function onChange() {},\n theme: \"light\",\n type: \"image\",\n tabindex: 0,\n size: \"normal\",\n badge: \"bottomright\"\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nimport { Component, createElement, forwardRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nvar SCRIPT_MAP = {}; // A counter used to generate a unique id for each component that uses the function\n\nvar idCount = 0;\nexport default function makeAsyncScript(getScriptURL, options) {\n options = options || {};\n return function wrapWithAsyncScript(WrappedComponent) {\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || \"Component\";\n\n var AsyncScriptLoader =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(AsyncScriptLoader, _Component);\n\n function AsyncScriptLoader(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this.state = {};\n _this.__scriptURL = \"\";\n return _this;\n }\n\n var _proto = AsyncScriptLoader.prototype;\n\n _proto.asyncScriptLoaderGetScriptLoaderID = function asyncScriptLoaderGetScriptLoaderID() {\n if (!this.__scriptLoaderID) {\n this.__scriptLoaderID = \"async-script-loader-\" + idCount++;\n }\n\n return this.__scriptLoaderID;\n };\n\n _proto.setupScriptURL = function setupScriptURL() {\n this.__scriptURL = typeof getScriptURL === \"function\" ? getScriptURL() : getScriptURL;\n return this.__scriptURL;\n };\n\n _proto.asyncScriptLoaderHandleLoad = function asyncScriptLoaderHandleLoad(state) {\n var _this2 = this;\n\n // use reacts setState callback to fire props.asyncScriptOnLoad with new state/entry\n this.setState(state, function () {\n return _this2.props.asyncScriptOnLoad && _this2.props.asyncScriptOnLoad(_this2.state);\n });\n };\n\n _proto.asyncScriptLoaderTriggerOnScriptLoaded = function asyncScriptLoaderTriggerOnScriptLoaded() {\n var mapEntry = SCRIPT_MAP[this.__scriptURL];\n\n if (!mapEntry || !mapEntry.loaded) {\n throw new Error(\"Script is not loaded.\");\n }\n\n for (var obsKey in mapEntry.observers) {\n mapEntry.observers[obsKey](mapEntry);\n }\n\n delete window[options.callbackName];\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var _this3 = this;\n\n var scriptURL = this.setupScriptURL();\n var key = this.asyncScriptLoaderGetScriptLoaderID();\n var _options = options,\n globalName = _options.globalName,\n callbackName = _options.callbackName,\n scriptId = _options.scriptId; // check if global object already attached to window\n\n if (globalName && typeof window[globalName] !== \"undefined\") {\n SCRIPT_MAP[scriptURL] = {\n loaded: true,\n observers: {}\n };\n } // check if script loading already\n\n\n if (SCRIPT_MAP[scriptURL]) {\n var entry = SCRIPT_MAP[scriptURL]; // if loaded or errored then \"finish\"\n\n if (entry && (entry.loaded || entry.errored)) {\n this.asyncScriptLoaderHandleLoad(entry);\n return;\n } // if still loading then callback to observer queue\n\n\n entry.observers[key] = function (entry) {\n return _this3.asyncScriptLoaderHandleLoad(entry);\n };\n\n return;\n }\n /*\n * hasn't started loading\n * start the \"magic\"\n * setup script to load and observers\n */\n\n\n var observers = {};\n\n observers[key] = function (entry) {\n return _this3.asyncScriptLoaderHandleLoad(entry);\n };\n\n SCRIPT_MAP[scriptURL] = {\n loaded: false,\n observers: observers\n };\n var script = document.createElement(\"script\");\n script.src = scriptURL;\n script.async = true;\n\n for (var attribute in options.attributes) {\n script.setAttribute(attribute, options.attributes[attribute]);\n }\n\n if (scriptId) {\n script.id = scriptId;\n }\n\n var callObserverFuncAndRemoveObserver = function callObserverFuncAndRemoveObserver(func) {\n if (SCRIPT_MAP[scriptURL]) {\n var mapEntry = SCRIPT_MAP[scriptURL];\n var observersMap = mapEntry.observers;\n\n for (var obsKey in observersMap) {\n if (func(observersMap[obsKey])) {\n delete observersMap[obsKey];\n }\n }\n }\n };\n\n if (callbackName && typeof window !== \"undefined\") {\n window[callbackName] = function () {\n return _this3.asyncScriptLoaderTriggerOnScriptLoaded();\n };\n }\n\n script.onload = function () {\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n mapEntry.loaded = true;\n callObserverFuncAndRemoveObserver(function (observer) {\n if (callbackName) {\n return false;\n }\n\n observer(mapEntry);\n return true;\n });\n }\n };\n\n script.onerror = function () {\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n mapEntry.errored = true;\n callObserverFuncAndRemoveObserver(function (observer) {\n observer(mapEntry);\n return true;\n });\n }\n };\n\n document.body.appendChild(script);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n // Remove tag script\n var scriptURL = this.__scriptURL;\n\n if (options.removeOnUnmount === true) {\n var allScripts = document.getElementsByTagName(\"script\");\n\n for (var i = 0; i < allScripts.length; i += 1) {\n if (allScripts[i].src.indexOf(scriptURL) > -1) {\n if (allScripts[i].parentNode) {\n allScripts[i].parentNode.removeChild(allScripts[i]);\n }\n }\n }\n } // Clean the observer entry\n\n\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n delete mapEntry.observers[this.asyncScriptLoaderGetScriptLoaderID()];\n\n if (options.removeOnUnmount === true) {\n delete SCRIPT_MAP[scriptURL];\n }\n }\n };\n\n _proto.render = function render() {\n var globalName = options.globalName; // remove asyncScriptOnLoad from childProps\n\n var _this$props = this.props,\n asyncScriptOnLoad = _this$props.asyncScriptOnLoad,\n forwardedRef = _this$props.forwardedRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"asyncScriptOnLoad\", \"forwardedRef\"]); // eslint-disable-line no-unused-vars\n\n\n if (globalName && typeof window !== \"undefined\") {\n childProps[globalName] = typeof window[globalName] !== \"undefined\" ? window[globalName] : undefined;\n }\n\n childProps.ref = forwardedRef;\n return createElement(WrappedComponent, childProps);\n };\n\n return AsyncScriptLoader;\n }(Component); // Note the second param \"ref\" provided by React.forwardRef.\n // We can pass it along to AsyncScriptLoader as a regular prop, e.g. \"forwardedRef\"\n // And it can then be attached to the Component.\n\n\n var ForwardedComponent = forwardRef(function (props, ref) {\n return createElement(AsyncScriptLoader, _extends({}, props, {\n forwardedRef: ref\n }));\n });\n ForwardedComponent.displayName = \"AsyncScriptLoader(\" + wrappedComponentName + \")\";\n ForwardedComponent.propTypes = {\n asyncScriptOnLoad: PropTypes.func\n };\n return hoistStatics(ForwardedComponent, WrappedComponent);\n };\n}","import ReCAPTCHA from \"./recaptcha\";\nimport makeAsyncScriptLoader from \"react-async-script\";\nvar callbackName = \"onloadcallback\";\nvar globalName = \"grecaptcha\";\nfunction getOptions() {\n return typeof window !== \"undefined\" && window.recaptchaOptions || {};\n}\nfunction getURL() {\n var dynamicOptions = getOptions();\n var hostname = dynamicOptions.useRecaptchaNet ? \"recaptcha.net\" : \"www.google.com\";\n if (dynamicOptions.enterprise) {\n return \"https://\" + hostname + \"/recaptcha/enterprise.js?onload=\" + callbackName + \"&render=explicit\";\n }\n return \"https://\" + hostname + \"/recaptcha/api.js?onload=\" + callbackName + \"&render=explicit\";\n}\nexport default makeAsyncScriptLoader(getURL, {\n callbackName: callbackName,\n globalName: globalName,\n attributes: getOptions().nonce ? {\n nonce: getOptions().nonce\n } : {}\n})(ReCAPTCHA);","import RecaptchaWrapper from \"./recaptcha-wrapper\";\nimport ReCAPTCHA from \"./recaptcha\";\nexport default RecaptchaWrapper;\nexport { ReCAPTCHA };","\r\nimport { useRef, useState } from \"react\"\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nconst Form = () => {\r\n const recaptchaRef = useRef()\r\n const refName = useRef()\r\n const refFamily = useRef()\r\n const refEmail = useRef()\r\n const refPhone = useRef()\r\n const refMessage = useRef();\r\n const [errName, setErrName] = useState(null)\r\n const [errFamily, setErrFamily] = useState(null)\r\n const [errPhone, setErrPhone] = useState(null)\r\n const [errEmail, setErrEmail] = useState(null)\r\n const [errRec, setErrRec] = useState(null)\r\n const [state, setState] = useState('NOSUBMIED')\r\n\r\n const isEmail = (email) =>\r\n /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(email);\r\n const handlekeyUp = (e) => {\r\n const c = e.target.value\r\n e.target.value = c.replace(/\\D/g, '')\r\n }\r\n const handleSubmit = () => {\r\n const recaptchaValue = recaptchaRef.current.getValue();\r\n \r\n let isValid = true\r\n if (refName.current.value.length < 1) {\r\n setErrName('Please enter first name')\r\n isValid = false\r\n }\r\n else setErrName(true)\r\n if (refFamily.current.value.length < 1) {\r\n setErrFamily('Please enter last name')\r\n isValid = false\r\n }\r\n else setErrFamily(null)\r\n\r\n if (!isEmail(refEmail.current.value)) {\r\n setErrEmail('Please enter a valid email')\r\n isValid = false\r\n }\r\n else setErrEmail(null)\r\n\r\n if (refPhone.current.value.length < 8 || refPhone.current.value.length > 14) {\r\n setErrPhone('Please enter a valid phone')\r\n isValid = false\r\n }\r\n else setErrPhone(null)\r\n if(recaptchaValue.length <1)\r\n {\r\n setErrRec('Please verify that you are not robot')\r\n isValid = false \r\n }\r\n else\r\n setErrRec(null)\r\n if (isValid) {\r\n setState('FETCHING')\r\n fetch(process.env.REACT_APP_API + 'enquiry/leads', {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json;charset=utf-8' },\r\n mode: 'cors',\r\n body: `{\r\n \"firstName\": \"${refName.current.value}\",\r\n \"lastName\" : \"${refFamily.current.value}\",\r\n \"emailAddress\" :\"${refEmail.current.value}\",\r\n \"phone\" : \"${refPhone.current.value}\",\r\n \"comments\" : \"${refMessage.current.value}\",\r\n \"recaptcha\":\"${recaptchaValue}\"\r\n\r\n\r\n }`\r\n\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n \r\n if (data === 'Success') {\r\n setState('SUBMITED')\r\n\r\n }\r\n else\r\n {\r\n setState('ERROR') \r\n }\r\n })\r\n .catch(error => console.error('Error:', error));\r\n }\r\n\r\n }\r\n return <>\r\n\r\n {(state === 'NOSUBMIED' || state === 'FETCHING' ) &&\r\n <> \r\n \r\n \r\n
\r\n {errName &&
{errName}
}\r\n
\r\n {errFamily &&
{errFamily}
}\r\n
\r\n {errEmail &&
{errEmail}
}\r\n
handlekeyUp(e)} placeholder=\"Phone*\">\r\n {errPhone &&
{errPhone}
}\r\n
\r\n
\r\n
\r\n {errRec &&
{errRec}
}\r\n \r\n
\r\n
handleSubmit()}>SUBMIT \r\n \r\n {state === 'FETCHING' &&
\r\n \r\n \r\n \r\n
\r\n }\r\n
\r\n \r\n >}\r\n \r\n {state === 'SUBMITED' && \r\n
Thank you for getting in touch with us. \r\n
One of our friendly staff will get back to you shortly.
\r\n
}\r\n {state === 'ERROR' &&
There was an issue processing your request. Please try again later. }\r\n\r\n >;\r\n}\r\n\r\n\r\n\r\nexport default Form;","\r\nimport Form from './form'\r\n\r\nconst Contact = ({content}) => {\r\n // const size=Array(15).fill(0)\r\n\r\n \r\n\r\n return <>\r\n \r\n\r\n >;\r\n}\r\n\r\n\r\n\r\nexport default Contact;","\r\nconst Privacy = ({privacy}) => {\r\n\r\n return ;\r\n}\r\n\r\nexport default Privacy;","\r\nimport { useRef } from \"react\";\r\nimport Privacy from \"./privacy\";\r\n\r\n\r\nconst Footer = ({privacy}) => {\r\n\r\n const refPrivacy = useRef()\r\n const openModal = (ref) => {\r\n ref.current.style.display = 'block'\r\n setTimeout(() => {\r\n ref.current.style.opacity = '1'\r\n }, 0)\r\n\r\n }\r\n const closeModal = (ref) => {\r\n ref.current.style.opacity = '0'\r\n\r\n setTimeout(() => {\r\n ref.current.style.display = 'none'\r\n }, 700)\r\n\r\n }\r\n\r\n\r\n return <>\r\n\r\n \r\n >\r\n}\r\n\r\n\r\n\r\nexport default Footer;","export const scroll = () => {\r\n let lastScrollTop = 0;\r\n let logoChange = false\r\n const logo = document.getElementById('logo')\r\n const sections = document.querySelectorAll('section')\r\n const breaks = document.querySelectorAll('.break')\r\n const links = document.querySelectorAll('.link')\r\n const body = document.body\r\n const ancher = document.getElementById('ancher')\r\n const rate = 400\r\n\r\n const handleChange = (cls) => {\r\n\r\n links.forEach(l => {\r\n if (l.classList.contains(cls))\r\n l.classList.add('active-page')\r\n else\r\n l.classList.remove('active-page')\r\n\r\n })\r\n }\r\n\r\n let ticking = false\r\n const checkElements = () => {\r\n const t = ancher.getBoundingClientRect().top;\r\n const m = (0.85 * t) / window.innerHeight //was 1.44\r\n const w = window.innerWidth \r\n \r\n if (t <= 0) {\r\n logo.style.width = rate+'px';\r\n if(!logo.classList.contains('faded')) \r\n logo.classList.add('faded')\r\n \r\n }\r\n else if(t>0)\r\n {\r\n logo.style.width = (m * w) + rate + 'px'; \r\n if(logo.classList.contains('faded')) \r\n logo.classList.remove('faded')\r\n \r\n }\r\n\r\n\r\n if (!logoChange && logo.getBoundingClientRect().bottom < 0) {\r\n logoChange = true\r\n // smlLogo.style.opacity=1\r\n }\r\n else if (logoChange && logoChange && logo.getBoundingClientRect().bottom >= 0) {\r\n logoChange = false\r\n // smlLogo.style.opacity=0\r\n }\r\n breaks.forEach((br, index) => {\r\n const top = br.getBoundingClientRect().top,\r\n bottom = br.getBoundingClientRect().bottom;\r\n\r\n if (top <= window.innerHeight && bottom > window.innerHeight) {\r\n const cls = br.dataset.cls\r\n if (!body.classList.contains(cls)) {\r\n if (cls === \"bg-white\") {\r\n body.classList.remove('bg-blue')\r\n }\r\n else\r\n body.classList.remove('bg-white')\r\n body.classList.add(cls)\r\n }\r\n\r\n\r\n }\r\n\r\n })\r\n sections.forEach(sec => {\r\n const top = sec.getBoundingClientRect().top,\r\n bottom = sec.getBoundingClientRect().bottom;\r\n\r\n if (top > 0 && bottom < window.innerHeight && sec.dataset.cls && !body.classList.contains(sec.dataset.cls)) {\r\n body.classList.add(sec.dataset.cls)\r\n }\r\n\r\n if (top <= 3 && bottom > 0 && !sec.classList.contains('active-page')) {\r\n handleChange(sec.getAttribute('id'))\r\n }\r\n\r\n })\r\n }\r\n document.addEventListener(\"scroll\", (event) => {\r\n\r\n if (!ticking) {\r\n window.requestAnimationFrame(() => {\r\n\r\n checkElements();\r\n lastScrollTop = window.scrollY\r\n ticking = false;\r\n });\r\n\r\n ticking = true;\r\n }\r\n });\r\n}","\nimport { useState, useEffect ,useRef} from 'react';\nimport Header from './components/header';\nimport Home from './components/home';\nimport About from './components/about';\nimport Projects from './components/projects';\nimport Partners from './components/partners';\nimport Contact from './components/contact';\nimport Footer from './components/footer';\nimport { scroll } from './fns/scroll';\nfunction App() {\n const [projects, setProjects] = useState([])\n const [homeContent, setHomeContent] = useState({})\n const [contactConent, setContactContent] = useState(null)\n const [logos, setLogos] = useState(null)\n const [privacy, setPrivacy] = useState(null)\n const refLoader=useRef()\n \n const fetchData = async () => {\n try {\n const [_projects, _homeContent, _contactContent, logos, privacy] = await Promise.all([ \n fetch(`${process.env.REACT_APP_API}projects`),\n fetch(`${process.env.REACT_APP_API}content/home`),\n fetch(`${process.env.REACT_APP_API}content/contact`),\n fetch(`${process.env.REACT_APP_API}logos`),\n fetch(`${process.env.REACT_APP_API}content/privacy`),\n ]);\n \n const [projectsJson, homeJson, contactJson, logosJson, privacyJson] = await Promise.all([\n _projects.json(),\n _homeContent.json(),\n _contactContent.json(),\n logos.json(),\n privacy.json(),\n ]); \n setProjects(projectsJson);\n setHomeContent(homeJson);\n setContactContent(contactJson);\n setLogos(logosJson);\n setPrivacy(privacyJson);\n\n } catch (error) {\n // Handle the error (e.g., log it or show a user-friendly message)\n console.error(\"Error fetching data:\", error);\n }\n };\n\n useEffect(() => { \n fetchData()\n\n\n }, [])\n \n useEffect(() => { \n if(projects.length>0)\n {\n refLoader.current.style.opacity=0;\n setTimeout(()=>{ refLoader.current.style.display='none';},1001)\n scroll()\n }\n\n\n }, [projects])\n return (\n <>\n
\n \n {projects.length>0 &&\n <>\n \n \n \n \n \n
\n >\n}\n \n >\n\n\n );\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport './css/index.css'\nimport './css/slick.css'\nimport App from './App';\nimport ReactGA from \"react-ga4\";\nReactGA.initialize(\"G-GQ4QFNLEPD\",{\n gaOptions: {\n cookieFlags: 'SameSite=None;Secure'\n }\n\n});\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render(\n \n\n\n);\n\n"],"names":["QueryHandler","require","each","MediaQuery","query","isUnconditional","this","handlers","mql","window","matchMedia","self","listener","currentTarget","assess","addListener","prototype","constuctor","addHandler","handler","qh","push","matches","on","removeHandler","h","i","equals","destroy","splice","clear","removeListener","length","action","module","exports","Util","isFunction","isArray","MediaQueryDispatch","Error","queries","browserIsIncapable","constructor","register","q","options","shouldDegrade","match","unregister","deferSetup","setup","initialised","off","unmatch","target","Object","toString","apply","collection","fn","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","name","caller","callee","arguments","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","concat","targetStatics","sourceStatics","key","descriptor","e","b","Symbol","for","c","d","f","g","k","l","m","n","p","r","t","v","w","x","y","z","a","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","camel2hyphen","obj2mq","obj","mq","features","forEach","feature","index","value","test","isDimension","Array","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","freeSelf","root","Function","objectToString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","toNumber","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","slice","func","wait","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","remainingWait","debounced","isInvoking","leadingEdge","cancel","clearTimeout","flush","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","getShim","isRequired","ReactPropTypes","array","bigint","bool","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","aa","ca","encodeURIComponent","da","Set","ea","fa","ha","add","ia","document","createElement","ja","hasOwnProperty","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","split","toLowerCase","ra","sa","toUpperCase","ta","pa","isNaN","qa","oa","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","iterator","Ka","La","assign","Ma","stack","trim","Na","Oa","prepareStackTrace","set","Reflect","construct","includes","Pa","tag","Qa","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","get","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","style","indexOf","setProperty","charAt","substring","tb","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","addEventListener","removeEventListener","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","shift","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","id","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","data","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","String","fromCharCode","code","repeat","locale","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","password","range","search","tel","text","url","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","offset","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","start","end","selectionStart","selectionEnd","defaultView","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","D","of","has","pf","qf","rf","random","sf","bind","capture","passive","J","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Promise","Jf","queueMicrotask","resolve","then","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","context","memoizedValue","next","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","ch","eventTime","lane","payload","callback","dh","K","eh","fh","gh","hh","ih","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","L","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","state","updater","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","ref","_owner","_stringRef","th","join","uh","vh","wh","xh","yh","implementation","zh","Ah","done","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","tagName","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","P","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","queue","di","ei","fi","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","create","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","message","digest","Li","Mi","console","error","Ni","WeakMap","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","yj","Ej","S","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","size","createElementNS","autoFocus","createTextNode","T","Hj","Ij","Jj","Kj","U","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","insertBefore","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","display","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","src","Wk","mk","ceil","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","Infinity","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","cache","pendingSuspenseBoundaries","el","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","querySelectorAll","JSON","stringify","form","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","version","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createPortal","dl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","s","titleCase","redactingEmail","_str","title","smallWords","substr","mightBeEmail","warn","redacted","redactEmail","GA4","_gtag","_interopRequireDefault","_format","_excluded","_excluded2","_excluded3","__esModule","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_typeof","_toConsumableArray","arr","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","ownKeys","enumerableOnly","symbols","filter","sym","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_slicedToArray","_arrayWithHoles","_i","_s","_e","_x","_r","_arr","_n","_d","_iterableToArrayLimit","_nonIterableRest","o","minLen","len","arr2","_defineProperties","writable","_toPropertyKey","arg","hint","prim","toPrimitive","res","Number","_toPrimitive","_this","Constructor","_classCallCheck","isInitialized","_testMode","_currentMeasurementId","_hasLoadedGA","_isQueuing","_queueGtag","_len","_key","GA_MEASUREMENT_ID","nonce","gtagUrl","script","async","dataLayer","gtag","gaOptions","mapFields","cookieUpdate","cookieExpires","cookieDomain","cookieFlags","userId","clientId","anonymizeIp","contentGroup1","contentGroup2","contentGroup3","contentGroup4","contentGroup5","allowAdFeatures","allowAdPersonalizationSignals","nonInteraction","page","hitCallback","entries","reduce","prev","_ref","_ref2","initConfigs","trackingId","gtagOptions","_options$testMode","testMode","_loadGA","config","mergedGtagOptions","_toGtagOptions","queues","fieldsObject","_gaCommand","eventCategory","eventAction","eventLabel","eventValue","event_category","event_label","non_interaction","_len2","_key2","_gaCommandSendEvent","_args$","rest","hitType","timingCategory","timingVar","timingValue","timingLabel","_this$_toGtagOptions","page_path","page_title","page_location","_len3","_key3","_gaCommandSendPageview","_args$2","_len4","_key4","_gaCommandSendEventParameters","_gaCommandSendPageviewParameters","_gaCommandSendTiming","_len5","_key5","command","_len6","_key6","_gaCommandSend","_gaCommandSet","_len7","_key7","readyCallback","property","ga","optionsOrName","params","category","label","transport","fieldObject","reset","protoProps","staticProps","_default","_window","_ga","nodeInterop","_getRequireWildcardCache","newObj","hasPropertyDescriptor","desc","_interopRequireWildcard","cacheBabelInterop","cacheNodeInterop","PrevArrow","NextArrow","_react","_classnames","_innerSliderUtils","_extends","_createClass","_inherits","subClass","superClass","_setPrototypeOf","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","sham","Proxy","Boolean","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_React$PureComponent","_super","clickHandler","prevClasses","prevHandler","infinite","currentSlide","slideCount","slidesToShow","prevArrowProps","className","customProps","prevArrow","cloneElement","PureComponent","_React$PureComponent2","_super2","nextClasses","nextHandler","canGoNext","nextArrowProps","nextArrow","accessibility","adaptiveHeight","afterChange","appendDots","dots","arrows","autoplay","autoplaySpeed","beforeChange","centerMode","centerPadding","cssEase","customPaging","dotsClass","draggable","easing","edgeFriction","fade","focusOnSelect","initialSlide","lazyLoad","onEdge","onInit","onLazyLoadError","onReInit","pauseOnDotsHover","pauseOnFocus","pauseOnHover","responsive","rows","rtl","slide","slidesPerRow","slidesToScroll","speed","swipe","swipeEvent","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","waitForAnimate","Dots","spec","_this$props","onMouseEnter","onMouseOver","onMouseLeave","dotCount","mouseEvents","_rightBound","rightBound","clamp","_leftBound","leftBound","dotOptions","animating","autoplaying","currentDirection","currentLeft","direction","dragging","edgeDragged","initialized","lazyLoadedList","listHeight","listWidth","scrolling","slideHeight","slideWidth","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","trackStyle","trackWidth","targetSlide","InnerSlider","_initialState","_lodash","_track","_dots","_arrows","_resizeObserverPolyfill","_React$Component","list","elem","querySelector","getHeight","slidesToLoad","getOnDemandLazySlides","setState","prevState","onLazyLoad","listRef","trackRef","updateState","adaptHeight","autoPlay","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","onWindowResized","callbackTimers","observe","onfocus","onSlideFocus","onblur","onSlideBlur","animationEndCallback","clearInterval","timer","autoplayTimer","disconnect","prevProps","checkImagesLoad","setTrackStyle","didPropsChange","Children","count","changeSlide","pause","debouncedResize","resizeWindow","updatedState","initializedState","slideIndex","targetLeft","getTrackLeft","getTrackCSS","_trackWidth","_trackLeft","childrenWidths","preClones","getPreClones","postClones","getPostClones","_i2","_trackStyle","currentWidth","childrenCount","trackLeft","images","imagesCount","loadedCount","image","prevClickHandler","onload","onerror","_index","dontAnimate","asNavFor","_slideHandler","slideHandler","nextState","asNavForIndex","innerSlider","firstBatch","nodes","clickable","dir","keyHandler","ontouchmove","verticalSwiping","disableBodyScroll","swipeStart","swipeMove","swipeEnd","triggerSlideHandler","enableBodyScroll","nextIndex","playType","play","pauseType","trackProps","extractObject","onTrackOver","onTrackLeave","selectHandler","dotProps","onDotsLeave","onDotsOver","arrowProps","verticalHeightStyle","centerPaddingStyle","padding","listStyle","listProps","onMouseDown","onMouseMove","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","touchEnd","onTouchCancel","onKeyDown","innerSliderProps","unslick","listRefHandler","Track","trackRefHandler","ssrState","ssrInit","_i3","_Object$keys","_innerSlider","_json2mq","_defaultProps","enquire","canUseDOM","Slider","slickPrev","slickNext","slickGoTo","breakpoint","_responsiveMediaHandlers","_this2","breakpoints","map","breakpt","sort","bQuery","minWidth","maxWidth","media","settings","newProps","_this3","resp","toArray","newChildren","newSlide","j","row","tabIndex","innerSliderRefHandler","filterSettings","getSlideClasses","slickActive","slickCenter","slickCloned","centerOffset","floor","getKey","fallbackKey","renderSlides","slides","preCloneSlides","postCloneSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","childOnClickOptions","childStyle","position","getSlideStyle","slideClass","slideClasses","outline","preCloneNo","reverse","handleRef","checkSpecKeys","checkNavigable","validSettings","acc","settingName","slidesOnRight","slidesOnLeft","siblingDirection","safePreventDefault","lazySlidesOnRight","lazySlidesOnLeft","getWidth","getTrackAnimateCSS","getTotalSlides","getSwipeDirection","getSlideCount","getRequiredLazySlides","getNavigableIndexes","lowerBound","upperBound","onDemandSlides","requiredSlides","offsetWidth","offsetHeight","xDist","yDist","swipeAngle","atan2","round","PI","abs","canGo","newObject","listNode","trackNode","centerPaddingAdj","finalSlide","animationLeft","finalLeft","animationSlide","indexOffset","previousInt","slideOffset","previousTargetSlide","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","onSwipe","minSwipe","activeSlide","counter","indexes","navigables","prevNavigable","swipedSlide","slickList","every","offsetTop","offsetLeft","currentIndex","keysArray","trackHeight","trackChildren","WebkitTransition","WebkitTransform","transform","msTransform","marginTop","marginLeft","slidesToOffset","targetSlideIndex","trackElem","childNodes","right","__self","__source","jsx","jsxs","forceUpdate","escape","_status","_result","default","only","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","MapShim","getIndex","some","entry","class_1","__entries__","ctx","_a","isBrowser","global$1","requestAnimationFrame$1","requestAnimationFrame","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","throttle","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","attributes","childList","characterData","subtree","_b","getInstance","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","vertPad","bottom","boxSizing","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","contentRect","Constr","DOMRectReadOnly","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","ResizeObserver","method","pop","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","str","hasOwn","classNames","classes","appendClass","parseValue","newClass","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","globalThis","prop","toStringTag","ScrollTo","timeStart","timeElapsed","pageYOffset","opt","duration","distance","getElementById","getAttribute","getBoundingClientRect","loop","scrollTo","Logo","_jsx","_jsxs","viewBox","fill","xmlns","Header","refNav","refToggle","closeNav","classList","remove","handleToggle","handleClick","_Fragment","content","sub_title","carousel","process","alt","heading1","copy1","image1","open","refSlide","refParent","refTitle","class","cls","ProjectImage","Name","StateAbbr","address","Toggle","ProjectSizeType","Description","ProjectValue","Completed","CurrentTenants","Suburb","Granline","completed","projects","copy2","Status","prj","Grid","Row","logos","copy3","backgroundImage","ReCAPTCHA","handleExpired","handleErrored","handleChange","handleRecaptchaRef","_proto","getCaptchaFunction","fnName","grecaptcha","enterprise","getResponse","_widgetId","getWidgetId","execute","_executeRequested","executeAsync","reject","executionResolve","executionReject","resetter","forceReset","onExpired","onErrored","token","onChange","explicitRender","wrapper","sitekey","theme","tabindex","stoken","badge","isolated","captcha","childProps","React","SCRIPT_MAP","idCount","callbackName","getOptions","recaptchaOptions","getScriptURL","dynamicOptions","hostname","useRecaptchaNet","globalName","WrappedComponent","wrappedComponentName","AsyncScriptLoader","_Component","__scriptURL","asyncScriptLoaderGetScriptLoaderID","__scriptLoaderID","setupScriptURL","asyncScriptLoaderHandleLoad","asyncScriptOnLoad","asyncScriptLoaderTriggerOnScriptLoaded","mapEntry","loaded","obsKey","scriptURL","_options","scriptId","errored","attribute","callObserverFuncAndRemoveObserver","observersMap","removeOnUnmount","allScripts","getElementsByTagName","forwardedRef","ForwardedComponent","hoistStatics","Form","recaptchaRef","refName","refFamily","refEmail","refPhone","refMessage","errName","setErrName","errFamily","setErrFamily","errPhone","setErrPhone","errEmail","setErrEmail","errRec","setErrRec","placeholder","onKeyUp","handlekeyUp","handleSubmit","recaptchaValue","isValid","fetch","headers","response","json","grabline","privacy","refPrivacy","openModal","closeModal","fillRule","clipRule","Privacy","scroll","lastScrollTop","logoChange","logo","sections","breaks","links","ancher","ticking","checkElements","innerHeight","innerWidth","rate","sec","scrollY","setProjects","homeContent","setHomeContent","contactConent","setContactContent","setLogos","setPrivacy","refLoader","_projects","_homeContent","_contactContent","all","projectsJson","homeJson","contactJson","logosJson","privacyJson","fetchData","background","Home","About","Projects","Partners","Contact","Footer","ReactGA","initialize","ReactDOM","App"],"sourceRoot":""}