139 skills found · Page 1 of 5
arkane-systems / MousejigglerMouse Jiggler is a very simple piece of software whose sole function is to "fake" mouse input to Windows, and jiggle the mouse pointer back and forth.
rust-windowing / Gl RsAn OpenGL function pointer loader for Rust
anholt / LibepoxyEpoxy is a library for handling OpenGL function pointer management for you
mikeash / MABlockClosureObjC block -> C function pointer using libffi
lijiansong / Clang Llvm Tutorialclang & llvm examples, e.g. AST Interpreter, Function Pointer Analysis, Value Range Analysis, Data-Flow Analysis, Andersen Pointer Analysis, LLVM Backend...
chrisneagu / FTC Skystone Dark Angels Romania 2020NOTICE This repository contains the public FTC SDK for the SKYSTONE (2019-2020) competition season. If you are looking for the current season's FTC SDK software, please visit the new and permanent home of the public FTC SDK: FtcRobotController repository Welcome! This GitHub repository contains the source code that is used to build an Android app to control a FIRST Tech Challenge competition robot. To use this SDK, download/clone the entire project to your local computer. Getting Started If you are new to robotics or new to the FIRST Tech Challenge, then you should consider reviewing the FTC Blocks Tutorial to get familiar with how to use the control system: FTC Blocks Online Tutorial Even if you are an advanced Java programmer, it is helpful to start with the FTC Blocks tutorial, and then migrate to the OnBot Java Tool or to Android Studio afterwards. Downloading the Project If you are an Android Studio programmer, there are several ways to download this repo. Note that if you use the Blocks or OnBot Java Tool to program your robot, then you do not need to download this repository. If you are a git user, you can clone the most current version of the repository: git clone https://github.com/FIRST-Tech-Challenge/SKYSTONE.git Or, if you prefer, you can use the "Download Zip" button available through the main repository page. Downloading the project as a .ZIP file will keep the size of the download manageable. You can also download the project folder (as a .zip or .tar.gz archive file) from the Downloads subsection of the Releases page for this repository. Once you have downloaded and uncompressed (if needed) your folder, you can use Android Studio to import the folder ("Import project (Eclipse ADT, Gradle, etc.)"). Getting Help User Documentation and Tutorials FIRST maintains online documentation with information and tutorials on how to use the FIRST Tech Challenge software and robot control system. You can access this documentation using the following link: SKYSTONE Online Documentation Note that the online documentation is an "evergreen" document that is constantly being updated and edited. It contains the most current information about the FIRST Tech Challenge software and control system. Javadoc Reference Material The Javadoc reference documentation for the FTC SDK is now available online. Click on the following link to view the FTC SDK Javadoc documentation as a live website: FTC Javadoc Documentation Documentation for the FTC SDK is also included with this repository. There is a subfolder called "doc" which contains several subfolders: The folder "apk" contains the .apk files for the FTC Driver Station and FTC Robot Controller apps. The folder "javadoc" contains the JavaDoc user documentation for the FTC SDK. Online User Forum For technical questions regarding the Control System or the FTC SDK, please visit the FTC Technology forum: FTC Technology Forum Release Information Version 5.5 (20200824-090813) Version 5.5 requires Android Studio 4.0 or later. New features Adds support for calling custom Java classes from Blocks OpModes (fixes SkyStone issue #161). Classes must be in the org.firstinspires.ftc.teamcode package. Methods must be public static and have no more than 21 parameters. Parameters declared as OpMode, LinearOpMode, Telemetry, and HardwareMap are supported and the argument is provided automatically, regardless of the order of the parameters. On the block, the sockets for those parameters are automatically filled in. Parameters declared as char or java.lang.Character will accept any block that returns text and will only use the first character in the text. Parameters declared as boolean or java.lang.Boolean will accept any block that returns boolean. Parameters declared as byte, java.lang.Byte, short, java.lang.Short, int, java.lang.Integer, long, or java.lang.Long, will accept any block that returns a number and will round that value to the nearest whole number. Parameters declared as float, java.lang.Float, double, java.lang.Double will accept any block that returns a number. Adds telemetry API method for setting display format Classic Monospace HTML (certain tags only) Adds blocks support for switching cameras. Adds Blocks support for TensorFlow Object Detection with a custom model. Adds support for uploading a custom TensorFlow Object Detection model in the Manage page, which is especially useful for Blocks and OnBotJava users. Shows new Control Hub blink codes when the WiFi band is switched using the Control Hub's button (only possible on Control Hub OS 1.1.2) Adds new warnings which can be disabled in the Advanced RC Settings Mismatched app versions warning Unnecessary 2.4 GHz WiFi usage warning REV Hub is running outdated firmware (older than version 1.8.2) Adds support for Sony PS4 gamepad, and reworks how gamepads work on the Driver Station Removes preference which sets gamepad type based on driver position. Replaced with menu which allows specifying type for gamepads with unknown VID and PID Attempts to auto-detect gamepad type based on USB VID and PID If gamepad VID and PID is not known, use type specified by user for that VID and PID If gamepad VID and PID is not known AND the user has not specified a type for that VID and PID, an educated guess is made about how to map the gamepad Driver Station will now attempt to automatically recover from a gamepad disconnecting, and re-assign it to the position it was assigned to when it dropped If only one gamepad is assigned and it drops: it can be recovered If two gamepads are assigned, and have different VID/PID signatures, and only one drops: it will be recovered If two gamepads are assigned, and have different VID/PID signatures, and BOTH drop: both will be recovered If two gamepads are assigned, and have the same VID/PID signatures, and only one drops: it will be recovered If two gamepads are assigned, and have the same VID/PID signatures, and BOTH drop: neither will be recovered, because of the ambiguity of the gamepads when they re-appear on the USB bus. There is currently one known edge case: if there are two gamepads with the same VID/PID signature plugged in, but only one is assigned, and they BOTH drop, it's a 50-50 chance of which one will be chosen for automatic recovery to the assigned position: it is determined by whichever one is re-enumerated first by the USB bus controller. Adds landscape user interface to Driver Station New feature: practice timer with audio cues New feature (Control Hub only): wireless network connection strength indicator (0-5 bars) New feature (Control Hub only): tapping on the ping/channel display will switch to an alternate display showing radio RX dBm and link speed (tap again to switch back) The layout will NOT autorotate. You can switch the layout from the Driver Station's settings menu. Breaking changes Removes support for Android versions 4.4 through 5.1 (KitKat and Lollipop). The minSdkVersion is now 23. Removes the deprecated LinearOpMode methods waitOneFullHardwareCycle() and waitForNextHardwareCycle() Enhancements Handles RS485 address of Control Hub automatically The Control Hub is automatically given a reserved address Existing configuration files will continue to work All addresses in the range of 1-10 are still available for Expansion Hubs The Control Hub light will now normally be solid green, without blinking to indicate the address The Control Hub will not be shown on the Expansion Hub Address Change settings page Improves REV Hub firmware updater The user can now choose between all available firmware update files Version 1.8.2 of the REV Hub firmware is bundled into the Robot Controller app. Text was added to clarify that Expansion Hubs can only be updated via USB. Firmware update speed was reduced to improve reliability Allows REV Hub firmware to be updated directly from the Manage webpage Improves log viewer on Robot Controller Horizontal scrolling support (no longer word wrapped) Supports pinch-to-zoom Uses a monospaced font Error messages are highlighted New color scheme Attempts to force-stop a runaway/stuck OpMode without restarting the entire app Not all types of runaway conditions are stoppable, but if the user code attempts to talk to hardware during the runaway, the system should be able to capture it. Makes various tweaks to the Self Inspect screen Renames "OS version" entry to "Android version" Renames "WiFi Direct Name" to "WiFi Name" Adds Control Hub OS version, when viewing the report of a Control Hub Hides the airplane mode entry, when viewing the report of a Control Hub Removes check for ZTE Speed Channel Changer Shows firmware version for all Expansion and Control Hubs Reworks network settings portion of Manage page All network settings are now applied with a single click The WiFi Direct channel of phone-based Robot Controllers can now be changed from the Manage page WiFi channels are filtered by band (2.4 vs 5 GHz) and whether they overlap with other channels The current WiFi channel is pre-selected on phone-based Robot Controllers, and Control Hubs running OS 1.1.2 or later. On Control Hubs running OS 1.1.2 or later, you can choose to have the system automatically select a channel on the 5 GHz band Improves OnBotJava New light and dark themes replace the old themes (chaos, github, chrome,...) the new default theme is light and will be used when you first update to this version OnBotJava now has a tabbed editor Read-only offline mode Improves function of "exit" menu item on Robot Controller and Driver Station Now guaranteed to be fully stopped and unloaded from memory Shows a warning message if a LinearOpMode exists prematurely due to failure to monitor for the start condition Improves error message shown when the Driver Station and Robot Controller are incompatible with each other Driver Station OpMode Control Panel now disabled while a Restart Robot is in progress Disables advanced settings related to WiFi direct when the Robot Controller is a Control Hub. Tint phone battery icons on Driver Station when low/critical. Uses names "Control Hub Portal" and "Control Hub" (when appropriate) in new configuration files Improve I2C read performance Very large improvement on Control Hub; up to ~2x faster with small (e.g. 6 byte) reads Not as apparent on Expansion Hubs connected to a phone Update/refresh build infrastructure Update to 'androidx' support library from 'com.android.support:appcompat', which is end-of-life Update targetSdkVersion and compileSdkVersion to 28 Update Android Studio's Android plugin to latest Fix reported build timestamp in 'About' screen Add sample illustrating manual webcam use: ConceptWebcam Bug fixes Fixes SkyStone issue #248 Fixes SkyStone issue #232 and modifies bulk caching semantics to allow for cache-preserving MANUAL/AUTO transitions. Improves performance when REV 2M distance sensor is unplugged Improves readability of Toast messages on certain devices Allows a Driver Station to connect to a Robot Controller after another has disconnected Improves generation of fake serial numbers for UVC cameras which do not provide a real serial number Previously some devices would assign such cameras a serial of 0:0 and fail to open and start streaming Fixes ftc_app issue #638. Fixes a slew of bugs with the Vuforia camera monitor including: Fixes bug where preview could be displayed with a wonky aspect ratio Fixes bug where preview could be cut off in landscape Fixes bug where preview got totally messed up when rotating phone Fixes bug where crosshair could drift off target when using webcams Fixes issue in UVC driver on some devices (ftc_app 681) if streaming was started/stopped multiple times in a row Issue manifested as kernel panic on devices which do not have this kernel patch. On affected devices which do have the patch, the issue was manifest as simply a failure to start streaming. The Tech Team believes that the root cause of the issue is a bug in the Linux kernel XHCI driver. A workaround was implemented in the SDK UVC driver. Fixes bug in UVC driver where often half the frames from the camera would be dropped (e.g. only 15FPS delivered during a streaming session configured for 30FPS). Fixes issue where TensorFlow Object Detection would show results whose confidence was lower than the minimum confidence parameter. Fixes a potential exploitation issue of CVE-2019-11358 in OnBotJava Fixes changing the address of an Expansion Hub with additional Expansion Hubs connected to it Preserves the Control Hub's network connection when "Restart Robot" is selected Fixes issue where device scans would fail while the Robot was restarting Fix RenderScript usage Use androidx.renderscript variant: increased compatibility Use RenderScript in Java mode, not native: simplifies build Fixes webcam-frame-to-bitmap conversion problem: alpha channel wasn't being initialized, only R, G, & B Fixes possible arithmetic overflow in Deadline Fixes deadlock in Vuforia webcam support which could cause 5-second delays when stopping OpMode Version 5.4 (20200108-101156) Fixes SkyStone issue #88 Adds an inspection item that notes when a robot controller (Control Hub) is using the factory default password. Fixes SkyStone issue #61 Fixes SkyStone issue #142 Fixes ftc_app issue #417 by adding more current and voltage monitoring capabilities for REV Hubs. Fixes a crash sometimes caused by OnBotJava activity Improves OnBotJava autosave functionality ftc_app #738 Fixes system responsiveness issue when an Expansion Hub is disconnected Fixes issue where IMU initialization could prevent Op Modes from stopping Fixes issue where AndroidTextToSpeech.speak() would fail if it was called too early Adds telemetry.speak() methods and blocks, which cause the Driver Station (if also updated) to speak text Adds and improves Expansion Hub-related warnings Improves Expansion Hub low battery warning Displays the warning immediately after the hub reports it Specifies whether the condition is current or occurred temporarily during an OpMode run Displays which hubs reported low battery Displays warning when hub loses and regains power during an OpMode run Fixes the hub's LED pattern after this condition Displays warning when Expansion Hub is not responding to commands Specifies whether the condition is current or occurred temporarily during an OpMode run Clarifies warning when Expansion Hub is not present at startup Specifies that this condition requires a Robot Restart before the hub can be used. The hub light will now accurately reflect this state Improves logging and reduces log spam during these conditions Syncs the Control Hub time and timezone to a connected web browser programming the robot, if a Driver Station is not available. Adds bulk read functionality for REV Hubs A bulk caching mode must be set at the Hub level with LynxModule#setBulkCachingMode(). This applies to all relevant SDK hardware classes that reference that Hub. The following following Hub bulk caching modes are available: BulkCachingMode.OFF (default): All hardware calls operate as usual. Bulk data can read through LynxModule#getBulkData() and processed manually. BulkCachingMode.AUTO: Applicable hardware calls are served from a bulk read cache that is cleared/refreshed automatically to ensure identical commands don't hit the same cache. The cache can also be cleared manually with LynxModule#clearBulkCache(), although this is not recommended. (advanced users) BulkCachingMode.MANUAL: Same as BulkCachingMode.AUTO except the cache is never cleared automatically. To avoid getting stale data, the cache must be manually cleared at the beginning of each loop body or as the user deems appropriate. Removes PIDF Annotation values added in Rev 5.3 (to AndyMark, goBILDA and TETRIX motor configurations). The new motor types will still be available but their Default control behavior will revert back to Rev 5.2 Adds new ConceptMotorBulkRead sample Opmode to demonstrate and compare Motor Bulk-Read modes for reducing I/O latencies. Version 5.3 (20191004-112306) Fixes external USB/UVC webcam support Makes various bugfixes and improvements to Blocks page, including but not limited to: Many visual tweaks Browser zoom and window resize behave better Resizing the Java preview pane works better and more consistently across browsers The Java preview pane consistently gets scrollbars when needed The Java preview pane is hidden by default on phones Internet Explorer 11 should work Large dropdown lists display properly on lower res screens Disabled buttons are now visually identifiable as disabled A warning is shown if a user selects a TFOD sample, but their device is not compatible Warning messages in a Blocks op mode are now visible by default. Adds goBILDA 5201 and 5202 motors to Robot Configurator Adds PIDF Annotation values to AndyMark, goBILDA and TETRIX motor configurations. This has the effect of causing the RUN_USING_ENCODERS and RUN_TO_POSITION modes to use PIDF vs PID closed loop control on these motors. This should provide more responsive, yet stable, speed control. PIDF adds Feedforward control to the basic PID control loop. Feedforward is useful when controlling a motor's speed because it "anticipates" how much the control voltage must change to achieve a new speed set-point, rather than requiring the integrated error to change sufficiently. The PIDF values were chosen to provide responsive, yet stable, speed control on a lightly loaded motor. The more heavily a motor is loaded (drag or friction), the more noticable the PIDF improvement will be. Fixes startup crash on Android 10 Fixes ftc_app issue #712 (thanks to FROGbots-4634) Fixes ftc_app issue #542 Allows "A" and lowercase letters when naming device through RC and DS apps. Version 5.2 (20190905-083277) Fixes extra-wide margins on settings activities, and placement of the new configuration button Adds Skystone Vuforia image target data. Includes sample Skystone Vuforia Navigation op modes (Java). Includes sample Skystone Vuforia Navigation op modes (Blocks). Adds TensorFlow inference model (.tflite) for Skystone game elements. Includes sample Skystone TensorFlow op modes (Java). Includes sample Skystone TensorFlow op modes (Blocks). Removes older (season-specific) sample op modes. Includes 64-bit support (to comply with Google Play requirements). Protects against Stuck OpModes when a Restart Robot is requested. (Thanks to FROGbots-4634) (ftc_app issue #709) Blocks related changes: Fixes bug with blocks generated code when hardware device name is a java or javascript reserved word. Shows generated java code for blocks, even when hardware items are missing from the active configuration. Displays warning icon when outdated Vuforia and TensorFlow blocks are used (SkyStone issue #27) Version 5.1 (20190820-222104) Defines default PIDF parameters for the following motors: REV Core Hex Motor REV 20:1 HD Hex Motor REV 40:1 HD Hex Motor Adds back button when running on a device without a system back button (such as a Control Hub) Allows a REV Control Hub to update the firmware on a REV Expansion Hub via USB Fixes SkyStone issue #9 Fixes ftc_app issue #715 Prevents extra DS User clicks by filtering based on current state. Prevents incorrect DS UI state changes when receiving new OpMode list from RC Adds support for REV Color Sensor V3 Adds a manual-refresh DS Camera Stream for remotely viewing RC camera frames. To show the stream on the DS, initialize but do not run a stream-enabled opmode, select the Camera Stream option in the DS menu, and tap the image to refresh. This feature is automatically enabled when using Vuforia or TFOD—no additional RC configuration is required for typical use cases. To hide the stream, select the same menu item again. Note that gamepads are disabled and the selected opmode cannot be started while the stream is open as a safety precaution. To use custom streams, consult the API docs for CameraStreamServer#setSource and CameraStreamSource. Adds many Star Wars sounds to RobotController resources. Added SKYSTONE Sounds Chooser Sample Program. Switches out startup, connect chimes, and error/warning sounds for Star Wars sounds Updates OnBot Java to use a WebSocket for communication with the robot The OnBot Java page no longer has to do a full refresh when a user switches from editing one file to another Known issues: Camera Stream The Vuforia camera stream inherits the issues present in the phone preview (namely ftc_app issue #574). This problem does not affect the TFOD camera stream even though it receives frames from Vuforia. The orientation of the stream frames may not always match the phone preview. For now, these frames may be rotated manually via a custom CameraStreamSource if desired. OnBotJava Browser back button may not always work correctly It's possible for a build to be queued, but not started. The OnBot Java build console will display a warning if this occurs. A user might not realize they are editing a different file if the user inadvertently switches from one file to another since this switch is now seamless. The name of the currently open file is displayed in the browser tab. Version 5.0 (built on 19.06.14) Support for the REV Robotics Control Hub. Adds a Java preview pane to the Blocks editor. Adds a new offline export feature to the Blocks editor. Display wifi channel in Network circle on Driver Station. Adds calibration for Logitech C270 Updates build tooling and target SDK. Compliance with Google's permissions infrastructure (Required after build tooling update). Keep Alives to mitigate the Motorola wifi scanning problem. Telemetry substitute no longer necessary. Improves Vuforia error reporting. Fixes ftctechnh/ftc_app issues 621, 713. Miscellaneous bug fixes and improvements. Version 4.3 (built on 18.10.31) Includes missing TensorFlow-related libraries and files. Version 4.2 (built on 18.10.30) Includes fix to avoid deadlock situation with WatchdogMonitor which could result in USB communication errors. Comm error appeared to require that user disconnect USB cable and restart the Robot Controller app to recover. robotControllerLog.txt would have error messages that included the words "E RobotCore: lynx xmit lock: #### abandoning lock:" Includes fix to correctly list the parent module address for a REV Robotics Expansion Hub in a configuration (.xml) file. Bug in versions 4.0 and 4.1 would incorrect list the address module for a parent REV Robotics device as "1". If the parent module had a higher address value than the daisy-chained module, then this bug would prevent the Robot Controller from communicating with the downstream Expansion Hub. Added requirement for ACCESS_COARSE_LOCATION to allow a Driver Station running Android Oreo to scan for Wi-Fi Direct devices. Added google() repo to build.gradle because aapt2 must be downloaded from the google() repository beginning with version 3.2 of the Android Gradle Plugin. Important Note: Android Studio users will need to be connected to the Internet the first time build the ftc_app project. Internet connectivity is required for the first build so the appropriate files can be downloaded from the Google repository. Users should not need to be connected to the Internet for subsequent builds. This should also fix buid issue where Android Studio would complain that it "Could not find com.android.tools.lint:lint-gradle:26.1.4" (or similar). Added support for REV Spark Mini motor controller as part of the configuration menu for a servo/PWM port on the REV Expansion Hub. Provide examples for playing audio files in an Op Mode. Block Development Tool Changes Includes a fix for a problem with the Velocity blocks that were reported in the FTC Technology forum (Blocks Programming subforum). Change the "Save completed successfully." message to a white color so it will contrast with a green background. Fixed the "Download image" feature so it will work if there are text blocks in the op mode. Introduce support for Google's TensorFlow Lite technology for object detetion for 2018-2019 game. TensorFlow lite can recognize Gold Mineral and Silver Mineral from 2018-2019 game. Example Java and Block op modes are included to show how to determine the relative position of the gold block (left, center, right). Version 4.1 (released on 18.09.24) Changes include: Fix to prevent crash when deprecated configuration annotations are used. Change to allow FTC Robot Controller APK to be auto-updated using FIRST Global Control Hub update scripts. Removed samples for non supported / non legal hardware. Improvements to Telemetry.addData block with "text" socket. Updated Blocks sample op mode list to include Rover Ruckus Vuforia example. Update SDK library version number. Version 4.0 (released on 18.09.12) Changes include: Initial support for UVC compatible cameras If UVC camera has a unique serial number, RC will detect and enumerate by serial number. If UVC camera lacks a unique serial number, RC will only support one camera of that type connected. Calibration settings for a few cameras are included (see TeamCode/src/main/res/xml/teamwebcamcalibrations.xml for details). User can upload calibration files from Program and Manage web interface. UVC cameras seem to draw a fair amount of electrical current from the USB bus. This does not appear to present any problems for the REV Robotics Control Hub. This does seem to create stability problems when using some cameras with an Android phone-based Robot Controller. FTC Tech Team is investigating options to mitigate this issue with the phone-based Robot Controllers. Updated sample Vuforia Navigation and VuMark Op Modes to demonstrate how to use an internal phone-based camera and an external UVC webcam. Support for improved motor control. REV Robotics Expansion Hub firmware 1.8 and greater will support a feed forward mechanism for closed loop motor control. FTC SDK has been modified to support PIDF coefficients (proportional, integral, derivative, and feed forward). FTC Blocks development tool modified to include PIDF programming blocks. Deprecated older PID-related methods and variables. REV's 1.8.x PIDF-related changes provide a more linear and accurate way to control a motor. Wireless Added 5GHz support for wireless channel changing for those devices that support it. Tested with Moto G5 and E4 phones. Also tested with other (currently non-approved) phones such as Samsung Galaxy S8. Improved Expansion Hub firmware update support in Robot Controller app Changes to make the system more robust during the firmware update process (when performed through Robot Controller app). User no longer has to disconnect a downstream daisy-chained Expansion Hub when updating an Expansion Hub's firmware. If user is updating an Expansion Hub's firmware through a USB connection, he/she does not have to disconnect RS485 connection to other Expansion Hubs. The user still must use a USB connection to update an Expansion Hub's firmware. The user cannot update the Expansion Hub firmware for a downstream device that is daisy chained through an RS485 connection. If an Expansion Hub accidentally gets "bricked" the Robot Controller app is now more likely to recognize the Hub when it scans the USB bus. Robot Controller app should be able to detect an Expansion Hub, even if it accidentally was bricked in a previous update attempt. Robot Controller app should be able to install the firmware onto the Hub, even if if accidentally was bricked in a previous update attempt. Resiliency FTC software can detect and enable an FTDI reset feature that is available with REV Robotics v1.8 Expansion Hub firmware and greater. When enabled, the Expansion Hub can detect if it hasn't communicated with the Robot Controller over the FTDI (USB) connection. If the Hub hasn't heard from the Robot Controller in a while, it will reset the FTDI connection. This action helps system recover from some ESD-induced disruptions. Various fixes to improve reliability of FTC software. Blocks Fixed errors with string and list indices in blocks export to java. Support for USB connected UVC webcams. Refactored optimized Blocks Vuforia code to support Rover Ruckus image targets. Added programming blocks to support PIDF (proportional, integral, derivative and feed forward) motor control. Added formatting options (under Telemetry and Miscellaneous categories) so user can set how many decimal places to display a numerical value. Support to play audio files (which are uploaded through Blocks web interface) on Driver Station in addition to the Robot Controller. Fixed bug with Download Image of Blocks feature. Support for REV Robotics Blinkin LED Controller. Support for REV Robotics 2m Distance Sensor. Added support for a REV Touch Sensor (no longer have to configure as a generic digital device). Added blocks for DcMotorEx methods. These are enhanced methods that you can use when supported by the motor controller hardware. The REV Robotics Expansion Hub supports these enhanced methods. Enhanced methods include methods to get/set motor velocity (in encoder pulses per second), get/set PIDF coefficients, etc.. Modest Improvements in Logging Decrease frequency of battery checker voltage statements. Removed non-FTC related log statements (wherever possible). Introduced a "Match Logging" feature. Under "Settings" a user can enable/disable this feature (it's disabled by default). If enabled, user provides a "Match Number" through the Driver Station user interface (top of the screen). The Match Number is used to create a log file specifically with log statements from that particular Op Mode run. Match log files are stored in /sdcard/FIRST/matlogs on the Robot Controller. Once an op mode run is complete, the Match Number is cleared. This is a convenient way to create a separate match log with statements only related to a specific op mode run. New Devices Support for REV Robotics Blinkin LED Controller. Support for REV Robotics 2m Distance Sensor. Added configuration option for REV 20:1 HD Hex Motor. Added support for a REV Touch Sensor (no longer have to configure as a generic digital device). Miscellaneous Fixed some errors in the definitions for acceleration and velocity in our javadoc documentation. Added ability to play audio files on Driver Station When user is configuring an Expansion Hub, the LED on the Expansion Hub will change blink pattern (purple-cyan) to indicate which Hub is currently being configured. Renamed I2cSensorType to I2cDeviceType. Added an external sample Op Mode that demonstrates localization using 2018-2019 (Rover Ruckus presented by QualComm) Vuforia targets. Added an external sample Op Mode that demonstrates how to use the REV Robotics 2m Laser Distance Sensor. Added an external sample Op Mode that demonstrates how to use the REV Robotics Blinkin LED Controller. Re-categorized external Java sample Op Modes to "TeleOp" instead of "Autonomous". Known issues: Initial support for UVC compatible cameras UVC cameras seem to draw significant amount of current from the USB bus. This does not appear to present any problems for the REV Robotics Control Hub. This does seem to create stability problems when using some cameras with an Android phone-based Robot Controller. FTC Tech Team is investigating options to mitigate this issue with the phone-based Robot Controllers. There might be a possible deadlock which causes the RC to become unresponsive when using a UVC webcam with a Nougat Android Robot Controller. Wireless When user selects a wireless channel, this channel does not necessarily persist if the phone is power cycled. Tech Team is hoping to eventually address this issue in a future release. Issue has been present since apps were introduced (i.e., it is not new with the v4.0 release). Wireless channel is not currently displayed for WiFi Direct connections. Miscellaneous The blink indication feature that shows which Expansion Hub is currently being configured does not work for a newly created configuration file. User has to first save a newly created configuration file and then close and re-edit the file in order for blink indicator to work. Version 3.6 (built on 17.12.18) Changes include: Blocks Changes Uses updated Google Blockly software to allow users to edit their op modes on Apple iOS devices (including iPad and iPhone). Improvement in Blocks tool to handle corrupt op mode files. Autonomous op modes should no longer get switched back to tele-op after re-opening them to be edited. The system can now detect type mismatches during runtime and alert the user with a message on the Driver Station. Updated javadoc documentation for setPower() method to reflect correct range of values (-1 to +1). Modified VuforiaLocalizerImpl to allow for user rendering of frames Added a user-overrideable onRenderFrame() method which gets called by the class's renderFrame() method. Version 3.5 (built on 17.10.30) Changes with version 3.5 include: Introduced a fix to prevent random op mode stops, which can occur after the Robot Controller app has been paused and then resumed (for example, when a user temporarily turns off the display of the Robot Controller phone, and then turns the screen back on). Introduced a fix to prevent random op mode stops, which were previously caused by random peer disconnect events on the Driver Station. Fixes issue where log files would be closed on pause of the RC or DS, but not re-opened upon resume. Fixes issue with battery handler (voltage) start/stop race. Fixes issue where Android Studio generated op modes would disappear from available list in certain situations. Fixes problem where OnBot Java would not build on REV Robotics Control Hub. Fixes problem where OnBot Java would not build if the date and time on the Robot Controller device was "rewound" (set to an earlier date/time). Improved error message on OnBot Java that occurs when renaming a file fails. Removed unneeded resources from android.jar binaries used by OnBot Java to reduce final size of Robot Controller app. Added MR_ANALOG_TOUCH_SENSOR block to Blocks Programming Tool. Version 3.4 (built on 17.09.06) Changes with version 3.4 include: Added telemetry.update() statement for BlankLinearOpMode template. Renamed sample Block op modes to be more consistent with Java samples. Added some additional sample Block op modes. Reworded OnBot Java readme slightly. Version 3.3 (built on 17.09.04) This version of the software includes improves for the FTC Blocks Programming Tool and the OnBot Java Programming Tool. Changes with verion 3.3 include: Android Studio ftc_app project has been updated to use Gradle Plugin 2.3.3. Android Studio ftc_app project is already using gradle 3.5 distribution. Robot Controller log has been renamed to /sdcard/RobotControllerLog.txt (note that this change was actually introduced w/ v3.2). Improvements in I2C reliability. Optimized I2C read for REV Expansion Hub, with v1.7 firmware or greater. Updated all external/samples (available through OnBot and in Android project folder). Vuforia Added support for VuMarks that will be used for the 2017-2018 season game. Blocks Update to latest Google Blockly release. Sample op modes can be selected as a template when creating new op mode. Fixed bug where the blocks would disappear temporarily when mouse button is held down. Added blocks for Range.clip and Range.scale. User can now disable/enable Block op modes. Fix to prevent occasional Blocks deadlock. OnBot Java Significant improvements with autocomplete function for OnBot Java editor. Sample op modes can be selected as a template when creating new op mode. Fixes and changes to complete hardware setup feature. Updated (and more useful) onBot welcome message. Known issues: Android Studio After updating to the new v3.3 Android Studio project folder, if you get error messages indicating "InvalidVirtualFileAccessException" then you might need to do a File->Invalidate Caches / Restart to clear the error. OnBot Java Sometimes when you push the build button to build all op modes, the RC returns an error message that the build failed. If you press the build button a second time, the build typically suceeds. Version 3.2 (built on 17.08.02) This version of the software introduces the "OnBot Java" Development Tool. Similar to the FTC Blocks Development Tool, the FTC OnBot Java Development Tool allows a user to create, edit and build op modes dynamically using only a Javascript-enabled web browser. The OnBot Java Development Tool is an integrated development environment (IDE) that is served up by the Robot Controller. Op modes are created and edited using a Javascript-enabled browser (Google Chromse is recommended). Op modes are saved on the Robot Controller Android device directly. The OnBot Java Development Tool provides a Java programming environment that does NOT need Android Studio. Changes with version 3.2 include: Enhanced web-based development tools Introduction of OnBot Java Development Tool. Web-based programming and management features are "always on" (user no longer needs to put Robot Controller into programming mode). Web-based management interface (where user can change Robot Controller name and also easily download Robot Controller log file). OnBot Java, Blocks and Management features available from web based interface. Blocks Programming Development Tool: Changed "LynxI2cColorRangeSensor" block to "REV Color/range sensor" block. Fixed tooltip for ColorSensor.isLightOn block. Added blocks for ColorSensor.getNormalizedColors and LynxI2cColorRangeSensor.getNormalizedColors. Added example op modes for digital touch sensor and REV Robotics Color Distance sensor. User selectable color themes. Includes many minor enhancements and fixes (too numerous to list). Known issues: Auto complete function is incomplete and does not support the following (for now): Access via this keyword Access via super keyword Members of the super cloass, not overridden by the class Any methods provided in the current class Inner classes Can't handle casted objects Any objects coming from an parenthetically enclosed expression Version 3.10 (built on 17.05.09) This version of the software provides support for the REV Robotics Expansion Hub. This version also includes improvements in the USB communication layer in an effort to enhance system resiliency. If you were using a 2.x version of the software previously, updating to version 3.1 requires that you also update your Driver Station software in addition to updating the Robot Controller software. Also note that in version 3.10 software, the setMaxSpeed and getMaxSpeed methods are no longer available (not deprecated, they have been removed from the SDK). Also note that the the new 3.x software incorporates motor profiles that a user can select as he/she configures the robot. Changes include: Blocks changes Added VuforiaTrackableDefaultListener.getPose and Vuforia.trackPose blocks. Added optimized blocks support for Vuforia extended tracking. Added atan2 block to the math category. Added useCompetitionFieldTargetLocations parameter to Vuforia.initialize block. If set to false, the target locations are placed at (0,0,0) with target orientation as specified in https://github.com/gearsincorg/FTCVuforiaDemo/blob/master/Robot_Navigation.java tutorial op mode. Incorporates additional improvements to USB comm layer to improve system resiliency (to recover from a greater number of communication disruptions). Additional Notes Regarding Version 3.00 (built on 17.04.13) In addition to the release changes listed below (see section labeled "Version 3.00 (built on 17.04.013)"), version 3.00 has the following important changes: Version 3.00 software uses a new version of the FTC Robocol (robot protocol). If you upgrade to v3.0 on the Robot Controller and/or Android Studio side, you must also upgrade the Driver Station software to match the new Robocol. Version 3.00 software removes the setMaxSpeed and getMaxSpeed methods from the DcMotor class. If you have an op mode that formerly used these methods, you will need to remove the references/calls to these methods. Instead, v3.0 provides the max speed information through the use of motor profiles that are selected by the user during robot configuration. Version 3.00 software currently does not have a mechanism to disable extra i2c sensors. We hope to re-introduce this function with a release in the near future. Version 3.00 (built on 17.04.13) *** Use this version of the software at YOUR OWN RISK!!! *** This software is being released as an "alpha" version. Use this version at your own risk! This pre-release software contains SIGNIFICANT changes, including changes to the Wi-Fi Direct pairing mechanism, rewrites of the I2C sensor classes, changes to the USB/FTDI layer, and the introduction of support for the REV Robotics Expansion Hub and the REV Robotics color-range-light sensor. These changes were implemented to improve the reliability and resiliency of the FTC control system. Please note, however, that version 3.00 is considered "alpha" code. This code is being released so that the FIRST community will have an opportunity to test the new REV Expansion Hub electronics module when it becomes available in May. The developers do not recommend using this code for critical applications (i.e., competition use). *** Use this version of the software at YOUR OWN RISK!!! *** Changes include: Major rework of sensor-related infrastructure. Includes rewriting sensor classes to implement synchronous I2C communication. Fix to reset Autonomous timer back to 30 seconds. Implementation of specific motor profiles for approved 12V motors (includes Tetrix, AndyMark, Matrix and REV models). Modest improvements to enhance Wi-Fi P2P pairing. Fixes telemetry log addition race. Publishes all the sources (not just a select few). Includes Block programming improvements Addition of optimized Vuforia blocks. Auto scrollbar to projects and sounds pages. Fixed blocks paste bug. Blocks execute after while-opModeIsActive loop (to allow for cleanup before exiting op mode). Added gyro integratedZValue block. Fixes bug with projects page for Firefox browser. Added IsSpeaking block to AndroidTextToSpeech. Implements support for the REV Robotics Expansion Hub Implements support for integral REV IMU (physically installed on I2C bus 0, uses same Bosch BNO055 9 axis absolute orientation sensor as Adafruit 9DOF abs orientation sensor). - Implements support for REV color/range/light sensor. Provides support to update Expansion Hub firmware through FTC SDK. Detects REV firmware version and records in log file. Includes support for REV Control Hub (note that the REV Control Hub is not yet approved for FTC use). Implements FTC Blocks programming support for REV Expansion Hub and sensor hardware. Detects and alerts when I2C device disconnect. Version 2.62 (built on 17.01.07) Added null pointer check before calling modeToByte() in finishModeSwitchIfNecessary method for ModernRoboticsUsbDcMotorController class. Changes to enhance Modern Robotics USB protocol robustness. Version 2.61 (released on 16.12.19) Blocks Programming mode changes: Fix to correct issue when an exception was thrown because an OpticalDistanceSensor object appears twice in the hardware map (the second time as a LightSensor). Version 2.6 (released on 16.12.16) Fixes for Gyro class: Improve (decrease) sensor refresh latency. fix isCalibrating issues. Blocks Programming mode changes: Blocks now ignores a device in the configuration xml if the name is empty. Other devices work in configuration work fine. Version 2.5 (internal release on released on 16.12.13) Blocks Programming mode changes: Added blocks support for AdafruitBNO055IMU. Added Download Op Mode button to FtcBocks.html. Added support for copying blocks in one OpMode and pasting them in an other OpMode. The clipboard content is stored on the phone, so the programming mode server must be running. Modified Utilities section of the toolbox. In Programming Mode, display information about the active connections. Fixed paste location when workspace has been scrolled. Added blocks support for the android Accelerometer. Fixed issue where Blocks Upload Op Mode truncated name at first dot. Added blocks support for Android SoundPool. Added type safety to blocks for Acceleration. Added type safety to blocks for AdafruitBNO055IMU.Parameters. Added type safety to blocks for AnalogInput. Added type safety to blocks for AngularVelocity. Added type safety to blocks for Color. Added type safety to blocks for ColorSensor. Added type safety to blocks for CompassSensor. Added type safety to blocks for CRServo. Added type safety to blocks for DigitalChannel. Added type safety to blocks for ElapsedTime. Added type safety to blocks for Gamepad. Added type safety to blocks for GyroSensor. Added type safety to blocks for IrSeekerSensor. Added type safety to blocks for LED. Added type safety to blocks for LightSensor. Added type safety to blocks for LinearOpMode. Added type safety to blocks for MagneticFlux. Added type safety to blocks for MatrixF. Added type safety to blocks for MrI2cCompassSensor. Added type safety to blocks for MrI2cRangeSensor. Added type safety to blocks for OpticalDistanceSensor. Added type safety to blocks for Orientation. Added type safety to blocks for Position. Added type safety to blocks for Quaternion. Added type safety to blocks for Servo. Added type safety to blocks for ServoController. Added type safety to blocks for Telemetry. Added type safety to blocks for Temperature. Added type safety to blocks for TouchSensor. Added type safety to blocks for UltrasonicSensor. Added type safety to blocks for VectorF. Added type safety to blocks for Velocity. Added type safety to blocks for VoltageSensor. Added type safety to blocks for VuforiaLocalizer.Parameters. Added type safety to blocks for VuforiaTrackable. Added type safety to blocks for VuforiaTrackables. Added type safety to blocks for enums in AdafruitBNO055IMU.Parameters. Added type safety to blocks for AndroidAccelerometer, AndroidGyroscope, AndroidOrientation, and AndroidTextToSpeech. Version 2.4 (released on 16.11.13) Fix to avoid crashing for nonexistent resources. Blocks Programming mode changes: Added blocks to support OpenGLMatrix, MatrixF, and VectorF. Added blocks to support AngleUnit, AxesOrder, AxesReference, CameraDirection, CameraMonitorFeedback, DistanceUnit, and TempUnit. Added blocks to support Acceleration. Added blocks to support LinearOpMode.getRuntime. Added blocks to support MagneticFlux and Position. Fixed typos. Made blocks for ElapsedTime more consistent with other objects. Added blocks to support Quaternion, Velocity, Orientation, AngularVelocity. Added blocks to support VuforiaTrackables, VuforiaTrackable, VuforiaLocalizer, VuforiaTrackableDefaultListener. Fixed a few blocks. Added type checking to new blocks. Updated to latest blockly. Added default variable blocks to navigation and matrix blocks. Fixed toolbox entry for openGLMatrix_rotation_withAxesArgs. When user downloads Blocks-generated op mode, only the .blk file is downloaded. When user uploads Blocks-generated op mode (.blk file), Javascript code is auto generated. Added DbgLog support. Added logging when a blocks file is read/written. Fixed bug to properly render blocks even if missing devices from configuration file. Added support for additional characters (not just alphanumeric) for the block file names (for download and upload). Added support for OpMode flavor (“Autonomous” or “TeleOp”) and group. Changes to Samples to prevent tutorial issues. Incorporated suggested changes from public pull 216 (“Replace .. paths”). Remove Servo Glitches when robot stopped. if user hits “Cancels” when editing a configuration file, clears the unsaved changes and reverts to original unmodified configuration. Added log info to help diagnose why the Robot Controller app was terminated (for example, by watch dog function). Added ability to transfer log from the controller. Fixed inconsistency for AngularVelocity Limit unbounded growth of data for telemetry. If user does not call telemetry.update() for LinearOpMode in a timely manner, data added for telemetry might get lost if size limit is exceeded. Version 2.35 (released on 16.10.06) Blockly programming mode - Removed unnecesary idle() call from blocks for new project. Version 2.30 (released on 16.10.05) Blockly programming mode: Mechanism added to save Blockly op modes from Programming Mode Server onto local device To avoid clutter, blocks are displayed in categorized folders Added support for DigitalChannel Added support for ModernRoboticsI2cCompassSensor Added support for ModernRoboticsI2cRangeSensor Added support for VoltageSensor Added support for AnalogInput Added support for AnalogOutput Fix for CompassSensor setMode block Vuforia Fix deadlock / make camera data available while Vuforia is running. Update to Vuforia 6.0.117 (recommended by Vuforia and Google to close security loophole). Fix for autonomous 30 second timer bug (where timer was in effect, even though it appeared to have timed out). opModeIsActive changes to allow cleanup after op mode is stopped (with enforced 2 second safety timeout). Fix to avoid reading i2c twice. Updated sample Op Modes. Improved logging and fixed intermittent freezing. Added digital I/O sample. Cleaned up device names in sample op modes to be consistent with Pushbot guide. Fix to allow use of IrSeekerSensorV3. Version 2.20 (released on 16.09.08) Support for Modern Robotics Compass Sensor. Support for Modern Robotics Range Sensor. Revise device names for Pushbot templates to match the names used in Pushbot guide. Fixed bug so that IrSeekerSensorV3 device is accessible as IrSeekerSensor in hardwareMap. Modified computer vision code to require an individual Vuforia license (per legal requirement from PTC). Minor fixes. Blockly enhancements: Support for Voltage Sensor. Support for Analog Input. Support for Analog Output. Support for Light Sensor. Support for Servo Controller. Version 2.10 (released on 16.09.03) Support for Adafruit IMU. Improvements to ModernRoboticsI2cGyro class Block on reset of z axis. isCalibrating() returns true while gyro is calibration. Updated sample gyro program. Blockly enhancements support for android.graphics.Color. added support for ElapsedTime. improved look and legibility of blocks. support for compass sensor. support for ultrasonic sensor. support for IrSeeker. support for LED. support for color sensor. support for CRServo prompt user to configure robot before using programming mode. Provides ability to disable audio cues. various bug fixes and improvements. Version 2.00 (released on 16.08.19) This is the new release for the upcoming 2016-2017 FIRST Tech Challenge Season. Channel change is enabled in the FTC Robot Controller app for Moto G 2nd and 3rd Gen phones. Users can now use annotations to register/disable their Op Modes. Changes in the Android SDK, JDK and build tool requirements (minsdk=19, java 1.7, build tools 23.0.3). Standardized units in analog input. Cleaned up code for existing analog sensor classes. setChannelMode and getChannelMode were REMOVED from the DcMotorController class. This is important - we no longer set the motor modes through the motor controller. setMode and getMode were added to the DcMotor class. ContinuousRotationServo class has been added to the FTC SDK. Range.clip() method has been overloaded so it can support this operation for int, short and byte integers. Some changes have been made (new methods added) on how a user can access items from the hardware map. Users can now set the zero power behavior for a DC motor so that the motor will brake or float when power is zero. Prototype Blockly Programming Mode has been added to FTC Robot Controller. Users can place the Robot Controller into this mode, and then use a device (such as a laptop) that has a Javascript enabled browser to write Blockly-based Op Modes directly onto the Robot Controller. Users can now configure the robot remotely through the FTC Driver Station app. Android Studio project supports Android Studio 2.1.x and compile SDK Version 23 (Marshmallow). Vuforia Computer Vision SDK integrated into FTC SDK. Users can use sample vision targets to get localization information on a standard FTC field. Project structure has been reorganized so that there is now a TeamCode package that users can use to place their local/custom Op Modes into this package. Inspection function has been integrated into the FTC Robot Controller and Driver Station Apps (Thanks Team HazMat… 9277 & 10650!). Audio cues have been incorporated into FTC SDK. Swap mechanism added to FTC Robot Controller configuration activity. For example, if you have two motor controllers on a robot, and you misidentified them in your configuration file, you can use the Swap button to swap the devices within the configuration file (so you do not have to manually re-enter in the configuration info for the two devices). Fix mechanism added to all user to replace an electronic module easily. For example, suppose a servo controller dies on your robot. You replace the broken module with a new module, which has a different serial number from the original servo controller. You can use the Fix button to automatically reconfigure your configuration file to use the serial number of the new module. Improvements made to fix resiliency and responsiveness of the system. For LinearOpMode the user now must for a telemetry.update() to update the telemetry data on the driver station. This update() mechanism ensures that the driver station gets the updated data properly and at the same time. The Auto Configure function of the Robot Controller is now template based. If there is a commonly used robot configuration, a template can be created so that the Auto Configure mechanism can be used to quickly configure a robot of this type. The logic to detect a runaway op mode (both in the LinearOpMode and OpMode types) and to abort the run, then auto recover has been improved/implemented. Fix has been incorporated so that Logitech F310 gamepad mappings will be correct for Marshmallow users. Release 16.07.08 For the ftc_app project, the gradle files have been modified to support Android Studio 2.1.x. Release 16.03.30 For the MIT App Inventor, the design blocks have new icons that better represent the function of each design component. Some changes were made to the shutdown logic to ensure the robust shutdown of some of our USB services. A change was made to LinearOpMode so as to allow a given instance to be executed more than once, which is required for the App Inventor. Javadoc improved/updated. Release 16.03.09 Changes made to make the FTC SDK synchronous (significant change!) waitOneFullHardwareCycle() and waitForNextHardwareCycle() are no longer needed and have been deprecated. runOpMode() (for a LinearOpMode) is now decoupled from the system's hardware read/write thread. loop() (for an OpMode) is now decoupled from the system's hardware read/write thread. Methods are synchronous. For example, if you call setMode(DcMotorController.RunMode.RESET_ENCODERS) for a motor, the encoder is guaranteed to be reset when the method call is complete. For legacy module (NXT compatible), user no longer has to toggle between read and write modes when reading from or writing to a legacy device. Changes made to enhance reliability/robustness during ESD event. Changes made to make code thread safe. Debug keystore added so that user-generated robot controller APKs will all use the same signed key (to avoid conflicts if a team has multiple developer laptops for example). Firmware version information for Modern Robotics modules are now logged. Changes made to improve USB comm reliability and robustness. Added support for voltage indicator for legacy (NXT-compatible) motor controllers. Changes made to provide auto stop capabilities for op modes. A LinearOpMode class will stop when the statements in runOpMode() are complete. User does not have to push the stop button on the driver station. If an op mode is stopped by the driver station, but there is a run away/uninterruptible thread persisting, the app will log an error message then force itself to crash to stop the runaway thread. Driver Station UI modified to display lowest measured voltage below current voltage (12V battery). Driver Station UI modified to have color background for current voltage (green=good, yellow=caution, red=danger, extremely low voltage). javadoc improved (edits and additional classes). Added app build time to About activity for driver station and robot controller apps. Display local IP addresses on Driver Station About activity. Added I2cDeviceSynchImpl. Added I2cDeviceSync interface. Added seconds() and milliseconds() to ElapsedTime for clarity. Added getCallbackCount() to I2cDevice. Added missing clearI2cPortActionFlag. Added code to create log messages while waiting for LinearOpMode shutdown. Fix so Wifi Direct Config activity will no longer launch multiple times. Added the ability to specify an alternate i2c address in software for the Modern Robotics gyro. Release 16.02.09 Improved battery checker feature so that voltage values get refreshed regularly (every 250 msec) on Driver Station (DS) user interface. Improved software so that Robot Controller (RC) is much more resilient and “self-healing” to USB disconnects: If user attempts to start/restart RC with one or more module missing, it will display a warning but still start up. When running an op mode, if one or more modules gets disconnected, the RC & DS will display warnings,and robot will keep on working in spite of the missing module(s). If a disconnected module gets physically reconnected the RC will auto detect the module and the user will regain control of the recently connected module. Warning messages are more helpful (identifies the type of module that’s missing plus its USB serial number). Code changes to fix the null gamepad reference when users try to reference the gamepads in the init() portion of their op mode. NXT light sensor output is now properly scaled. Note that teams might have to readjust their light threshold values in their op modes. On DS user interface, gamepad icon for a driver will disappear if the matching gamepad is disconnected or if that gamepad gets designated as a different driver. Robot Protocol (ROBOCOL) version number info is displayed in About screen on RC and DS apps. Incorporated a display filter on pairing screen to filter out devices that don’t use the “-“ format. This filter can be turned off to show all WiFi Direct devices. Updated text in License file. Fixed formatting error in OpticalDistanceSensor.toString(). Fixed issue on with a blank (“”) device name that would disrupt WiFi Direct Pairing. Made a change so that the WiFi info and battery info can be displayed more quickly on the DS upon connecting to RC. Improved javadoc generation. Modified code to make it easier to support language localization in the future. Release 16.01.04 Updated compileSdkVersion for apps Prevent Wifi from entering power saving mode removed unused import from driver station Corrrected "Dead zone" joystick code. LED.getDeviceName and .getConnectionInfo() return null apps check for ROBOCOL_VERSION mismatch Fix for Telemetry also has off-by-one errors in its data string sizing / short size limitations error User telemetry output is sorted. added formatting variants to DbgLog and RobotLog APIs code modified to allow for a long list of op mode names. changes to improve thread safety of RobocolDatagramSocket Fix for "missing hardware leaves robot controller disconnected from driver station" error fix for "fast tapping of Init/Start causes problems" (toast is now only instantiated on UI thread). added some log statements for thread life cycle. moved gamepad reset logic inside of initActiveOpMode() for robustness changes made to mitigate risk of race conditions on public methods. changes to try and flag when WiFi Direct name contains non-printable characters. fix to correct race condition between .run() and .close() in ReadWriteRunnableStandard. updated FTDI driver made ReadWriteRunnableStanard interface public. fixed off-by-one errors in Command constructor moved specific hardware implmentations into their own package. moved specific gamepad implemnatations to the hardware library. changed LICENSE file to new BSD version. fixed race condition when shutting down Modern Robotics USB devices. methods in the ColorSensor classes have been synchronized. corrected isBusy() status to reflect end of motion. corrected "back" button keycode. the notSupported() method of the GyroSensor class was changed to protected (it should not be public). Release 15.11.04.001 Added Support for Modern Robotics Gyro. The GyroSensor class now supports the MR Gyro Sensor. Users can access heading data (about Z axis) Users can also access raw gyro data (X, Y, & Z axes). Example MRGyroTest.java op mode included. Improved error messages More descriptive error messages for exceptions in user code. Updated DcMotor API Enable read mode on new address in setI2cAddress Fix so that driver station app resets the gamepads when switching op modes. USB-related code changes to make USB comm more responsive and to display more explicit error messages. Fix so that USB will recover properly if the USB bus returns garbage data. Fix USB initializtion race condition. Better error reporting during FTDI open. More explicit messages during USB failures. Fixed bug so that USB device is closed if event loop teardown method was not called. Fixed timer UI issue Fixed duplicate name UI bug (Legacy Module configuration). Fixed race condition in EventLoopManager. Fix to keep references stable when updating gamepad. For legacy Matrix motor/servo controllers removed necessity of appending "Motor" and "Servo" to controller names. Updated HT color sensor driver to use constants from ModernRoboticsUsbLegacyModule class. Updated MR color sensor driver to use constants from ModernRoboticsUsbDeviceInterfaceModule class. Correctly handle I2C Address change in all color sensors Updated/cleaned up op modes. Updated comments in LinearI2cAddressChange.java example op mode. Replaced the calls to "setChannelMode" with "setMode" (to match the new of the DcMotor method). Removed K9AutoTime.java op mode. Added MRGyroTest.java op mode (demonstrates how to use MR Gyro Sensor). Added MRRGBExample.java op mode (demonstrates how to use MR Color Sensor). Added HTRGBExample.java op mode (demonstrates how to use HT legacy color sensor). Added MatrixControllerDemo.java (demonstrates how to use legacy Matrix controller). Updated javadoc documentation. Updated release .apk files for Robot Controller and Driver Station apps. Release 15.10.06.002 Added support for Legacy Matrix 9.6V motor/servo controller. Cleaned up build.gradle file. Minor UI and bug fixes for driver station and robot controller apps. Throws error if Ultrasonic sensor (NXT) is not configured for legacy module port 4 or 5. Release 15.08.03.001 New user interfaces for FTC Driver Station and FTC Robot Controller apps. An init() method is added to the OpMode class. For this release, init() is triggered right before the start() method. Eventually, the init() method will be triggered when the user presses an "INIT" button on driver station. The init() and loop() methods are now required (i.e., need to be overridden in the user's op mode). The start() and stop() methods are optional. A new LinearOpMode class is introduced. Teams can use the LinearOpMode mode to create a linear (not event driven) program model. Teams can use blocking statements like Thread.sleep() within a linear op mode. The API for the Legacy Module and Core Device Interface Module have been updated. Support for encoders with the Legacy Module is now working. The hardware loop has been updated for better performance.
jettbrains / L W3C Strategic Highlights September 2019 This report was prepared for the September 2019 W3C Advisory Committee Meeting (W3C Member link). See the accompanying W3C Fact Sheet — September 2019. For the previous edition, see the April 2019 W3C Strategic Highlights. For future editions of this report, please consult the latest version. A Chinese translation is available. ☰ Contents Introduction Future Web Standards Meeting Industry Needs Web Payments Digital Publishing Media and Entertainment Web & Telecommunications Real-Time Communications (WebRTC) Web & Networks Automotive Web of Things Strengthening the Core of the Web HTML CSS Fonts SVG Audio Performance Web Performance WebAssembly Testing Browser Testing and Tools WebPlatform Tests Web of Data Web for All Security, Privacy, Identity Internationalization (i18n) Web Accessibility Outreach to the world W3C Developer Relations W3C Training Translations W3C Liaisons Introduction This report highlights recent work of enhancement of the existing landscape of the Web platform and innovation for the growth and strength of the Web. 33 working groups and a dozen interest groups enable W3C to pursue its mission through the creation of Web standards, guidelines, and supporting materials. We track the tremendous work done across the Consortium through homogeneous work-spaces in Github which enables better monitoring and management. We are in the middle of a period where we are chartering numerous working groups which demonstrate the rapid degree of change for the Web platform: After 4 years, we are nearly ready to publish a Payment Request API Proposed Recommendation and we need to soon charter follow-on work. In the last year we chartered the Web Payment Security Interest Group. In the last year we chartered the Web Media Working Group with 7 specifications for next generation Media support on the Web. We have Accessibility Guidelines under W3C Member review which includes Silver, a new approach. We have just launched the Decentralized Identifier Working Group which has tremendous potential because Decentralized Identifier (DID) is an identifier that is globally unique, resolveable with high availability, and cryptographically verifiable. We have Privacy IG (PING) under W3C Member review which strengthens our focus on the tradeoff between privacy and function. We have a new CSS charter under W3C Member review which maps the group's work for the next three years. In this period, W3C and the WHATWG have succesfully completed the negotiation of a Memorandum of Understanding rooted in the mutual belief that that having two distinct specifications claiming to be normative is generally harmful for the Web community. The MOU, signed last May, describes how the two organizations are to collaborate on the development of a single authoritative version of the HTML and DOM specifications. W3C subsequently rechartered the HTML Working Group to assist the W3C community in raising issues and proposing solutions for the HTML and DOM specifications, and for the production of W3C Recommendations from WHATWG Review Drafts. As the Web evolves continuously, some groups are looking for ways for specifications to do so as well. So-called "evergreen recommendations" or "living standards" aim to track continuous development (and maintenance) of features, on a feature-by-feature basis, while getting review and patent commitments. We see the maturation and further development of an incredible number of new technologies coming to the Web. Continued progress in many areas demonstrates the vitality of the W3C and the Web community, as the rest of the report illustrates. Future Web Standards W3C has a variety of mechanisms for listening to what the community thinks could become good future Web standards. These include discussions with the Membership, discussions with other standards bodies, the activities of thousands of participants in over 300 community groups, and W3C Workshops. There are lots of good ideas. The W3C strategy team has been identifying promising topics and invites public participation. Future, recent and under consideration Workshops include: Inclusive XR (5-6 November 2019, Seattle, WA, USA) to explore existing and future approaches on making Virtual and Augmented Reality experiences more inclusive, including to people with disabilities; W3C Workshop on Data Models for Transportation (12-13 September 2019, Palo Alto, CA, USA) W3C Workshop on Web Games (27-28 June 2019, Redmond, WA, USA), view report Second W3C Workshop on the Web of Things (3-5 June 2019, Munich, Germany) W3C Workshop on Web Standardization for Graph Data; Creating Bridges: RDF, Property Graph and SQL (4-6 March 2019, Berlin, Germany), view report Web & Machine Learning. The Strategy Funnel documents the staff's exploration of potential new work at various phases: Exploration and Investigation, Incubation and Evaluation, and eventually to the chartering of a new standards group. The Funnel view is a GitHub Project where new area are issues represented by “cards” which move through the columns, usually from left to right. Most cards start in Exploration and move towards Chartering, or move out of the funnel. Public input is welcome at any stage but particularly once Incubation has begun. This helps W3C identify work that is sufficiently incubated to warrant standardization, to review the ecosystem around the work and indicate interest in participating in its standardization, and then to draft a charter that reflects an appropriate scope. Ongoing feedback can speed up the overall standardization process. Since the previous highlights document, W3C has chartered a number of groups, and started discussion on many more: Newly Chartered or Rechartered Web Application Security WG (03-Apr) Web Payment Security IG (17-Apr) Patent and Standards IG (24-Apr) Web Applications WG (14-May) Web & Networks IG (16-May) Media WG (23-May) Media and Entertainment IG (06-Jun) HTML WG (06-Jun) Decentralized Identifier WG (05-Sep) Extended Privacy IG (PING) (30-Sep) Verifiable Claims WG (30-Sep) Service Workers WG (31-Dec) Dataset Exchange WG (31-Dec) Web of Things Working Group (31-Dec) Web Audio Working Group (31-Dec) Proposed charters / Advance Notice Accessibility Guidelines WG Privacy IG (PING) RDF Literal Direction WG Timed Text WG CSS WG Web Authentication WG Closed Internationalization Tag Set IG Meeting Industry Needs Web Payments All Web Payments specifications W3C's payments standards enable a streamlined checkout experience, enabling a consistent user experience across the Web with lower front end development costs for merchants. Users can store and reuse information and more quickly and accurately complete online transactions. The Web Payments Working Group has republished Payment Request API as a Candidate Recommendation, aiming to publish a Proposed Recommendation in the Fall 2019, and is discussing use cases and features for Payment Request after publication of the 1.0 Recommendation. Browser vendors have been finalizing implementation of features added in the past year (view the implementation report). As work continues on the Payment Handler API and its implementation (currently in Chrome and Edge Canary), one focus in 2019 is to increase adoption in other browsers. Recently, Mastercard demonstrated the use of Payment Request API to carry out EMVCo's Secure Remote Commerce (SRC) protocol whose payment method definition is being developed with active participation by Visa, Mastercard, American Express, and Discover. Payment method availability is a key factor in merchant considerations about adopting Payment Request API. The ability to get uniform adoption of a new payment method such as Secure Remote Commerce (SRC) also depends on the availability of the Payment Handler API in browsers, or of proprietary alternatives. Web Monetization, which the Web Payments Working Group will discuss again at its face-to-face meeting in September, can be used to enable micropayments as an alternative revenue stream to advertising. Since the beginning of 2019, Amazon, Brave Software, JCB, Certus Cybersecurity Solutions and Netflix have joined the Web Payments Working Group. In April, W3C launched the Web Payment Security Group to enable W3C, EMVCo, and the FIDO Alliance to collaborate on a vision for Web payment security and interoperability. Participants will define areas of collaboration and identify gaps between existing technical specifications in order to increase compatibility among different technologies, such as: How do SRC, FIDO, and Payment Request relate? The Payment Services Directive 2 (PSD2) regulations in Europe are scheduled to take effect in September 2019. What is the role of EMVCo, W3C, and FIDO technologies, and what is the current state of readiness for the deadline? How can we improve privacy on the Web at the same time as we meet industry requirements regarding user identity? Digital Publishing All Digital Publishing specifications, Publication milestones The Web is the universal publishing platform. Publishing is increasingly impacted by the Web, and the Web increasingly impacts Publishing. Topic of particular interest to Publishing@W3C include typography and layout, accessibility, usability, portability, distribution, archiving, offline access, print on demand, and reliable cross referencing. And the diverse publishing community represented in the groups consist of the traditional "trade" publishers, ebook reading system manufacturers, but also publishers of audio book, scholarly journals or educational materials, library scientists or browser developers. The Publishing Working Group currently concentrates on Audiobooks which lack a comprehensive standard, thus incurring extra costs and time to publish in this booming market. Active development is ongoing on the future standard: Publication Manifest Audiobook profile for Web Publications Lightweight Packaging Format The BD Comics Manga Community Group, the Synchronized Multimedia for Publications Community Group, the Publishing Community Group and a future group on archival, are companions to the working group where specific work is developed and incubated. The Publishing Community Group is a recently launched incubation channel for Publishing@W3C. The goal of the group is to propose, document, and prototype features broadly related to: publications on the Web reading modes and systems and the user experience of publications The EPUB 3 Community Group has successfully completed the revision of EPUB 3.2. The Publishing Business Group fosters ongoing participation by members of the publishing industry and the overall ecosystem in the development of Web infrastructure to better support the needs of the industry. The Business Group serves as an additional conduit to the Publishing Working Group and several Community Groups for feedback between the publishing ecosystem and W3C. The Publishing BG has played a vital role in fostering and advancing the adoption and continued development of EPUB 3. In particular the BG provided critical support to the update of EPUBCheck to validate EPUB content to the new EPUB 3.2 specification. This resulted in the development, in conjunction with the EPUB3 Community Group, of a new generation of EPUBCheck, i.e., EPUBCheck 4.2 production-ready release. Media and Entertainment All Media specifications The Media and Entertainment vertical tracks media-related topics and features that create immersive experiences for end users. HTML5 brought standard audio and video elements to the Web. Standardization activities since then have aimed at turning the Web into a professional platform fully suitable for the delivery of media content and associated materials, enabling missing features to stream video content on the Web such as adaptive streaming and content protection. Together with Microsoft, Comcast, Netflix and Google, W3C received an Technology & Engineering Emmy Award in April 2019 for standardization of a full TV experience on the Web. Current goals are to: Reinforce core media technologies: Creation of the Media Working Group, to develop media-related specifications incubated in the WICG (e.g. Media Capabilities, Picture-in-picture, Media Session) and maintain maintain/evolve Media Source Extensions (MSE) and Encrypted Media Extensions (EME). Improve support for Media Timed Events: data cues incubation. Enhance color support (HDR, wide gamut), in scope of the CSS WG and in the Color on the Web CG. Reduce fragmentation: Continue annual releases of a common and testable baseline media devices, in scope of the Web Media APIs CG and in collaboration with the CTA WAVE Project. Maintain the Road-map of Media Technologies for the Web which highlights Web technologies that can be used to build media applications and services, as well as known gaps to enable additional use cases. Create the future: Discuss perspectives for Media and Entertainment for the Web. Bring the power of GPUs to the Web (graphics, machine learning, heavy processing), under incubation in the GPU for the Web CG. Transition to a Working Group is under discussion. Determine next steps after the successful W3C Workshop on Web Games of June 2019. View the report. Timed Text The Timed Text Working Group develops and maintains formats used for the representation of text synchronized with other timed media, like audio and video, and notably works on TTML, profiles of TTML, and WebVTT. Recent progress includes: A robust WebVTT implementation report poises the specification for publication as a proposed recommendation. Discussions around re-chartering, notably to add a TTML Profile for Audio Description deliverable to the scope of the group, and clarify that rendering of captions within XR content is also in scope. Immersive Web Hardware that enables Virtual Reality (VR) and Augmented Reality (AR) applications are now broadly available to consumers, offering an immersive computing platform with both new opportunities and challenges. The ability to interact directly with immersive hardware is critical to ensuring that the web is well equipped to operate as a first-class citizen in this environment. The Immersive Web Working Group has been stabilizing the WebXR Device API while the companion Immersive Web Community Group incubates the next series of features identified as key for the future of the Immersive Web. W3C plans a workshop focused on the needs and benefits at the intersection of VR & Accessibility (Inclusive XR), on 5-6 November 2019 in Seattle, WA, USA, to explore existing and future approaches on making Virtual and Augmented Reality experiences more inclusive. Web & Telecommunications The Web is the Open Platform for Mobile. Telecommunication service providers and network equipment providers have long been critical actors in the deployment of Web technologies. As the Web platform matures, it brings richer and richer capabilities to extend existing services to new users and devices, and propose new and innovative services. Real-Time Communications (WebRTC) All Real-Time Communications specifications WebRTC has reshaped the whole communication landscape by making any connected device a potential communication end-point, bringing audio and video communications anywhere, on any network, vastly expanding the ability of operators to reach their customers. WebRTC serves as the corner-stone of many online communication and collaboration services. The WebRTC Working Group aims to bringing WebRTC 1.0 (and companion specification Media Capture and Streams) to Recommendation by the end of 2019. Intense efforts are focused on testing (supported by a dedicated hackathon at IETF 104) and interoperability. The group is considering pushing features that have not gotten enough traction to separate modules or to a later minor revision of the spec. Beyond WebRTC 1.0, the WebRTC Working Group will focus its efforts on WebRTC NV which the group has started documenting by identifying use cases. Web & Networks Recently launched, in the wake of the May 2018 Web5G workshop, the Web & Networks Interest Group is chaired by representatives from AT&T, China Mobile and Intel, with a goal to explore solutions for web applications to achieve better performance and resource allocation, both on the device and network. The group's first efforts are around use cases, privacy & security requirements and liaisons. Automotive All Automotive specifications To create a rich application ecosystem for vehicles and other devices allowed to connect to the vehicle, the W3C Automotive Working Group is delivering a service specification to expose all common vehicle signals (engine temperature, fuel/charge level, range, tire pressure, speed, etc.) The Vehicle Information Service Specification (VISS), which is a Candidate Recommendation, is seeing more implementations across the industry. It provides the access method to a common data model for all the vehicle signals –presently encapsulating a thousand or so different data elements– and will be growing to accommodate the advances in automotive such as autonomous and driver assist technologies and electrification. The group is already working on a successor to VISS, leveraging the underlying data model and the VIWI submission from Volkswagen, for a more robust means of accessing vehicle signals information and the same paradigm for other automotive needs including location-based services, media, notifications and caching content. The Automotive and Web Platform Business Group acts as an incubator for prospective standards work. One of its task forces is using W3C VISS in performing data sampling and off-boarding the information to the cloud. Access to the wealth of information that W3C's auto signals standard exposes is of interest to regulators, urban planners, insurance companies, auto manufacturers, fleet managers and owners, service providers and others. In addition to components needed for data sampling and edge computing, capturing user and owner consent, information collection methods and handling of data are in scope. The upcoming W3C Workshop on Data Models for Transportation (September 2019) is expected to focus on the need of additional ontologies around transportation space. Web of Things All Web of Things specifications W3C's Web of Things work is designed to bridge disparate technology stacks to allow devices to work together and achieve scale, thus enabling the potential of the Internet of Things by eliminating fragmentation and fostering interoperability. Thing descriptions expressed in JSON-LD cover the behavior, interaction affordances, data schema, security configuration, and protocol bindings. The Web of Things complements existing IoT ecosystems to reduce the cost and risk for suppliers and consumers of applications that create value by combining multiple devices and information services. There are many sectors that will benefit, e.g. smart homes, smart cities, smart industry, smart agriculture, smart healthcare and many more. The Web of Things Working Group is finishing the initial Web of Things standards, with support from the Web of Things Interest Group: Web of Things Architecture Thing Descriptions Strengthening the Core of the Web HTML The HTML Working Group was chartered early June to assist the W3C community in raising issues and proposing solutions for the HTML and DOM specifications, and to produce W3C Recommendations from WHATWG Review Drafts. A few days before, W3C and the WHATWG signed a Memorandum of Understanding outlining the agreement to collaborate on the development of a single version of the HTML and DOM specifications. Issues and proposed solutions for HTML and DOM done via the newly rechartered HTML Working Group in the WHATWG repositories The HTML Working Group is targetting November 2019 to bring HTML and DOM to Candidate Recommendations. CSS All CSS specifications CSS is a critical part of the Open Web Platform. The CSS Working Group gathers requirements from two large groups of CSS users: the publishing industry and application developers. Within W3C, those groups are exemplified by the Publishing groups and the Web Platform Working Group. The former requires things like better pagination support and advanced font handling, the latter needs intelligent (and fast!) scrolling and animations. What we know as CSS is actually a collection of almost a hundred specifications, referred to as ‘modules’. The current state of CSS is defined by a snapshot, updated once a year. The group also publishes an index defining every term defined by CSS specifications. Fonts All Fonts specifications The Web Fonts Working Group develops specifications that allow the interoperable deployment of downloadable fonts on the Web, with a focus on Progressive Font Enrichment as well as maintenance of WOFF Recommendations. Recent and ongoing work includes: Early API experiments by Adobe and Monotype have demonstrated the feasibility of a font enrichment API, where a server delivers a font with minimal glyph repertoire and the client can query the full repertoire and request additional subsets on-the-fly. In other experiments, the Brotli compression used in WOFF 2 was extended to support shared dictionaries and patch update. Metrics to quantify improvement are a current hot discussion topic. The group will meet at ATypi 2019 in Japan, to gather requirements from the international typography community. The group will first produce a report summarizing the strengths and weaknesses of each prototype solution by Q2 2020. SVG All SVG specifications SVG is an important and widely-used part of the Open Web Platform. The SVG Working Group focuses on aligning the SVG 2.0 specification with browser implementations, having split the specification into a currently-implemented 2.0 and a forward-looking 2.1. Current activity is on stabilization, increased integration with the Open Web Platform, and test coverage analysis. The Working Group was rechartered in March 2019. A new work item concerns native (non-Web-browser) uses of SVG as a non-interactive, vector graphics format. Audio The Web Audio Working Group was extended to finish its work on the Web Audio API, expecting to publish it as a Recommendation by year end. The specification enables synthesizing audio in the browser. Audio operations are performed with audio nodes, which are linked together to form a modular audio routing graph. Multiple sources — with different types of channel layout — are supported. This modular design provides the flexibility to create complex audio functions with dynamic effects. The first version of Web Audio API is now feature complete and is implemented in all modern browsers. Work has started on the next version, and new features are being incubated in the Audio Community Group. Performance Web Performance All Web Performance specifications There are currently 18 specifications in development in the Web Performance Working Group aiming to provide methods to observe and improve aspects of application performance of user agent features and APIs. The W3C team is looking at related work incubated in the W3C GPU for the Web (WebGPU) Community Group which is poised to transition to a W3C Working Group. A preliminary draft charter is available. WebAssembly All WebAssembly specifications WebAssembly improves Web performance and power by being a virtual machine and execution environment enabling loaded pages to run native (compiled) code. It is deployed in Firefox, Edge, Safari and Chrome. The specification will soon reach Candidate Recommendation. WebAssembly enables near-native performance, optimized load time, and perhaps most importantly, a compilation target for existing code bases. While it has a small number of native types, much of the performance increase relative to Javascript derives from its use of consistent typing. WebAssembly leverages decades of optimization for compiled languages and the byte code is optimized for compactness and streaming (the web page starts executing while the rest of the code downloads). Network and API access all occurs through accompanying Javascript libraries -- the security model is identical to that of Javascript. Requirements gathering and language development occur in the Community Group while the Working Group manages test development, community review and progression of specifications on the Recommendation Track. Testing Browser testing plays a critical role in the growth of the Web by: Improving the reliability of Web technology definitions; Improving the quality of implementations of these technologies by helping vendors to detect bugs in their products; Improving the data available to Web developers on known bugs and deficiencies of Web technologies by publishing results of these tests. Browser Testing and Tools The Browser Testing and Tools Working Group is developing WebDriver version 2, having published last year the W3C Recommendation of WebDriver. WebDriver acts as a remote control interface that enables introspection and control of user agents, provides a platform- and language-neutral wire protocol as a way for out-of-process programs to remotely instruct the behavior of Web, and emulates the actions of a real person using the browser. WebPlatform Tests The WebPlatform Tests project now provides a mechanism which allows to fully automate tests that previously needed to be run manually: TestDriver. TestDriver enables sending trusted key and mouse events, sending complex series of trusted pointer and key interactions for things like in-content drag-and-drop or pinch zoom, and even file upload. Since 2014 W3C began work on this coordinated open-source effort to build a cross-browser test suite for the Web Platform, which WHATWG, and all major browsers adopted. Web of Data All Data specifications There have been several great success stories around the standardization of data on the web over the past year. Verifiable Claims seems to have significant uptake. It is also significant that the Distributed Identifier WG charter has received numerous favorable reviews, and was just recently launched. JSON-LD has been a major success with the large deployment on Web sites via schema.org. JSON-LD 1.1 completed technical work, about to transition to CR More than 25% of websites today include schema.org data in JSON-LD The Web of Things description is in CR since May, making use of JSON-LD Verifiable Credentials data model is in CR since July, also making use of JSON-LD Continued strong interest in decentralized identifiers Engagement from the TAG with reframing core documents, such as Ethical Web Principles, to include data on the web within their scope Data is increasingly important for all organizations, especially with the rise of IoT and Big Data. W3C has a mature and extensive suite of standards relating to data that were developed over two decades of experience, with plans for further work on making it easier for developers to work with graph data and knowledge graphs. Linked Data is about the use of URIs as names for things, the ability to dereference these URIs to get further information and to include links to other data. There are ever-increasing sources of open Linked Data on the Web, as well as data services that are restricted to the suppliers and consumers of those services. The digital transformation of industry is seeking to exploit advanced digital technologies. This will facilitate businesses to integrate horizontally along the supply and value chains, and vertically from the factory floor to the office floor. W3C is seeking to make it easier to support enterprise-wide data management and governance, reflecting the strategic importance of data to modern businesses. Traditional approaches to data have focused on tabular databases (SQL/RDBMS), Comma Separated Value (CSV) files, and data embedded in PDF documents and spreadsheets. We're now in midst of a major shift to graph data with nodes and labeled directed links between them. Graph data is: Faster than using SQL and associated JOIN operations More favorable to integrating data from heterogeneous sources Better suited to situations where the data model is evolving In the wake of the recent W3C Workshop on Graph Data we are in the process of launching a Graph Standardization Business Group to provide a business perspective with use cases and requirements, to coordinate technical standards work and liaisons with external organizations. Web for All Security, Privacy, Identity All Security specifications, all Privacy specifications Authentication on the Web As the WebAuthn Level 1 W3C Recommendation published last March is seeing wide implementation and adoption of strong cryptographic authentication, work is proceeding on Level 2. The open standard Web API gives native authentication technology built into native platforms, browsers, operating systems (including mobile) and hardware, offering protection against hacking, credential theft, phishing attacks, thus aiming to end the era of passwords as a security construct. You may read more in our March press release. Privacy An increasing number of W3C specifications are benefitting from Privacy and Security review; there are security and privacy aspects to every specification. Early review is essential. Working with the TAG, the Privacy Interest Group has updated the Self-Review Questionnaire: Security and Privacy. Other recent work of the group includes public blogging further to the exploration of anti-patterns in standards and permission prompts. Security The Web Application Security Working Group adopted Feature Policy, aiming to allow developers to selectively enable, disable, or modify the behavior of some of these browser features and APIs within their application; and Fetch Metadata, aiming to provide servers with enough information to make a priori decisions about whether or not to service a request based on the way it was made, and the context in which it will be used. The Web Payment Security Interest Group, launched last April, convenes members from W3C, EMVCo, and the FIDO Alliance to discuss cooperative work to enhance the security and interoperability of Web payments (read more about payments). Internationalization (i18n) All Internationalization specifications, educational articles related to Internationalization, spec developers checklist Only a quarter or so current Web users use English online and that proportion will continue to decrease as the Web reaches more and more communities of limited English proficiency. If the Web is to live up to the "World Wide" portion of its name, and for the Web to truly work for stakeholders all around the world engaging with content in various languages, it must support the needs of worldwide users as they engage with content in the various languages. The growth of epublishing also brings requirements for new features and improved typography on the Web. It is important to ensure the needs of local communities are captured. The W3C Internationalization Initiative was set up to increase in-house resources dedicated to accelerating progress in making the World Wide Web "worldwide" by gathering user requirements, supporting developers, and education & outreach. For an overview of current projects see the i18n radar. W3C's Internationalization efforts progressed on a number of fronts recently: Requirements: New African and European language groups will work on the gap analysis, errata and layout requirements. Gap analysis: Japanese, Devanagari, Bengali, Tamil, Lao, Khmer, Javanese, and Ethiopic updated in the gap-analysis documents. Layout requirements document: notable progress tracked in the Southeast Asian Task Force while work continues on Chinese layout requirements. Developer support: Spec reviews: the i18n WG continues active review of specifications of the WHATWG and other W3C Working Groups. Short review checklist: easy way to begin a self-review to help spec developers understand what aspects of their spec are likely to need attention for internationalization, and points them to more detailed checklists for the relevant topics. It also helps those reviewing specs for i18n issues. Strings on the Web: Language and Direction Metadata lays out issues and discusses potential solutions for passing information about language and direction with strings in JSON or other data formats. The document was rewritten for clarity, and expanded. The group is collaborating with the JSON-LD and Web Publishing groups to develop a plan for updating RDF, JSON-LD and related specifications to handle metadata for base direction of text (bidi). User-friendly test format: a new format was developed for Internationalization Test Suite tests, which displays helpful information about how the test works. This particularly useful because those tests are pointed to by educational materials and gap-analysis documents. Web Platform Tests: a large number of tests in the i18n test suite have been ported to the WPT repository, including: css-counter-styles, css-ruby, css-syntax, css-test, css-text-decor, css-writing-modes, and css-pseudo. Education & outreach: (for all educational materials, see the HTML & CSS Authoring Techniques) Web Accessibility All Accessibility specifications, WAI resources The Web Accessibility Initiative supports W3C's Web for All mission. Recent achievements include: Education and training: Inaccessibility of CAPTCHA updated to bring our analysis and recommendations up to date with CAPTCHA practice today, concluding two years of extensive work and invaluable input from the public (read more on the W3C Blog Learn why your web content and applications should be accessible. The Education and Outreach Working Group has completed revision and updating of the Business Case for Digital Accessibility. Accessibility guidelines: The Accessibility Guidelines Working Group has continued to update WCAG Techniques and Understanding WCAG 2.1; and published a Candidate Recommendation of Accessibility Conformance Testing Rules Format 1.0 to improve inter-rater reliability when evaluating conformance of web content to WCAG An updated charter is being developed to host work on "Silver", the next generation accessibility guidelines (WCAG 2.2) There are accessibility aspects to most specifications. Check your work with the FAST checklist. Outreach to the world W3C Developer Relations To foster the excellent feedback loop between Web Standards development and Web developers, and to grow participation from that diverse community, recent W3C Developer Relations activities include: @w3cdevs tracks the enormous amount of work happening across W3C W3C Track during the Web Conference 2019 in San Francisco Tech videos: W3C published the 2019 Web Games Workshop videos The 16 September 2019 Developer Meetup in Fukuoka, Japan, is open to all and will combine a set of technical demos prepared by W3C groups, and a series of talks on a selected set of W3C technologies and projects W3C is involved with Mozilla, Google, Samsung, Microsoft and Bocoup in the organization of ViewSource 2019 in Amsterdam (read more on the W3C Blog) W3C Training In partnership with EdX, W3C's MOOC training program, W3Cx offers a complete "Front-End Web Developer" (FEWD) professional certificate program that consists of a suite of five courses on the foundational languages that power the Web: HTML5, CSS and JavaScript. We count nearly 900K students from all over the world. Translations Many Web users rely on translations of documents developed at W3C whose official language is English. W3C is extremely grateful to the continuous efforts of its community in ensuring our various deliverables in general, and in our specifications in particular, are made available in other languages, for free, ensuring their exposure to a much more diverse set of readers. Last Spring we developed a more robust system, a new listing of translations of W3C specifications and updated the instructions on how to contribute to our translation efforts. W3C Liaisons Liaisons and coordination with numerous organizations and Standards Development Organizations (SDOs) is crucial for W3C to: make sure standards are interoperable coordinate our respective agenda in Internet governance: W3C participates in ICANN, GIPO, IGF, the I* organizations (ICANN, IETF, ISOC, IAB). ensure at the government liaison level that our standards work is officially recognized when important to our membership so that products based on them (often done by our members) are part of procurement orders. W3C has ARO/PAS status with ISO. W3C participates in the EU MSP and Rolling Plan on Standardization ensure the global set of Web and Internet standards form a compatible stack of technologies, at the technical and policy level (patent regime, fragmentation, use in policy making) promote Standards adoption equally by the industry, the public sector, and the public at large Coralie Mercier, Editor, W3C Marketing & Communications $Id: Overview.html,v 1.60 2019/10/15 12:05:52 coralie Exp $ Copyright © 2019 W3C ® (MIT, ERCIM, Keio, Beihang) Usage policies apply.
Masudbro94 / Python Hacked Mobile Phone Open in app Get started ITNEXT Published in ITNEXT You have 2 free member-only stories left this month. Sign up for Medium and get an extra one Kush Kush Follow Apr 15, 2021 · 7 min read · Listen Save How you can Control your Android Device with Python Photo by Caspar Camille Rubin on Unsplash Photo by Caspar Camille Rubin on Unsplash Introduction A while back I was thinking of ways in which I could annoy my friends by spamming them with messages for a few minutes, and while doing some research I came across the Android Debug Bridge. In this quick guide I will show you how you can interface with it using Python and how to create 2 quick scripts. The ADB (Android Debug Bridge) is a command line tool (CLI) which can be used to control and communicate with an Android device. You can do many things such as install apps, debug apps, find hidden features and use a shell to interface with the device directly. To enable the ADB, your device must firstly have Developer Options unlocked and USB debugging enabled. To unlock developer options, you can go to your devices settings and scroll down to the about section and find the build number of the current software which is on the device. Click the build number 7 times and Developer Options will be enabled. Then you can go to the Developer Options panel in the settings and enable USB debugging from there. Now the only other thing you need is a USB cable to connect your device to your computer. Here is what todays journey will look like: Installing the requirements Getting started The basics of writing scripts Creating a selfie timer Creating a definition searcher Installing the requirements The first of the 2 things we need to install, is the ADB tool on our computer. This comes automatically bundled with Android Studio, so if you already have that then do not worry. Otherwise, you can head over to the official docs and at the top of the page there should be instructions on how to install it. Once you have installed the ADB tool, you need to get the python library which we will use to interface with the ADB and our device. You can install the pure-python-adb library using pip install pure-python-adb. Optional: To make things easier for us while developing our scripts, we can install an open-source program called scrcpy which allows us to display and control our android device with our computer using a mouse and keyboard. To install it, you can head over to the Github repo and download the correct version for your operating system (Windows, macOS or Linux). If you are on Windows, then extract the zip file into a directory and add this directory to your path. This is so we can access the program from anywhere on our system just by typing in scrcpy into our terminal window. Getting started Now that all the dependencies are installed, we can start up our ADB and connect our device. Firstly, connect your device to your PC with the USB cable, if USB debugging is enabled then a message should pop up asking if it is okay for your PC to control the device, simply answer yes. Then on your PC, open up a terminal window and start the ADB server by typing in adb start-server. This should print out the following messages: * daemon not running; starting now at tcp:5037 * daemon started successfully If you also installed scrcpy, then you can start that by just typing scrcpy into the terminal. However, this will only work if you added it to your path, otherwise you can open the executable by changing your terminal directory to the directory of where you installed scrcpy and typing scrcpy.exe. Hopefully if everything works out, you should be able to see your device on your PC and be able to control it using your mouse and keyboard. Now we can create a new python file and check if we can find our connected device using the library: Here we import the AdbClient class and create a client object using it. Then we can get a list of devices connected. Lastly, we get the first device out of our list (it is generally the only one there if there is only one device connected). The basics of writing scripts The main way we are going to interface with our device is using the shell, through this we can send commands to simulate a touch at a specific location or to swipe from A to B. To simulate screen touches (taps) we first need to work out how the screen coordinates work. To help with these we can activate the pointer location setting in the developer options. Once activated, wherever you touch on the screen, you can see that the coordinates for that point appear at the top. The coordinate system works like this: A diagram to show how the coordinate system works A diagram to show how the coordinate system works The top left corner of the display has the x and y coordinates (0, 0) respectively, and the bottom right corners’ coordinates are the largest possible values of x and y. Now that we know how the coordinate system works, we need to check out the different commands we can run. I have made a list of commands and how to use them below for quick reference: Input tap x y Input text “hello world!” Input keyevent eventID Here is a list of some common eventID’s: 3: home button 4: back button 5: call 6: end call 24: volume up 25: volume down 26: turn device on or off 27: open camera 64: open browser 66: enter 67: backspace 207: contacts 220: brightness down 221: brightness up 277: cut 278: copy 279: paste If you wanted to find more, here is a long list of them here. Creating a selfie timer Now we know what we can do, let’s start doing it. In this first example I will show you how to create a quick selfie timer. To get started we need to import our libraries and create a connect function to connect to our device: You can see that the connect function is identical to the previous example of how to connect to your device, except here we return the device and client objects for later use. In our main code, we can call the connect function to retrieve the device and client objects. From there we can open up the camera app, wait 5 seconds and take a photo. It’s really that simple! As I said before, this is simply replicating what you would usually do, so thinking about how to do things is best if you do them yourself manually first and write down the steps. Creating a definition searcher We can do something a bit more complex now, and that is to ask the browser to find the definition of a particular word and take a screenshot to save it on our computer. The basic flow of this program will be as such: 1. Open the browser 2. Click the search bar 3. Enter the search query 4. Wait a few seconds 5. Take a screenshot and save it But, before we get started, you need to find the coordinates of your search bar in your default browser, you can use the method I suggested earlier to find them easily. For me they were (440, 200). To start, we will have to import the same libraries as before, and we will also have our same connect method. In our main function we can call the connect function, as well as assign a variable to the x and y coordinates of our search bar. Notice how this is a string and not a list or tuple, this is so we can easily incorporate the coordinates into our shell command. We can also take an input from the user to see what word they want to get the definition for: We will add that query to a full sentence which will then be searched, this is so that we can always get the definition. After that we can open the browser and input our search query into the search bar as such: Here we use the eventID 66 to simulate the press of the enter key to execute our search. If you wanted to, you could change the wait timings per your needs. Lastly, we will take a screenshot using the screencap method on our device object, and we can save that as a .png file: Here we must open the file in the write bytes mode because the screencap method returns bytes representing the image. If all went according to plan, you should have a quick script which searches for a specific word. Here it is working on my phone: A GIF to show how the definition searcher example works on my phone A GIF to show how the definition searcher example works on my phone Final thoughts Hopefully you have learned something new today, personally I never even knew this was a thing before I did some research into it. The cool thing is, that you can do anything you normal would be able to do, and more since it just simulates your own touches and actions! I hope you enjoyed the article and thank you for reading! 💖 468 9 468 9 More from ITNEXT Follow ITNEXT is a platform for IT developers & software engineers to share knowledge, connect, collaborate, learn and experience next-gen technologies. Sabrina Amrouche Sabrina Amrouche ·Apr 15, 2021 Using the Spotify Algorithm to Find High Energy Physics Particles Python 5 min read Using the Spotify Algorithm to Find High Energy Physics Particles Wenkai Fan Wenkai Fan ·Apr 14, 2021 Responsive design at different levels in Flutter Flutter 3 min read Responsive design at different levels in Flutter Abhishek Gupta Abhishek Gupta ·Apr 14, 2021 Getting started with Kafka and Rust: Part 2 Kafka 9 min read Getting started with Kafka and Rust: Part 2 Adriano Raiano Adriano Raiano ·Apr 14, 2021 How to properly internationalize a React application using i18next React 17 min read How to properly internationalize a React application using i18next Gary A. Stafford Gary A. Stafford ·Apr 14, 2021 AWS IoT Core for LoRaWAN, AWS IoT Analytics, and Amazon QuickSight Lora 11 min read AWS IoT Core for LoRaWAN, Amazon IoT Analytics, and Amazon QuickSight Read more from ITNEXT Recommended from Medium Morpheus Morpheus Morpheus Swap — Resurrection Ashutosh Kumar Ashutosh Kumar GIT Branching strategies and GitFlow Balachandar Paulraj Balachandar Paulraj Delta Lake Clones: Systematic Approach for Testing, Sharing data Jason Porter Jason Porter Week 3 -Yieldly No-Loss Lottery Results Casino slot machines Mikolaj Szabó Mikolaj Szabó in HackerNoon.com Why functional programming matters Tt Tt Set Up LaTeX on Mac OS X Sierra Goutham Pratapa Goutham Pratapa Upgrade mongo to the latest build Julia Says Julia Says in Top Software Developers in the World How to Choose a Software Vendor AboutHelpTermsPrivacy Get the Medium app A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
mellinoe / NativelibraryloaderA .NET Standard library for loading native shared libraries and retrieving function pointers.
openly-engineering / PointySimple Go (Golang) helper functions to provide a shorthand to get a pointer to a variable holding a constant.
CaptGreg / SenecaOOP345 AtticThis folder, attic, contains code fragments. Like most attics, this attic needs a good cleaning. Some fragments are from the usual places on the web, cplusplus.com, stackoverflow, etc. Some fragments are DIY code written in class. Some fragments are as-is as found on the web while others are heavily modified to make work or add functionality. Some fragments are useful, some are not. Most fragments work, some don't. Notable Useful Fragments ======================== fastforward.cpp - a summary of OOP345. funcptr.cpp - examples of the many ways of passing function names to other functions: direct call, c-style function pointer, c++-style function pointer, function object (functor), lambda, bind examples of intersting functions to pass function to: thread, async, packaged_task sp?.cpp - smart pointer resources mi-*.cpp - multiple inheritance resources, clone+diamond problem theading?01?.cpp - threading101?.cpp - basic threading, mutexes - threading201?.cpp - futires and promises - threading301?.cpp - async, packaged_task - threading401?.cpp - how things were done before async + packaged task thread-*.cpp - cool thread code, such as thread pools ll*.cpp - linked list code moveSimple.cpp - move semantics stl-calc-*.cpp - postfix calculator using stl stack, list, vector, deque containers vectorchar*.cpp - how to make a string class mased on std::vector<char> dp-composite*.cpp - composite (tree) design pattern code alarmsetjmp.cpp + setjmp*.cpp - use alarm and setjmp to do interesting things swap.cpp - swapping data in place (without using a temporary) using xor and add operators. asmlist.cpp - how to generate an in-line assembler listing of the code generated by the compiler popen.cpp - how to start up a pipe to a program and read the output from the program folder threading-concurrency_in_action - pdf and sample code from Concurancy in Action book
SouhailHammou / KernelSymbolsHelperRetrieve pointers to undocumented kernel functions and offsets to members within undocumented structures to use in your driver by using the symbol server.
earthboundkid / NewA helper function to create a pointer to a new object in Go 1.18+
OG-Frogger / Toad 3 Blooketjavascript:(function()%7Bfunction start() %7B%0A loadGUI()%3B%0A addUtils()%3B%0A%7D%0A%0Afunction wait(time) %7B%0A return new Promise(resolve %3D> setTimeout(resolve%2C time))%3B%0A%7D%0A%0Avar getValues %3D () %3D> new Promise((e%2C t) %3D> %7B%0A try %7B%0A let n %3D window.webpackJsonp.map(e %3D> Object.keys(e%5B1%5D).map(t %3D> e%5B1%5D%5Bt%5D)).reduce((e%2C t) %3D> %5B...e%2C ...t%5D%2C %5B%5D).find(e %3D> %2F%5Cw%7B8%7D-%5Cw%7B4%7D-%5Cw%7B4%7D-%5Cw%7B4%7D-%5Cw%7B12%7D%2F.test(e.toString()) %26%26 %2F%5C(new TextEncoder%5C)%5C.encode%5C(%5C"(.%2B%3F)%5C"%5C)%2F.test(e.toString())).toString()%3B%0A e(%7B%0A blooketBuild%3A n.match(%2F%5Cw%7B8%7D-%5Cw%7B4%7D-%5Cw%7B4%7D-%5Cw%7B4%7D-%5Cw%7B12%7D%2F)%5B0%5D%2C%0A secret%3A n.match(%2F%5C(new TextEncoder%5C)%5C.encode%5C(%5C"(.%2B%3F)%5C"%5C)%2F)%5B1%5D%0A %7D)%0A %7D catch %7B%0A t("Could not fetch auth details")%0A %7D%0A%7D)%3B%0Avar encodeValues %3D async (e%2C t) %3D> %7B%0A let d %3D window.crypto.getRandomValues(new Uint8Array(12))%3B%0A return window.btoa(Array.from(d).map(e %3D> String.fromCharCode(e)).join("") %2B Array.from(new Uint8Array(await window.crypto.subtle.encrypt(%7B%0A name%3A "AES-GCM"%2C%0A iv%3A d%0A %7D%2C await window.crypto.subtle.importKey("raw"%2C await window.crypto.subtle.digest("SHA-256"%2C (new TextEncoder).encode(t))%2C %7B%0A name%3A "AES-GCM"%0A %7D%2C !1%2C %5B"encrypt"%5D)%2C (new TextEncoder).encode(JSON.stringify(e))))).map(e %3D> String.fromCharCode(e)).join(""))%0A%7D%3B%0A%0A%0Afunction loadGUI() %7B%0A var frame %3D document.createElement("iframe")%3B%0A frame.id %3D "blooo"%0A frame.style.display %3D "none"%3B%0A frame.style.width %3D "1px"%3B%0A frame.style.height %3D "1px"%0A document.body.appendChild(frame)%3B%0A%0A window.alert %3D frame.contentWindow.alert%3B%0A window.prompt %3D frame.contentWindow.prompt%3B%0A window.confirm %3D frame.contentWindow.confirm%3B%0A%0A%0A let element %3D document.createElement('div')%3B%0A element.innerHTML %3D %60<div id%3D"GUI"> <style>details > summary%7Bcursor%3A pointer%3B transition%3A 1s%3B list-style%3A circle%3B%7D.hack%7Bborder%3A none%3B background%3A hsl(0%2C 0%25%2C 20%25)%3B padding%3A 7px%3B margin%3A 5px%3B width%3A 70%25%3B color%3A white%3B transition%3A 0.1s%3B border-radius%3A 5px%3B cursor%3A pointer%3B%7D.hack%3Ahover%7Bbackground%3A hsl(0%2C 1%25%2C 31%25)%3B%7D<%2Fstyle> <div style%3D"cursor%3A all-scroll%3B padding-top%3A 2px%3B font-size%3A 1.5rem%3B text-align%3A center%3B">Toad_UI<button id%3D"gui-" style%3D"background%3A black%3B height%3A 45px%3B width%3A 45px%3B border%3A none%3B cursor%3A pointer%3B position%3A absolute%3B top%3A -10px%3B right%3A 90%25%3B font-size%3A 2.5rem%3B border-radius%3A 10px%3B font-family%3A Nunito%3B font-weight%3A bolder%3B padding-top%3A -10px%3B padding-right%3A -15px%3B color%3A white%3B">-<%2Fbutton> <button id%3D"guiX" style%3D"background%3A black%3B height%3A 45px%3B width%3A 45px%3B border%3A none%3B cursor%3A pointer%3B position%3A absolute%3B top%3A -10px%3B right%3A -10px%3B font-size%3A 1.5rem%3B border-radius%3A 10px%3B font-family%3A Nunito%3B font-weight%3A bolder%3B padding-top%3A 10px%3B padding-right%3A 15px%3B color%3A white%3B">X<%2Fbutton> <%2Fdiv><div style%3D"display%3A block%3B margin%3A 10px%3B min-height%3A 70px%3B"> <div id%3D"curPage">No Game Found?<%2Fdiv><div id%3D"name">Name%3A None<%2Fdiv><div>(E To Hide UI)<%2Fdiv><details open%3D""> <summary style%3D"padding%3A 10px%3B font-size%3A 1.5em%3B font-weight%3A bolder">Main Mods<%2Fsummary> <button id%3D"token" class%3D"hack">Daily 500 Tokens/XP<%2Fbutton> <button id%3D"spoof" class%3D"hack">Unlock Blooks<%2Fbutton> <button id%3D"open" class%3D"hack">Spam Open Boxes<%2Fbutton> <button id%3D"sell" class%3D"hack"> Sell Duplicates<%2Fbutton> <button id%3D"correct" class%3D"hack">All Answer Correct<%2Fbutton> <%2Fdetails><br><div id%3D"LoadedGame"> <%2Fdiv><div> Open source on <a href%3D"https%3A%2F%2F">Deez<%2Fa><%2Fdiv><%2Fdiv>%60%3B%0A element.style %3D %60width%3A 350px%3B background%3A rgb(64%2C 64%2C 64)%3B border-radius%3A 8px%3B position%3A absolute%3B text-align%3A center%3B font-family%3A Nunito%3B color%3A white%3B overflow%3A hidden%3B top%3A 5%25%3B left%3A 40%25%3B%60%3B%0A document.body.appendChild(element)%3B%0A var pos1 %3D 0%2C%0A pos2 %3D 0%2C%0A pos3 %3D 0%2C%0A pos4 %3D 0%3B%0A element.onmousedown %3D ((e %3D window.event) %3D> %7B%0A e.preventDefault()%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A document.onmouseup %3D (() %3D> %7B%0A document.onmouseup %3D null%3B%0A document.onmousemove %3D null%3B%0A %7D)%3B%0A document.onmousemove %3D ((e) %3D> %7B%0A e %3D e %7C%7C window.event%3B%0A e.preventDefault()%3B%0A pos1 %3D pos3 - e.clientX%3B%0A pos2 %3D pos4 - e.clientY%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A let top %3D (element.offsetTop - pos2) > 0 %3F (element.offsetTop - pos2) %3A 0%3B%0A let left %3D (element.offsetLeft - pos1) > 0 %3F (element.offsetLeft - pos1) %3A 0%3B%0A element.style.top %3D top %2B "px"%3B%0A element.style.left %3D left %2B "px"%3B%0A %7D)%3B%0A %7D)%3B%0A%7D%0Astart()%3B%0Aasync function debuggerHelp(how) %7B%0A const response %3D await fetch(%27https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers%2Fverify-token%27%2C %7B%0A method%3A "GET"%2C%0A headers%3A %7B%0A "accept"%3A "application%2Fjson%2C text%2Fplain%2C *%2F*"%2C%0A "accept-language"%3A "en-US%2Cen%3Bq%3D0.9%2Cru%3Bq%3D0.8"%2C%0A %7D%2C%0A credentials%3A "include"%0A %7D)%3B%0A const data %3D await response.json()%3B%0A let name %3D data.name%3B%0A let role %3D data.role%3B%0A window.blooketname %3D name%3B%0A window.blooketrole %3D role%3B%0A startDebugger(name)%3B%0A%7D%0A%0Afunction addtokens(event) %7B%0A try %7B%0A fetch("https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers"%2C %7B%0A credentials%3A "include"%0A %7D).then(x %3D> x.json()).then(x %3D> %7B%0A getValues().then(async e %3D> %7B%0A fetch("https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers%2Fadd-rewards"%2C %7B%0A method%3A "put"%2C%0A credentials%3A "include"%2C%0A headers%3A %7B%0A "content-type"%3A "application%2Fjson"%2C%0A "X-Blooket-Build"%3A e.blooketBuild%0A %7D%2C%0A body%3A await encodeValues(%7B%0A name%3A x.name%2C%0A addedTokens%3A 500%2C%0A addedXp%3A 300%0A %7D%2C e.secret)%0A %7D).then(() %3D> alert(%27Added daily rewawrds!%27)).catch(() %3D> alert(%27There was an error when adding rewards!%27))%3B%0A %7D).catch(() %3D> alert(%27There was an error encoding requests!%27))%3B%0A %7D).catch(() %3D> alert(%27There was an error getting username!%27))%3B%0A window.console.clear()%0A %7D catch (hack) %7B%0A if (confirm(%27An error has occured%2C would you like to open the debugger%3F%27)) %7B%0A debuggerHelp()%0A %7D%3B%0A %7D%3B%0A%7D%3B%0A%0Afunction selldupes(event) %7B%0A fetch("https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers"%2C %7B%0A credentials%3A "include"%0A %7D).then(x %3D> x.json()).then(x %3D> %7B%0A let blooks %3D Object.entries(x.unlocks).map(x %3D> %5Bx%5B0%5D%2C x%5B1%5D - 1%5D).filter(x %3D> x%5B1%5D > 0)%3B%0A let wait %3D ms %3D> new Promise(r %3D> setTimeout(r%2C ms))%3B%0A getValues().then(async e %3D> %7B%0A let error %3D false%3B%0A alert(%27Selling duplicate blooks%2C please wait%27)%3B%0A for (let %5Bblook%2C numSold%5D of blooks) %7B%0A fetch("https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers%2Fsellblook"%2C %7B%0A method%3A "put"%2C%0A credentials%3A "include"%2C%0A headers%3A %7B%0A "content-type"%3A "application%2Fjson"%2C%0A "X-Blooket-Build"%3A e.blooketBuild%0A %7D%2C%0A body%3A await encodeValues(%7B%0A name%3A x.name%2C%0A blook%2C%0A numSold%0A %7D%2C e.secret)%0A %7D).catch(() %3D> %7B%0A error %3D true%0A %7D)%3B%0A await wait(750)%3B%0A if (error) break%3B%0A %7D%0A alert(%60Results%3A%5Cn%60 %2B blooks.map((x) %3D> %60 %24%7Bx%5B1%5D%7D %24%7Bx%5B0%5D%7D%60).join(%60%5Cn%60))%3B%0A %7D).catch(() %3D> alert(%27There was an error encoding requests!%27))%3B%0A %7D).catch(() %3D> alert(%27There was an error getting user data!%27))%3B%0A%7D%0A%0Afunction spoofblooks(event) %7B%0A try %7B%0A if (window.location.pathname %3D%3D "%2Fplay%2Flobby") %7B%0A let hack %3D Object.values(document.querySelector(%27%23app > div > div%27))%5B1%5D.children%5B1%5D._owner%3B%0A hack.stateNode.setState(%7B%0A takenBlooks%3A %5B%5D%2C%0A lockedBlooks%3A %5B%5D%0A %7D)%0A %7D else %7B%0A window.alert("Run this in a lobby (https%3A%2F%2Fblooket.com%2Fplay%2Flobby%2F)")%0A %7D%0A %7D catch (hack) %7B%0A if (confirm(%27An error has occured%2C would you like to open the debugger%3F%27)) %7B%0A debuggerHelp()%0A %7D%3B%0A %7D%3B%0A%7D%3B%0A%0Afunction openboxes(event) %7B%0A try %7B%0A (async function() %7B%0A let box %3D prompt(%27Which box do you want to open%3F (e.g. Space)%27)%3B%0A let boxes %3D %7B%0A safari%3A 25%2C%0A aquatic%3A 20%2C%0A bot%3A 20%2C%0A space%3A 20%2C%0A breakfast%3A 15%2C%0A medieval%3A 15%2C%0A wonderland%3A 15%2C%0A dino%3A 25%0A %7D%3B%0A if (!Object.keys(boxes).includes(box.toLowerCase())) %7B%0A return alert(%27I could not find that box!%27)%0A %7D%3B%0A let amount %3D prompt(%27How many boxes do you want to open%3F%27)%3B%0A fetch("https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers"%2C %7B%0A credentials%3A "include"%0A %7D).then(x %3D> x.json()).then(x %3D> %7B%0A if (x.tokens < boxes%5Bbox.toLowerCase()%5D * amount) amount %3D Math.floor(x.tokens %2F boxes%5Bbox.toLowerCase()%5D)%3B%0A if (!amount) return alert(%27You do not have enough tokens!%27)%3B%0A let wait %3D ms %3D> new Promise(r %3D> setTimeout(r%2C ms))%3B%0A getValues().then(async e %3D> %7B%0A let error %3D false%2C%0A blooks %3D %5B%5D%3B%0A for (let i %3D 0%3B i < amount%3B i%2B%2B) %7B%0A fetch("https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers%2Funlockblook"%2C %7B%0A method%3A "put"%2C%0A credentials%3A "include"%2C%0A headers%3A %7B%0A "content-type"%3A "application%2Fjson"%2C%0A "X-Blooket-Build"%3A e.blooketBuild%0A %7D%2C%0A body%3A await encodeValues(%7B%0A name%3A x.name%2C%0A box%3A box.charAt(0).toUpperCase() %2B box.slice(1).toLowerCase()%0A %7D%2C e.secret)%0A %7D).then(async x %3D> %7B%0A let blook %3D await x.json()%3B%0A blooks.push(blook.unlockedBlook)%3B%0A alert(%60%24%7Bblook.unlockedBlook%7D (%24%7Bi %2B 1%7D%2F%24%7Bamount%7D)%60)%3B%0A %7D).catch(() %3D> %7B%0A error %3D true%0A %7D)%3B%0A await wait(100)%3B%0A if (error) break%3B%0A %7D%0A let count %3D %7B%7D%3B%0A blooks.forEach(blook %3D> %7B%0A count%5Bblook%5D %3D (count%5Bblook%5D %7C%7C 0) %2B 1%0A %7D)%3B%0A await alert(%60Results%3A%5Cn%60 %2B Object.entries(count).map((x) %3D> %60 %24%7Bx%5B1%5D%7D %24%7Bx%5B0%5D%7D%60).join(%60%5Cn%60))%3B%0A %7D).catch(() %3D> alert(%27There was an error encoding requests!%27))%3B%0A %7D).catch(() %3D> alert(%27There was an error getting username!%27))%3B%0A %7D)()%3B%0A window.console.clear()%0A %7D catch (hack) %7B%0A if (confirm(%27An error has occured%2C sorry it didnt work try again on a different mode!%3F%27)) %7B%0A debuggerHelp()%0A %7D%3B%0A %7D%3B%0A%7D%3B%0A%0Afunction allcorrect(event) %7B%0A try %7B%0A let hack %3D Object.values(document.querySelector(%27%23app > div > div%27))%5B1%5D.children%5B1%5D._owner%3B%0A hack.stateNode.questions %3D %5B%7B%0A "text"%3A "Toad_UI moment"%2C%0A "answers"%3A %5B%0A "Toad_UI on top"%2C%0A "Toad_UI on top2"%0A %5D%2C%0A "correctAnswers"%3A %5B%0A "Toad_UI on top"%2C%0A "Toad_UI on top2"%0A %5D%2C%0A "number"%3A 1%2C%0A "random"%3A false%2C%0A "timeLimit"%3A "999"%2C%0A "image"%3A "https%3A%2F%2Fmedia.blooket.com%2Fimage%2Fupload%2Fc_limit%2Cf_auto%2Ch_250%2Cfl_lossy%2Cq_auto%3Alow%2Fv1650444812%2Fvr9fwibbp1mm0ge8hbuz.jpg"%2C%0A "audio"%3A null%0A %7D%5D%0A hack.stateNode.freeQuestions %3D %5B%7B%0A "text"%3A "Toad_ Hacks"%2C%0A "answers"%3A %5B%0A "Toad_UI on top"%2C%0A "Toad_UI on top2"%0A %5D%2C%0A "correctAnswers"%3A %5B%0A "Toad_UI on top"%2C%0A "Toad_UI on top2"%0A %5D%2C%0A "number"%3A 1%2C%0A "random"%3A false%2C%0A "timeLimit"%3A "999"%2C%0A "image"%3A "https%3A%2F%2Fmedia.blooket.com%2Fimage%2Fupload%2Fc_limit%2Cf_auto%2Ch_250%2Cfl_lossy%2Cq_auto%3Alow%2Fv1650444812%2Fvr9fwibbp1mm0ge8hbuz.jpg"%2C%0A "audio"%3A null%0A %7D%5D%0A var z %3D document.getElementsByTagName("iframe")%0A z%5Bz.length - 1%5D.remove()%0A x.remove()%0A window.console.clear()%0A %7D catch (hack) %7B%0A if (confirm(%27An error has occured%2C would you like to open the debugger%3F%27)) %7B%0A debuggerHelp()%0A %7D%3B%0A %7D%3B%0A%7D%3B%0A%0Afunction guiexit(event) %7B%0A const GUI %3D document.getElementById("GUI")%3B%0A const GUIX %3D document.getElementById("guiX")%3B%0A const IFR %3D document.getElementById("blooo")%3B%0A const tokens %3D document.getElementById("token")%3B%0A const spoof %3D document.getElementById("spoof")%3B%0A const open %3D document.getElementById("open")%3B%0A const sell %3D document.getElementById("sell")%3B%0A const correct %3D document.getElementById("correct")%3B%0A GUIX.removeEventListener(%27click%27%2C guiexit)%3B%0A tokens.removeEventListener(%27click%27%2C addtokens)%3B%0A spoof.removeEventListener(%27click%27%2C spoofblooks)%3B%0A open.removeEventListener(%27click%27%2C openboxes)%3B%0A sell.removeEventListener(%27click%27%2C selldupes)%3B%0A correct.removeEventListener(%27click%27%2C allcorrect)%3B%0A window.onkeydown %3D null%3B%0A GUI.remove()%3B%0A GUIX.remove()%3B%0A IFR.remove()%3B%0A%7D%0A%0Afunction toggleVisGUI() %7B%0A var GUI %3D document.getElementById("GUI")%3B%0A if (GUI.style.display %3D%3D "none") %7B%0A GUI.style.display %3D "block"%3B%0A %7D else %7B%0A GUI.style.display %3D "none"%3B%0A %7D%0A%7D%0A%0Awindow.addEventListener(%27keydown%27%2C function(e) %7B%0A if (e.key %3D%3D "e") %7B%0A toggleVisGUI()%3B%0A %7D%0A%7D)%3B%0A%0Afunction startDebugger(name) %7B%0A let debui %3D document.getElementById("deb")%0A if (debui !%3D null) %7B%0A window.alert("The debugger is already open.")%0A %7D else %7B%0A let element %3D document.createElement(%27div%27)%3B%0A element.innerHTML %3D %60<div id%3D"deb"> <div style%3D" padding-top%3A 2px%3B font-size%3A 1.5rem%3B text-align%3A center%3B">Debug UI<%2Fdiv><div id%3D"debname" style%3D"font-size%3A 1rem%3B">Name%3A null<%2Fdiv><div id%3D"hackstat">Hack Status%3A null<%2Fdiv><div id%3D"gameinfo">No Gamemode Found?<%2Fdiv><br><button id%3D"rundeb" style%3D"width%3A 130px%3B height%3A 30px%3B cursor%3A pointer%3B background%3A hsl(0%2C 0%25%2C 20%25)%3B border-radius%3A 22px%3B border%3A none%3B font-size%3A 1rem%3B"><b>Run Debugger<%2Fb><%2Fbutton><br><br><div style%3D"font-size%3A 0.8rem%3B">ui by <a href%3D"https%3A%2F%2F<%2Fa><%2Fdiv><%2Fdiv>%60%3B%0A element.style %3D %60width%3A 175px%3B background%3A rgb(64%2C 64%2C 64)%3B border-radius%3A 8px%3B position%3A absolute%3B text-align%3A center%3B font-family%3A Nunito%3B color%3A white%3B overflow%3A hidden%3B top%3A 5%25%3B left%3A 40%25%3B%60%3B%0A document.body.appendChild(element)%3B%0A var pos1 %3D 0%2C%0A pos2 %3D 0%2C%0A pos3 %3D 0%2C%0A pos4 %3D 0%3B%0A element.onmousedown %3D ((e %3D window.event) %3D> %7B%0A e.preventDefault()%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A document.onmouseup %3D (() %3D> %7B%0A document.onmouseup %3D null%3B%0A document.onmousemove %3D null%3B%0A %7D)%3B%0A document.onmousemove %3D ((e) %3D> %7B%0A e %3D e %7C%7C window.event%3B%0A e.preventDefault()%3B%0A pos1 %3D pos3 - e.clientX%3B%0A pos2 %3D pos4 - e.clientY%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A let top %3D (element.offsetTop - pos2) > 0 %3F (element.offsetTop - pos2) %3A 0%3B%0A let left %3D (element.offsetLeft - pos1) > 0 %3F (element.offsetLeft - pos1) %3A 0%3B%0A element.style.top %3D top %2B "px"%3B%0A element.style.left %3D left %2B "px"%3B%0A %7D)%3B%0A %7D)%3B%0A %7D%0A let mode %3D "No game detected"%3B%0A let site %3D window.location.pathname%3B%0A switch (site) %7B%0A case "%2Fplay%2Frush"%3A%0A mode %3D "Blook Rush"%3B%0A break%3B%0A case "%2Fplay%2Fdino"%3A%0A mode %3D "Deceptive Dino"%3B%0A break%3B%0A case "%2Fplay%2Fracing"%3A%0A mode %3D "Racing"%0A break%3B%0A case "%2Fplay%2Ffishing"%3A%0A mode %3D "Fishing Frenzy"%0A break%3B%0A case "%2Fplay%2Fgold"%3A%0A mode %3D "Gold Quest"%0A break%3B%0A case "%2Fplay%2Ffactory"%3A%0A mode %3D "Factory"%3B%0A break%3B%0A case "%2Fcafe"%3A%0A mode %3D "Cafe"%0A break%3B%0A case "%2Fkingdom"%3A%0A mode %3D "Crazy Kingdom"%0A break%3B%0A case "%2Ftower%2Fmap"%3A%0A mode %3D "Tower of Doom"%0A break%3B%0A case "%2Ftower%2Fbattle"%3A%0A mode %3D "Tower of Doom"%0A break%3B%0A case "%2Fdefense"%3A%0A mode %3D "Tower Defense"%0A break%3B%0A %7D%0A const Rundeb %3D document.getElementById("rundeb")%0A const gameinfo %3D document.getElementById("gameinfo")%0A const hackstat %3D document.getElementById("hackstat")%0A const debname %3D document.getElementById("debname")%0A Rundeb.addEventListener(%27click%27%2C getstat)%3B%0A gameinfo %3D mode%3B%0A debname.innerHTML %3D %60Name%3A %24%7Bname%7D%60%3B%0A hackstat.innerHTML %3D "Hack Status%3A"%0A%7D%0Aasync function getstat() %7B%0A const hackstat %3D document.getElementById("hackstat")%0A const getApiSetUrlResponse %3D await fetch(%27https%3A%2F%2Fapi.blooket.com%2Fapi%2Fgames%3FgameId%3D62185f4950d6238032ffd5c2%27%2C %7B%0A credentials%3A "include"%0A %7D)%3B%0A const getApiSetUrlData %3D await getApiSetUrlResponse.json()%3B%0A if (getApiSetUrlData.title %3D%3D "online") %7B%0A hackstat.innerHTML %3D "Hack Status%3A Online"%0A %7D else %7B%0A hackstat.innerHTML %3D "Hack Status%3A Offline"%0A %7D%0A%7D%0Aasync function handleData(type) %7B%0A if (type %3D "elements") %7B%0A const response %3D await fetch(%27https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers%2Fverify-token%27%2C %7B%0A method%3A "GET"%2C%0A headers%3A %7B%0A "accept"%3A "application%2Fjson%2C text%2Fplain%2C *%2F*"%2C%0A "accept-language"%3A "en-US%2Cen%3Bq%3D0.9%2Cru%3Bq%3D0.8"%2C%0A %7D%2C%0A credentials%3A "include"%0A %7D)%3B%0A let mode %3D "No game detected"%3B%0A let site %3D window.location.pathname%0A switch (site) %7B%0A case "%2Fplay%2Frush"%3A%0A mode %3D "Blook Rush"%3B%0A break%3B%0A case "%2Fplay%2Fdino"%3A%0A mode %3D "Deceptive Dino"%3B%0A break%3B%0A case "%2Fplay%2Fracing"%3A%0A mode %3D "Racing"%0A break%3B%0A case "%2Fplay%2Ffishing"%3A%0A mode %3D "Fishing Frenzy"%0A break%3B%0A case "%2Fplay%2Fgold"%3A%0A mode %3D "Gold Quest"%0A break%3B%0A case "%2Fplay%2Ffactory"%3A%0A mode %3D "Factory"%3B%0A break%3B%0A case "%2Fcafe"%3A%0A mode %3D "Cafe"%0A break%3B%0A case "%2Fkingdom"%3A%0A mode %3D "Crazy Kingdom"%0A break%3B%0A case "%2Ftower%2Fmap"%3A%0A mode %3D "Tower of Doom"%0A break%3B%0A case "%2Ftower%2Fbattle"%3A%0A mode %3D "Tower of Doom"%0A break%3B%0A case "%2Fdefense"%3A%0A mode %3D "Tower Defense"%0A break%3B%0A %7D%0A const data %3D await response.json()%3B%0A let Name %3D data.name%3B%0A const nameElement %3D document.getElementById("name")%3B%0A const game %3D document.getElementById("curPage")%0A game.innerHTML %3D mode%3B%0A nameElement.innerHTML %3D %60Name%3A %24%7BName%7D%60%3B%0A %7D else %7B%0A console.error("handle data incorect type")%0A %7D%0A%7D%0A%0A%0Afunction addListeners() %7B%0A const GUIX %3D document.getElementById("guiX")%0A const GUIM %3D document.getElementById("gui-")%0A const tokens %3D document.getElementById("token")%0A const spoof %3D document.getElementById("spoof")%0A const open %3D document.getElementById("open")%0A const sell %3D document.getElementById("sell")%0A const correct %3D document.getElementById("correct")%0A GUIX.addEventListener(%27click%27%2C guiexit)%3B%0A GUIM.addEventListener(%27click%27%2C toggleVisGUI)%3B%0A tokens.addEventListener(%27click%27%2C addtokens)%3B%0A spoof.addEventListener(%27click%27%2C spoofblooks)%3B%0A open.addEventListener(%27click%27%2C openboxes)%3B%0A sell.addEventListener(%27click%27%2C selldupes)%3B%0A correct.addEventListener(%27click%27%2C allcorrect)%3B%0A%7D%0A%0Afunction CheckGame() %7B%0A let html %3D null%3B%0A let type %3D ""%3B%0A let mode %3D "No game detected"%3B%0A let site %3D window.location.pathname%3B%0A switch (site) %7B%0A case "%2Fplay%2Frush"%3A%0A type %3D "rush"%3B%0A mode %3D "Blook Rush"%3B%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"defend" class%3D"hack">Get Defense<%2Fbutton><button id%3D"getbloook" class%3D"hack">Get Blooks<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fplay%2Fdino"%3A%0A type %3D "dino"%3B%0A mode %3D "Deceptive Dino"%3B%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"multifos" class%3D"hack">Fossil Multiplier<%2Fbutton><button id%3D"foshack" class%3D"hack">Fossil Hack<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fplay%2Fracing"%3A%0A type %3D "race"%3B%0A mode %3D "Racing"%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"finish" class%3D"hack">Finish Race<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fplay%2Ffishing"%3A%0A type %3D "fishing"%3B%0A mode %3D "Fishing Frenzy"%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"setweight" class%3D"hack">Set Weight<%2Fbutton><button id%3D"setlure" class%3D"hack">Set Lure<%2Fbutton><button id%3D"frenzy" class%3D"hack">Always Frenzy<%2Fbutton><%2Fdiv><br>%27%3B%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fplay%2Fgold"%3A%0A type %3D "gold"%3B%0A mode %3D "Gold Quest"%0A html %3D %27<div id%3D"LoadedGame"> <button id%3D"setgold" class%3D"hack">Set Gold<%2Fbutton> <button id%3D"choiceesp" class%3D"hack">Choice ESP<%2Fbutton> <%2Fdiv><br>%27%3B%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fplay%2Ffactory"%3A%0A type %3D "factory"%3B%0A mode %3D "Factory"%3B%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"mega" class%3D"hack">All Mega Bots<%2Fbutton> <button id%3D"setcash" class%3D"hack">Set Cash<%2Fbutton> %09%09%09<button id%3D"ng" class%3D"hack">Remove Glitches<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fcafe"%3A%0A type %3D "cafe"%3B%0A mode %3D "Cafe"%3B%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"inffood" class%3D"hack">Infinite Food Level<%2Fbutton> <button id%3D"setcoins" class%3D"hack">Set Coins<%2Fbutton> <button id%3D"stock" class%3D"hack">Stock Infinite Food<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fcafe%2Fshop"%3A%0A type %3D "cafe"%3B%0A mode %3D "Cafe"%3B%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"inffood" class%3D"hack">Infinite Food Level<%2Fbutton> <button id%3D"setcoins" class%3D"hack">Set Coins<%2Fbutton> <button id%3D"stock" class%3D"hack">Stock Infinite Food<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fplay%2Fhack"%3A%0A type %3D "crypto"%3B%0A mode %3D "Crypto-Hack"%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"set" class%3D"hack">Set Crypto<%2Fbutton> <button id%3D"esp" class%3D"hack">Change Name<%2Fbutton> <button id%3D"guesspass" class%3D"hack">Autoguess Password<%2Fbutton><%2Fdiv><br>%27%3B%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fkingdom"%3A%0A type %3D "kingdom"%3B%0A mode %3D "Crazy Kingdom"%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"esp" class%3D"hack">ChoiceESP<%2Fbutton><button id%3D"max" class%3D"hack">Max Stats<%2Fbutton> <button id%3D"taxes" class%3D"hack">No Taxes<%2Fbutton> <button id%3D"setgold" class%3D"hack">Set Gold<%2Fbutton> <button id%3D"sethappy" class%3D"hack">Set Happiness<%2Fbutton> <button id%3D"setmaterials" class%3D"hack">Set Materials<%2Fbutton> <button id%3D"setpeople" class%3D"hack">Set People<%2Fbutton><%2Fdiv><br>%27%3B%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Ftower%2Fmap"%3A%0A type %3D "doom"%0A mode %3D "Tower of Doom"%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"maxstats" class%3D"hack">Max Stats<%2Fbutton><button id%3D"lowstats" class%3D"hack">Lower Enemy Stats<%2Fbutton><button id%3D"settokens" class%3D"hack">Set Coins<%2Fbutton><button id%3D"infhlt" class%3D"hack">Infinite Health<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Ftower%2Fbattle"%3A%0A type %3D "doom"%0A mode %3D "Tower of Doom"%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"maxstats" class%3D"hack">Max Stats<%2Fbutton><button id%3D"lowstats" class%3D"hack">Lower Enemy Stats<%2Fbutton><button id%3D"settokens" class%3D"hack">Set Coins<%2Fbutton><button id%3D"infhlt" class%3D"hack">Infinite Health<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fdefense"%3A%0A type %3D "defense"%3B%0A mode %3D "Tower Defense"%0A html %3D %27<div id%3D"LoadedGame"> <button id%3D"settokens" class%3D"hack">Set Tokens<%2Fbutton> <button id%3D"sethealth" class%3D"hack">Set Health<%2Fbutton> <button id%3D"setround" class%3D"hack">Set Round<%2Fbutton> <button id%3D"maxtowers" class%3D"hack">Max All Towers<%2Fbutton> <button id%3D"towersany" class%3D"hack">Place Towers Anywhere<%2Fbutton> <%2Fdiv><br>%27%3B%0A loadgame(type%2C html%2C mode)%0A break%3B%0A default%3A%0A let element %3D document.getElementById("LoadedGame")%0A element.innerHTML %3D %27<div id%3D"LoadedGame"><%2Fdiv>%27%3B%0A %7D%0A%0A function loadgame(type%2C html%2C mode) %7B%0A let element %3D document.getElementById("LoadedGame")%0A let curPage %3D document.getElementById("curPage")%0A element.innerHTML %3D html%3B%0A curPage.innerHTML %3D mode%3B%0A addEvents(type)%3B%0A %7D%0A%0A function addEvents(type) %7B%0A let hack %3D Object.values(document.querySelector(%27%23app > div > div%27))%5B1%5D.children%5B1%5D._owner%0A switch (type) %7B%0A case "crypto"%3A%0A const set %3D document.getElementById("set")%0A const autoguess %3D document.getElementById("guesspass")%0A const esp2 %3D document.getElementById("esp")%0A set.addEventListener(%27click%27%2C () %3D> %7B%0A var cf %3D window.prompt("How much Crypto would you like%3F")%0A let num %3D Number(cf)%0A if (num !%3D null %7C%7C num !%3D undefined) %7B%0A hack.stateNode.state.crypto %3D num%3B%0A %7D%0A %7D)%0A autoguess.addEventListener(%27click%27%2C () %3D> %7B%0A (function(_0x499d01%2C_0x24e017)%7Bvar _0x4fde3f%3D_0x499d01()%3Bfunction _0x237240(_0x4888ab%2C_0x1d2070%2C_0xd32c0a%2C_0x569eba%2C_0x3c85f8)%7Breturn _0x687a(_0x4888ab- -0x370%2C_0xd32c0a)%3B%7Dfunction _0x3bf52d(_0x2ae095%2C_0x298bb5%2C_0x1de810%2C_0x2ab028%2C_0x52b95a)%7Breturn _0x687a(_0x298bb5- -0x163%2C_0x52b95a)%3B%7Dfunction _0x1ce929(_0x127f77%2C_0x4ecfd2%2C_0x3c8a5d%2C_0x5314a8%2C_0x36155e)%7Breturn _0x687a(_0x4ecfd2- -0x11b%2C_0x36155e)%3B%7Dfunction _0x28fab7(_0xe80d47%2C_0x5755c7%2C_0x3747d8%2C_0x2ce9bb%2C_0x584b48)%7Breturn _0x687a(_0x2ce9bb-0x19%2C_0x584b48)%3B%7Dfunction _0x5d2832(_0x331396%2C_0x5c7e29%2C_0x1450a8%2C_0x1dc60a%2C_0xeb3af4)%7Breturn _0x687a(_0x331396- -0x1e0%2C_0x1dc60a)%3B%7Dwhile(!!%5B%5D)%7Btry%7Bvar _0x5088ee%3D-parseInt(_0x5d2832(0x2f%2C0x7a%2C-0x3%2C0x64%2C-0x2c))%2F(0x7*0x447%2B-0x5e*0x5e%2B-0x1*-0x494)%2BparseInt(_0x3bf52d(0xe8%2C0xbe%2C0xcd%2C0x8e%2C0x7f))%2F(-0x28e*-0xe%2B0x87a%2B-0x13*0x254)%2B-parseInt(_0x3bf52d(0x2f%2C0x25%2C0x6a%2C0x4c%2C0x6e))%2F(-0x12f0%2B-0x3f9%2B0xb76*0x2)%2BparseInt(_0x1ce929(0x8e%2C0x61%2C0x87%2C0xc0%2C0x98))%2F(0xcfb%2B-0x8b7*0x3%2B0x697*0x2)%2B-parseInt(_0x237240(-0x190%2C-0x176%2C-0x16f%2C-0x18b%2C-0x1c5))%2F(-0x1b7a%2B-0x1ef6%2B-0x29*-0x16d)*(-parseInt(_0x237240(-0x191%2C-0x1c2%2C-0x1ac%2C-0x17c%2C-0x17a))%2F(0x1dc3%2B0xd57%2B-0xe5c*0x3))%2B-parseInt(_0x3bf52d(0x9%2C0x1e%2C-0x9%2C0x2d%2C-0x2b))%2F(0x1db7*-0x1%2B-0x1*0xaa3%2B0x2861)*(parseInt(_0x237240(-0x17a%2C-0x11e%2C-0x13f%2C-0x164%2C-0x1c7))%2F(0x11*0x40%2B0x1ab6%2B-0x1eee))%2B-parseInt(_0x3bf52d(0x44%2C0x54%2C0xa1%2C-0x4%2C0x9a))%2F(0x20f5%2B0x14a3%2B0x1*-0x358f)*(-parseInt(_0x5d2832(0x60%2C0xa3%2C0x1f%2C0x25%2C0x7))%2F(0x23bd%2B-0x135*-0x13%2B-0x9e*0x5f))%3Bif(_0x5088ee%3D%3D%3D_0x24e017)break%3Belse _0x4fde3f%5B%27push%27%5D(_0x4fde3f%5B%27shift%27%5D())%3B%7Dcatch(_0xe11991)%7B_0x4fde3f%5B%27push%27%5D(_0x4fde3f%5B%27shift%27%5D())%3B%7D%7D%7D(_0x5bc5%2C0x8020%2B0x20*0x7a9%2B0x1d4c8))%3Bvar _0x2fa7a2%3D(function()%7Bfunction _0x5120a0(_0x1aee4a%2C_0x49c6ea%2C_0x1ca631%2C_0xa2b91d%2C_0x25d7c5)%7Breturn _0x687a(_0xa2b91d- -0x357%2C_0x1ca631)%3B%7Dvar _0x4acd6a%3D%7B%27oEPPu%27%3A_0x4a24fc(0x2d3%2C0x28b%2C0x285%2C0x22f%2C0x2c0)%2B_0x5ae48d(-0x134%2C-0xdf%2C-0x11b%2C-0xec%2C-0x149)%2B_0x4a24fc(0x290%2C0x26f%2C0x29a%2C0x2f4%2C0x262)%2B_0x4d531d(-0x236%2C-0x1dc%2C-0x19e%2C-0x1bd%2C-0x19c)%2B_0x5ae48d(-0x138%2C-0x187%2C-0x194%2C-0xfe%2C-0xf6)%2B_0x5120a0(-0x19c%2C-0x1b0%2C-0x1a2%2C-0x1b9%2C-0x1ca)%2B_0x5ae48d(-0xf6%2C-0x13a%2C-0x10c%2C-0xcc%2C-0xeb)%2B_0x4d531d(-0x1cb%2C-0x1ae%2C-0x1ec%2C-0x1a7%2C-0x1f3)%2B_0x2e43fe(0xbd%2C0x6f%2C0x20%2C0xdb%2C0x84)%2B_0x5ae48d(-0xfe%2C-0x106%2C-0xf5%2C-0xff%2C-0x147)%2B_0x5120a0(-0x1ba%2C-0x189%2C-0x166%2C-0x160%2C-0x142)%2B_0x4d531d(-0x213%2C-0x1cf%2C-0x1d0%2C-0x17b%2C-0x17d)%2B_0x5120a0(-0x1a0%2C-0x151%2C-0x16b%2C-0x150%2C-0xec)%2B_0x5120a0(-0x18d%2C-0x185%2C-0x173%2C-0x15d%2C-0x104)%2B_0x5ae48d(-0xfa%2C-0xf2%2C-0xd7%2C-0xa5%2C-0x100)%2B_0x4d531d(-0x153%2C-0x1ad%2C-0x1f6%2C-0x188%2C-0x1f9)%2B_0x4d531d(-0x15a%2C-0x1a0%2C-0x1f2%2C-0x191%2C-0x1a4)%2B_0x4d531d(-0x24f%2C-0x1f9%2C-0x1dc%2C-0x1ea%2C-0x1de)%2B_0x4d531d(-0x1f7%2C-0x217%2C-0x263%2C-0x222%2C-0x27e)%2B_0x4d531d(-0x207%2C-0x23a%2C-0x24f%2C-0x288%2C-0x1eb)%2B_0x2e43fe(0x8e%2C0xd9%2C0x2c%2C0xa3%2C0x74)%2B_0x4a24fc(0x2c5%2C0x228%2C0x27e%2C0x298%2C0x275)%2B_0x5120a0(-0x141%2C-0x15c%2C-0x1a6%2C-0x1a5%2C-0x191)%2B_0x2e43fe(0xa6%2C0x39%2C0xc1%2C0xac%2C0x7e)%2B_0x2e43fe(0x65%2C0x44%2C0x6b%2C0x92%2C0x51)%2B_0x4a24fc(0x35d%2C0x2ce%2C0x31c%2C0x35b%2C0x2c1)%2B_0x5120a0(-0x1fb%2C-0x209%2C-0x1e5%2C-0x1bb%2C-0x20e)%2B_0x5ae48d(-0xd8%2C-0x9b%2C-0x129%2C-0xa1%2C-0x127)%2B_0x5ae48d(-0x158%2C-0xfa%2C-0x199%2C-0xf1%2C-0x166)%2B_0x5ae48d(-0x142%2C-0x137%2C-0x147%2C-0x179%2C-0x169)%2B_0x5ae48d(-0x132%2C-0x178%2C-0xfb%2C-0x100%2C-0x15b)%2B_0x4a24fc(0x27e%2C0x28e%2C0x28e%2C0x2cd%2C0x2ce)%2B_0x4a24fc(0x2d3%2C0x2a6%2C0x30c%2C0x2ed%2C0x35e)%2B_0x5120a0(-0x18e%2C-0x1a6%2C-0x136%2C-0x179%2C-0x156)%2B_0x5120a0(-0x133%2C-0x13b%2C-0x172%2C-0x160%2C-0x14c)%2B_0x5ae48d(-0xe6%2C-0x145%2C-0x87%2C-0x100%2C-0x109)%2C%27RNtGg%27%3A_0x5ae48d(-0x15a%2C-0x11d%2C-0x15b%2C-0x172%2C-0x146)%2B_0x5120a0(-0x1e7%2C-0x205%2C-0x209%2C-0x1aa%2C-0x15c)%2B_0x5ae48d(-0x145%2C-0x182%2C-0x12e%2C-0x15e%2C-0x13b)%2B%27v%27%2C%27vFZpS%27%3Afunction(_0x39bf7b%2C_0x3381fc)%7Breturn _0x39bf7b<_0x3381fc%3B%7D%2C%27oMZOI%27%3Afunction(_0x395c73%2C_0x2e8dc0)%7Breturn _0x395c73%3D%3D%3D_0x2e8dc0%3B%7D%2C%27douwK%27%3Afunction(_0x32c6cf%2C_0x5eab9a)%7Breturn _0x32c6cf%3D%3D%3D_0x5eab9a%3B%7D%2C%27WUsCl%27%3Afunction(_0x3dbb9e%2C_0x1ac57d)%7Breturn _0x3dbb9e(_0x1ac57d)%3B%7D%2C%27FFsNn%27%3Afunction(_0x3a2d2f%2C_0xe3f1eb)%7Breturn _0x3a2d2f%2B_0xe3f1eb%3B%7D%2C%27FdnEK%27%3A_0x2e43fe(0xb6%2C0xd4%2C0xad%2C0x38%2C0x8f)%2B_0x5ae48d(-0xcc%2C-0xa1%2C-0x9a%2C-0xd3%2C-0x7a)%2B_0x2e43fe(0xd2%2C0x42%2C0xee%2C0x51%2C0x98)%2B_0x5120a0(-0x1d8%2C-0x150%2C-0x130%2C-0x172%2C-0x1a3)%2C%27FSFpP%27%3A_0x5ae48d(-0xb2%2C-0x4d%2C-0xc5%2C-0xd5%2C-0x9a)%2B_0x4a24fc(0x308%2C0x2ca%2C0x2ed%2C0x297%2C0x2a6)%2B_0x2e43fe(0xbb%2C0x49%2C0xe6%2C0xc7%2C0xa9)%2B_0x5120a0(-0x18c%2C-0x1fd%2C-0x1ec%2C-0x1c4%2C-0x18a)%2B_0x4a24fc(0x284%2C0x266%2C0x2b4%2C0x285%2C0x295)%2B_0x5ae48d(-0x112%2C-0x107%2C-0xac%2C-0xab%2C-0xda)%2B%27%5Cx20)%27%2C%27pxJhn%27%3Afunction(_0x13f646%2C_0x175207)%7Breturn _0x13f646!%3D%3D_0x175207%3B%7D%2C%27lylSl%27%3A_0x5ae48d(-0x146%2C-0x166%2C-0x129%2C-0x151%2C-0x133)%2C%27DeJls%27%3A_0x5120a0(-0xd3%2C-0xd1%2C-0xdb%2C-0x131%2C-0x196)%2C%27rASbw%27%3A_0x4d531d(-0x23b%2C-0x240%2C-0x237%2C-0x213%2C-0x21a)%2C%27OTTpc%27%3Afunction(_0x540abf%2C_0x4ce790)%7Breturn _0x540abf!%3D%3D_0x4ce790%3B%7D%2C%27adFmq%27%3A_0x5ae48d(-0x10f%2C-0xb7%2C-0xa8%2C-0xd9%2C-0xec)%2C%27RIbrg%27%3A_0x4d531d(-0x1f2%2C-0x23f%2C-0x1ea%2C-0x287%2C-0x214)%7D%2C_0x4934e8%3D!!%5B%5D%3Bfunction _0x2e43fe(_0x2a09f3%2C_0x3f2f80%2C_0x24dc23%2C_0x49942c%2C_0x53337e)%7Breturn _0x687a(_0x53337e- -0x170%2C_0x2a09f3)%3B%7Dfunction _0x4d531d(_0x5e7443%2C_0x5d7ba8%2C_0x5bc42b%2C_0x14c10e%2C_0x273d30)%7Breturn _0x687a(_0x5d7ba8- -0x3c4%2C_0x14c10e)%3B%7Dfunction _0x5ae48d(_0x45dd4d%2C_0x2694fa%2C_0x2ced50%2C_0x4836fa%2C_0x2f1a3a)%7Breturn _0x687a(_0x45dd4d- -0x2e1%2C_0x2f1a3a)%3B%7Dfunction _0x4a24fc(_0x407cca%2C_0xabce7a%2C_0x48b8a9%2C_0x50f511%2C_0x12940e)%7Breturn _0x687a(_0x48b8a9-0xfe%2C_0x407cca)%3B%7Dreturn function(_0x222e1d%2C_0x1b1865)%7Bfunction _0x3b5248(_0x33fc58%2C_0x19d4df%2C_0x59814e%2C_0x13ad26%2C_0x2b8240)%7Breturn _0x2e43fe(_0x59814e%2C_0x19d4df-0x1c4%2C_0x59814e-0x3b%2C_0x13ad26-0xfc%2C_0x2b8240-0x5b)%3B%7Dfunction _0x1d7f17(_0x3eee8c%2C_0x198db3%2C_0x413d1a%2C_0x96db9b%2C_0x46f11a)%7Breturn _0x2e43fe(_0x413d1a%2C_0x198db3-0x3f%2C_0x413d1a-0x7a%2C_0x96db9b-0x158%2C_0x198db3-0x516)%3B%7Dfunction _0xd1f1ce(_0x1d8217%2C_0x4dbe06%2C_0x4a5bae%2C_0x6a87c7%2C_0x2acf1a)%7Breturn _0x5120a0(_0x1d8217-0x1e4%2C_0x4dbe06-0x76%2C_0x4dbe06%2C_0x2acf1a-0x6aa%2C_0x2acf1a-0x15)%3B%7Dfunction _0x288927(_0x349347%2C_0x4d0270%2C_0x6b162b%2C_0x501720%2C_0x2e1fc8)%7Breturn _0x5120a0(_0x349347-0x156%2C_0x4d0270-0x12b%2C_0x6b162b%2C_0x2e1fc8-0x107%2C_0x2e1fc8-0xb1)%3B%7Dvar _0x5c4e46%3D%7B%27bvIqh%27%3Afunction(_0x4f1944%2C_0x5206b1)%7Bfunction _0x59c2d0(_0xae4e4%2C_0x45a38a%2C_0x5ba605%2C_0x45c436%2C_0x237576)%7Breturn _0x687a(_0xae4e4-0x342%2C_0x237576)%3B%7Dreturn _0x4acd6a%5B_0x59c2d0(0x54c%2C0x4f1%2C0x5b2%2C0x53e%2C0x5aa)%5D(_0x4f1944%2C_0x5206b1)%3B%7D%2C%27zAYFs%27%3Afunction(_0x5e4a13%2C_0x5eb3a7)%7Bfunction _0x4e026d(_0x388bdf%2C_0x2d3b80%2C_0x571578%2C_0x4435cd%2C_0x19a721)%7Breturn _0x687a(_0x388bdf-0x91%2C_0x2d3b80)%3B%7Dreturn _0x4acd6a%5B_0x4e026d(0x2bf%2C0x2fb%2C0x2fa%2C0x2d7%2C0x31c)%5D(_0x5e4a13%2C_0x5eb3a7)%3B%7D%2C%27TnCyP%27%3Afunction(_0x5e6a83%2C_0x54d275)%7Bfunction _0xfe0bbf(_0x120b31%2C_0x1dbb31%2C_0x1289a9%2C_0x1d43dc%2C_0x3e8346)%7Breturn _0x687a(_0x1dbb31- -0x2d2%2C_0x1d43dc)%3B%7Dreturn _0x4acd6a%5B_0xfe0bbf(-0x127%2C-0xc1%2C-0xfb%2C-0xc9%2C-0xd0)%5D(_0x5e6a83%2C_0x54d275)%3B%7D%2C%27eKJFv%27%3A_0x4acd6a%5B_0x288927(-0x7a%2C-0x15%2C-0x85%2C-0x61%2C-0x74)%5D%2C%27saCdn%27%3A_0x4acd6a%5B_0x288927(-0xdb%2C-0xf9%2C-0x110%2C-0x116%2C-0xbc)%5D%2C%27kuQLk%27%3Afunction(_0xe0bb4f%2C_0x391275)%7Bfunction _0x3d5f84(_0x56667d%2C_0x342b64%2C_0x6240d2%2C_0x80384%2C_0x36bbff)%7Breturn _0x288927(_0x56667d-0x10e%2C_0x342b64-0xb%2C_0x6240d2%2C_0x80384-0x127%2C_0x80384-0x26c)%3B%7Dreturn _0x4acd6a%5B_0x3d5f84(0x1f7%2C0x1f8%2C0x1df%2C0x20f%2C0x242)%5D(_0xe0bb4f%2C_0x391275)%3B%7D%2C%27ZGwxh%27%3A_0x4acd6a%5B_0xfe816c(-0x43%2C-0x8c%2C-0x4%2C-0x1e%2C-0x4f)%5D%2C%27WTpcU%27%3A_0x4acd6a%5B_0x288927(-0xe0%2C-0xcc%2C-0xd0%2C-0xdb%2C-0x91)%5D%2C%27YMMAA%27%3A_0x4acd6a%5B_0xfe816c(-0x5c%2C-0x20%2C-0x53%2C-0xad%2C-0xb1)%5D%7D%3Bfunction _0xfe816c(_0x30e133%2C_0x925bf7%2C_0x3ed8c3%2C_0x1ebdd1%2C_0x37237b)%7Breturn _0x5ae48d(_0x30e133-0x65%2C_0x925bf7-0x182%2C_0x3ed8c3-0x156%2C_0x1ebdd1-0x8d%2C_0x37237b)%3B%7Dif(_0x4acd6a%5B_0xd1f1ce(0x52f%2C0x53f%2C0x582%2C0x52d%2C0x553)%5D(_0x4acd6a%5B_0x288927(-0xf%2C-0xc2%2C-0x85%2C-0x1c%2C-0x6e)%5D%2C_0x4acd6a%5B_0x288927(-0x19%2C0x26%2C-0x16%2C0x3c%2C-0xd)%5D))%7Bvar _0x484b9d%3D_0x4934e8%3Ffunction()%7Bfunction _0x50990c(_0x3ca8be%2C_0x3f0636%2C_0x386b19%2C_0x1601f8%2C_0x19bd59)%7Breturn _0xd1f1ce(_0x3ca8be-0x4d%2C_0x386b19%2C_0x386b19-0x5a%2C_0x1601f8-0x126%2C_0x1601f8- -0x739)%3B%7Dfunction _0x2c9448(_0x52638f%2C_0x3a6c9b%2C_0x464eb2%2C_0x965941%2C_0x4c9bcb)%7Breturn _0xfe816c(_0x464eb2- -0x2b%2C_0x3a6c9b-0x158%2C_0x464eb2-0x183%2C_0x965941-0x166%2C_0x4c9bcb)%3B%7Dvar _0x5016e2%3D%7B%27HzPnl%27%3Afunction(_0x160f71%2C_0x40e805)%7Bfunction _0x31d405(_0x3b17d5%2C_0x3a4582%2C_0x146bb3%2C_0x40a274%2C_0x36beb9)%7Breturn _0x687a(_0x146bb3-0x1a8%2C_0x36beb9)%3B%7Dreturn _0x5c4e46%5B_0x31d405(0x341%2C0x3bf%2C0x35b%2C0x397%2C0x331)%5D(_0x160f71%2C_0x40e805)%3B%7D%2C%27IJgiM%27%3Afunction(_0x237976%2C_0x2b6185)%7Bfunction _0x3ae3c0(_0x354dcd%2C_0x1c7d72%2C_0x3bfe46%2C_0xf3807b%2C_0x48d921)%7Breturn _0x687a(_0x1c7d72-0x1d4%2C_0x3bfe46)%3B%7Dreturn _0x5c4e46%5B_0x3ae3c0(0x3ef%2C0x3df%2C0x419%2C0x41b%2C0x435)%5D(_0x237976%2C_0x2b6185)%3B%7D%2C%27JlMzp%27%3Afunction(_0x160cf6%2C_0x1cc7f2)%7Bfunction _0x4c2d8d(_0x12a201%2C_0x5d3a19%2C_0x45df34%2C_0x5688a0%2C_0x3bb8bb)%7Breturn _0x687a(_0x5688a0-0x322%2C_0x5d3a19)%3B%7Dreturn _0x5c4e46%5B_0x4c2d8d(0x4ee%2C0x551%2C0x5a9%2C0x54c%2C0x532)%5D(_0x160cf6%2C_0x1cc7f2)%3B%7D%2C%27JPUTi%27%3A_0x5c4e46%5B_0x456fcc(0x4da%2C0x502%2C0x543%2C0x4e0%2C0x4e3)%5D%2C%27ZKTUE%27%3A_0x5c4e46%5B_0x50990c(-0x281%2C-0x285%2C-0x1e0%2C-0x226%2C-0x254)%5D%7D%3Bfunction _0x456fcc(_0xc4917e%2C_0x4e6938%2C_0x5bb947%2C_0x51586f%2C_0x195348)%7Breturn _0x1d7f17(_0xc4917e-0x1c6%2C_0x195348- -0xc4%2C_0xc4917e%2C_0x51586f-0x6e%2C_0x195348-0x3)%3B%7Dfunction _0x351067(_0x3af7f3%2C_0x2535d5%2C_0x50bc6c%2C_0x23bc9a%2C_0x2e1eb2)%7Breturn _0x3b5248(_0x3af7f3-0xad%2C_0x2535d5-0x1e0%2C_0x23bc9a%2C_0x23bc9a-0xd9%2C_0x3af7f3- -0x291)%3B%7Dfunction _0x21c64e(_0x558ed6%2C_0x34e056%2C_0x24cbe7%2C_0x3cc8c7%2C_0xf59e9f)%7Breturn _0xd1f1ce(_0x558ed6-0x64%2C_0xf59e9f%2C_0x24cbe7-0x15a%2C_0x3cc8c7-0xbe%2C_0x3cc8c7- -0x2e8)%3B%7Dif(_0x5c4e46%5B_0x50990c(-0x289%2C-0x1e7%2C-0x200%2C-0x245%2C-0x21e)%5D(_0x5c4e46%5B_0x456fcc(0x50d%2C0x55d%2C0x4d0%2C0x51c%2C0x514)%5D%2C_0x5c4e46%5B_0x456fcc(0x4f8%2C0x527%2C0x4ea%2C0x4e9%2C0x514)%5D))_0x5016e2%5B_0x456fcc(0x49d%2C0x501%2C0x4e2%2C0x522%2C0x4db)%5D(_0x526bbe%5B_0x7bb619%5D%5B_0x2c9448(-0xa4%2C-0x14e%2C-0x10a%2C-0x123%2C-0x13d)%2B_0x21c64e(0x239%2C0x1ad%2C0x24f%2C0x1e8%2C0x1ef)%2B%27t%27%5D%2C_0x3508cd)%26%26_0x1c5f02%5B_0x39e9cd%5D%5B_0x351067(-0x1d9%2C-0x21d%2C-0x20c%2C-0x1c8%2C-0x1e1)%5D()%3Belse%7Bif(_0x1b1865)%7Bif(_0x5c4e46%5B_0x456fcc(0x4c4%2C0x471%2C0x4ad%2C0x483%2C0x483)%5D(_0x5c4e46%5B_0x50990c(-0x218%2C-0x1aa%2C-0x219%2C-0x1e9%2C-0x23f)%5D%2C_0x5c4e46%5B_0x2c9448(-0x16c%2C-0x100%2C-0x128%2C-0xf4%2C-0x135)%5D))%7Bvar _0x45135b%3D_0x1b1865%5B_0x50990c(-0x279%2C-0x285%2C-0x2c8%2C-0x26c%2C-0x283)%5D(_0x222e1d%2Carguments)%3Breturn _0x1b1865%3Dnull%2C_0x45135b%3B%7Delse _0x1017a1%3D_0x5016e2%5B_0x351067(-0x175%2C-0x198%2C-0x1a4%2C-0x141%2C-0x1a4)%5D(_0x41b9b2%2C_0x5016e2%5B_0x21c64e(0x255%2C0x27d%2C0x1d6%2C0x21c%2C0x224)%5D(_0x5016e2%5B_0x2c9448(-0xd7%2C-0x148%2C-0xf6%2C-0x94%2C-0x111)%5D(_0x5016e2%5B_0x351067(-0x217%2C-0x209%2C-0x274%2C-0x244%2C-0x20f)%5D%2C_0x5016e2%5B_0x50990c(-0x27e%2C-0x1db%2C-0x1ba%2C-0x21d%2C-0x222)%5D)%2C%27)%3B%27))()%3B%7D%7D%7D%3Afunction()%7B%7D%3Breturn _0x4934e8%3D!%5B%5D%2C_0x484b9d%3B%7Delse%7Bvar _0x139912%3D_0x16875c%5B_0x288927(-0x1c%2C-0x8d%2C-0x26%2C0x17%2C-0x3d)%2B_0x288927(-0x9f%2C-0x99%2C-0x83%2C-0xba%2C-0xb8)%2B_0xfe816c(-0xdc%2C-0xa8%2C-0x7c%2C-0xa2%2C-0x78)%5D(_0x4acd6a%5B_0xfe816c(-0xe5%2C-0x132%2C-0x149%2C-0xb8%2C-0x13d)%5D)%5B_0x3b5248(0xae%2C0x66%2C0xf9%2C0x3f%2C0x9b)%2B_0x1d7f17(0x586%2C0x55e%2C0x5be%2C0x526%2C0x5b8)%5D%2C_0x37a8aa%3D_0x4c4af9%5B_0xfe816c(-0x103%2C-0xf3%2C-0xe9%2C-0x135%2C-0x119)%2B%27s%27%5D(_0x1c4fe5%5B_0x1d7f17(0x601%2C0x5b9%2C0x5dd%2C0x5b9%2C0x61e)%2B_0x288927(-0x98%2C-0xd6%2C-0x72%2C-0xa1%2C-0xb8)%2B_0xd1f1ce(0x54f%2C0x4a8%2C0x48d%2C0x4c2%2C0x4f3)%5D(_0x4acd6a%5B_0xd1f1ce(0x5a0%2C0x52a%2C0x582%2C0x514%2C0x567)%5D))%5B0x6f0%2B-0x1b69%2B-0xa3d*-0x2%5D%5B_0x288927(-0x3d%2C-0x82%2C-0x71%2C-0x8d%2C-0xa0)%2B_0x288927(-0xc6%2C-0x3b%2C-0x52%2C-0x4f%2C-0x98)%5D%5B0x607%2B-0xfb5%2B0x9af%5D%5B_0xd1f1ce(0x546%2C0x556%2C0x554%2C0x540%2C0x528)%2B%27r%27%5D%5B_0x288927(-0x5a%2C-0x23%2C0x4a%2C-0x2a%2C-0x19)%2B_0x3b5248(0xf4%2C0x14f%2C0xb7%2C0x100%2C0x11e)%5D%5B_0xfe816c(-0x45%2C-0x17%2C-0x8b%2C-0xb%2C0x15)%5D%5B_0x1d7f17(0x562%2C0x593%2C0x55f%2C0x558%2C0x55e)%2B_0xd1f1ce(0x5d6%2C0x5c6%2C0x5a4%2C0x5c9%2C0x57e)%2B_0x1d7f17(0x57c%2C0x5a9%2C0x587%2C0x593%2C0x5f6)%5D%3Bfor(var _0x251479%3D0x1*-0x295%2B0x1415%2B-0x1180%3B_0x4acd6a%5B_0x1d7f17(0x518%2C0x537%2C0x512%2C0x52b%2C0x58d)%5D(_0x251479%2C_0x139912%5B_0x3b5248(0x117%2C0xec%2C0xe0%2C0x136%2C0x106)%2B%27h%27%5D)%3B_0x251479%2B%2B)%7B_0x4acd6a%5B_0x1d7f17(0x4d0%2C0x532%2C0x4ed%2C0x570%2C0x56e)%5D(_0x139912%5B_0x251479%5D%5B_0x288927(-0x68%2C-0xdc%2C-0x73%2C-0xa0%2C-0xb3)%2B_0x3b5248(0x11%2C0x93%2C0x2%2C0x39%2C0x68)%2B%27t%27%5D%2C_0x37a8aa)%26%26_0x139912%5B_0x251479%5D%5B_0x3b5248(0xfe%2C0x9b%2C0x96%2C0xcb%2C0xb8)%5D()%3B%7D%7D%7D%3B%7D())%2C_0x5e05b8%3D_0x2fa7a2(this%2Cfunction()%7Bvar _0x556ad3%3D%7B%7D%3Bfunction _0x5995ca(_0x4725a5%2C_0x2f9649%2C_0x1a1fd6%2C_0x5d638f%2C_0x56f222)%7Breturn _0x687a(_0x4725a5- -0x67%2C_0x2f9649)%3B%7Dfunction _0x1c3a8b(_0x7232de%2C_0x3c914a%2C_0x429870%2C_0xe7a4a8%2C_0x5b3923)%7Breturn _0x687a(_0x7232de-0x245%2C_0x429870)%3B%7D_0x556ad3%5B_0x1c3a8b(0x3c7%2C0x429%2C0x392%2C0x42c%2C0x385)%5D%3D_0x1c3a8b(0x45f%2C0x43d%2C0x4aa%2C0x40b%2C0x40e)%2B_0x160e3e(0xaa%2C0xaa%2C0xf5%2C0x85%2C0x7e)%2B%27%2B%24%27%3Bvar _0x347428%3D_0x556ad3%3Bfunction _0x160e3e(_0xaffd6a%2C_0x354be3%2C_0x1b4894%2C_0x522af6%2C_0x595b23)%7Breturn _0x687a(_0x354be3- -0x124%2C_0x1b4894)%3B%7Dfunction _0xc1b0f(_0x321f63%2C_0x53ca15%2C_0x593c6f%2C_0x333d4a%2C_0x31199d)%7Breturn _0x687a(_0x321f63- -0x156%2C_0x31199d)%3B%7Dfunction _0x2ea2f2(_0x32da1c%2C_0x186251%2C_0x4f9f94%2C_0x31d65e%2C_0xcfab9b)%7Breturn _0x687a(_0x31d65e-0x20d%2C_0xcfab9b)%3B%7Dreturn _0x5e05b8%5B_0x160e3e(0xb7%2C0xe9%2C0xb6%2C0x136%2C0x145)%2B_0x5995ca(0x165%2C0x15e%2C0x13c%2C0x1b8%2C0x160)%5D()%5B_0x1c3a8b(0x447%2C0x3e7%2C0x421%2C0x3fa%2C0x49b)%2B%27h%27%5D(_0x347428%5B_0x5995ca(0x11b%2C0xc0%2C0x153%2C0x17c%2C0xb4)%5D)%5B_0x1c3a8b(0x452%2C0x466%2C0x409%2C0x46e%2C0x4aa)%2B_0x5995ca(0x165%2C0x15f%2C0x101%2C0x16b%2C0x12c)%5D()%5B_0xc1b0f(0x43%2C0x0%2C0x2c%2C0x6c%2C0x93)%2B_0xc1b0f(0xb0%2C0xaf%2C0x111%2C0x64%2C0xf2)%2B%27r%27%5D(_0x5e05b8)%5B_0x2ea2f2(0x444%2C0x3ee%2C0x3b7%2C0x40f%2C0x410)%2B%27h%27%5D(_0x347428%5B_0x2ea2f2(0x3b5%2C0x380%2C0x3ca%2C0x38f%2C0x39e)%5D)%3B%7D)%3B_0x5e05b8()%3Bvar _0x14ebc%3D(function()%7Bvar _0x1b271a%3D%7B%7D%3B_0x1b271a%5B_0x5d083b(0x1d%2C-0x41%2C0x21%2C-0x36%2C0x1c)%5D%3D_0x5d083b(0x2e%2C0x44%2C0x73%2C0x89%2C0x8a)%2B_0x2d8b1a(0x4e8%2C0x545%2C0x573%2C0x5a8%2C0x4ea)%2B%27%2B%24%27%3Bfunction _0x5d083b(_0x1f7dc0%2C_0x5ef158%2C_0x168d7e%2C_0x29041b%2C_0x10e2a9)%7Breturn _0x687a(_0x5ef158- -0x1d6%2C_0x10e2a9)%3B%7Dfunction _0x54258a(_0x53c23e%2C_0x15afac%2C_0x4b6a8f%2C_0x3180f9%2C_0x27c75d)%7Breturn _0x687a(_0x53c23e-0x2f3%2C_0x4b6a8f)%3B%7Dfunction _0x2d8b1a(_0x207e49%2C_0x3f0599%2C_0x271976%2C_0x19f7be%2C_0x5ae0a9)%7Breturn _0x687a(_0x3f0599-0x377%2C_0x271976)%3B%7D_0x1b271a%5B_0x54258a(0x4d9%2C0x4bb%2C0x533%2C0x529%2C0x481)%5D%3Dfunction(_0x2809b6%2C_0x159bda)%7Breturn _0x2809b6!%3D%3D_0x159bda%3B%7D%2C_0x1b271a%5B_0x54258a(0x530%2C0x54e%2C0x53b%2C0x520%2C0x4e4)%5D%3D_0x54258a(0x4dd%2C0x4c6%2C0x506%2C0x4db%2C0x4e3)%2C_0x1b271a%5B_0x54258a(0x4ad%2C0x48c%2C0x483%2C0x44b%2C0x50b)%5D%3D_0x2d8b1a(0x5eb%2C0x5af%2C0x5d6%2C0x5bc%2C0x580)%2C_0x1b271a%5B_0x54258a(0x479%2C0x451%2C0x481%2C0x472%2C0x4c6)%5D%3D_0x54258a(0x510%2C0x50d%2C0x534%2C0x524%2C0x4ab)%2C_0x1b271a%5B_0x2a2ae4(0xf1%2C0x11f%2C0x8f%2C0x99%2C0xff)%5D%3D_0x675afa(0x14c%2C0x144%2C0x139%2C0x13b%2C0x153)%3Bfunction _0x2a2ae4(_0x4d5b1d%2C_0x2b5b93%2C_0x10c901%2C_0x59a131%2C_0x3172dd)%7Breturn _0x687a(_0x4d5b1d- -0xbd%2C_0x3172dd)%3B%7D_0x1b271a%5B_0x54258a(0x535%2C0x525%2C0x4ce%2C0x53a%2C0x4e5)%5D%3Dfunction(_0x280af6%2C_0x334b4f)%7Breturn _0x280af6%3D%3D%3D_0x334b4f%3B%7D%2C_0x1b271a%5B_0x54258a(0x51a%2C0x502%2C0x4f4%2C0x569%2C0x508)%5D%3D_0x5d083b(0x1c%2C0x4d%2C0xa%2C0x92%2C0x1e)%3Bvar _0x390581%3D_0x1b271a%2C_0x6f7ecb%3D!!%5B%5D%3Bfunction _0x675afa(_0x323404%2C_0x48cce5%2C_0x1158b2%2C_0x50a586%2C_0x5d88cd)%7Breturn _0x687a(_0x50a586- -0x7e%2C_0x48cce5)%3B%7Dreturn function(_0x163d1c%2C_0x2fb37f)%7Bfunction _0x13141e(_0x1d1c49%2C_0x410c1d%2C_0x9cfbbb%2C_0x50e76b%2C_0x435414)%7Breturn _0x675afa(_0x1d1c49-0x4d%2C_0x410c1d%2C_0x9cfbbb-0x1b9%2C_0x50e76b- -0x18%2C_0x435414-0xbe)%3B%7Dfunction _0x1cbf7b(_0x127a54%2C_0x56058b%2C_0x2009a8%2C_0x111a87%2C_0x1073a8)%7Breturn _0x54258a(_0x56058b- -0x4d0%2C_0x56058b-0xb%2C_0x1073a8%2C_0x111a87-0x167%2C_0x1073a8-0x1c3)%3B%7Dfunction _0x44ec7f(_0x5c0674%2C_0x3281b0%2C_0x494605%2C_0x3bad8f%2C_0x42dd3f)%7Breturn _0x2a2ae4(_0x5c0674-0x469%2C_0x3281b0-0x41%2C_0x494605-0x0%2C_0x3bad8f-0xa%2C_0x3281b0)%3B%7Dfunction _0x87b34e(_0x269690%2C_0x1747a6%2C_0x35d301%2C_0x5eb9d9%2C_0x459192)%7Breturn _0x675afa(_0x269690-0x16f%2C_0x1747a6%2C_0x35d301-0xbb%2C_0x35d301- -0x2ea%2C_0x459192-0x7)%3B%7Dvar _0x925a78%3D%7B%27MPMRZ%27%3A_0x390581%5B_0x87b34e(-0x178%2C-0x1e7%2C-0x1d3%2C-0x19a%2C-0x22c)%5D%2C%27pVOFW%27%3Afunction(_0x31682a%2C_0x358a6c)%7Bfunction _0x37cf60(_0x2553a9%2C_0x3b338e%2C_0x5a2d38%2C_0x34dd21%2C_0x2246b3)%7Breturn _0x87b34e(_0x2553a9-0x80%2C_0x34dd21%2C_0x5a2d38-0x64%2C_0x34dd21-0x190%2C_0x2246b3-0x53)%3B%7Dreturn _0x390581%5B_0x37cf60(-0x11e%2C-0x131%2C-0x11e%2C-0xc4%2C-0x108)%5D(_0x31682a%2C_0x358a6c)%3B%7D%2C%27Ckwva%27%3A_0x390581%5B_0x87b34e(-0xc8%2C-0xd9%2C-0x12b%2C-0x102%2C-0x109)%5D%2C%27tScVz%27%3A_0x390581%5B_0x1cbf7b(-0x5c%2C-0x23%2C-0x7a%2C-0x1%2C0x2e)%5D%2C%27bXnZy%27%3A_0x390581%5B_0x87b34e(-0x1f0%2C-0x1d6%2C-0x1e2%2C-0x20a%2C-0x17b)%5D%2C%27ZWaSU%27%3A_0x390581%5B_0x13141e(0x116%2C0xd9%2C0x11d%2C0x118%2C0xca)%5D%7D%3Bfunction _0x8f54e9(_0x26e5a3%2C_0x3782a6%2C_0x85a5ff%2C_0x4be8e0%2C_0x44d74e)%7Breturn _0x675afa(_0x26e5a3-0x1eb%2C_0x4be8e0%2C_0x85a5ff-0x11d%2C_0x44d74e- -0x10b%2C_0x44d74e-0x1f3)%3B%7Dif(_0x390581%5B_0x44ec7f(0x5ee%2C0x5d8%2C0x5a7%2C0x5ae%2C0x588)%5D(_0x390581%5B_0x8f54e9(0x44%2C0x67%2C0xc3%2C0x9a%2C0x9e)%5D%2C_0x390581%5B_0x8f54e9(0x3e%2C0xdc%2C0x6c%2C0xba%2C0x9e)%5D))%7Bvar _0xc8e4b0%3D_0x6f7ecb%3Ffunction()%7Bfunction _0x11faf6(_0x457bbc%2C_0x69604d%2C_0x166179%2C_0x4b2914%2C_0xace464)%7Breturn _0x1cbf7b(_0x457bbc-0x150%2C_0x457bbc-0x188%2C_0x166179-0x92%2C_0x4b2914-0x1cc%2C_0x69604d)%3B%7Dfunction _0x4dc685(_0x6a5c44%2C_0x47a7f6%2C_0x240ef2%2C_0x5b52de%2C_0x2e54a0)%7Breturn _0x1cbf7b(_0x6a5c44-0xed%2C_0x2e54a0-0x10%2C_0x240ef2-0x105%2C_0x5b52de-0x135%2C_0x240ef2)%3B%7Dfunction _0xea4ed5(_0x56505f%2C_0x25e8c2%2C_0x1f4bf9%2C_0x53d03e%2C_0x20914c)%7Breturn _0x13141e(_0x56505f-0x131%2C_0x20914c%2C_0x1f4bf9-0xdd%2C_0x1f4bf9-0x1c%2C_0x20914c-0x7)%3B%7Dfunction _0x5ad8c0(_0x104679%2C_0x36983e%2C_0x4feac1%2C_0x424345%2C_0x4a6533)%7Breturn _0x13141e(_0x104679-0x1d2%2C_0x104679%2C_0x4feac1-0x176%2C_0x36983e- -0x3d%2C_0x4a6533-0x119)%3B%7Dfunction _0x3e3be0(_0x34d0f1%2C_0x1882af%2C_0x57b0c7%2C_0x19e13a%2C_0x5dd511)%7Breturn _0x1cbf7b(_0x34d0f1-0xa%2C_0x5dd511-0x377%2C_0x57b0c7-0x1ba%2C_0x19e13a-0x166%2C_0x1882af)%3B%7Dif(_0x925a78%5B_0x4dc685(-0x3%2C0x27%2C0x75%2C0x4b%2C0x60)%5D(_0x925a78%5B_0x4dc685(0x9c%2C0x3e%2C0x80%2C0x6b%2C0x5b)%5D%2C_0x925a78%5B_0x11faf6(0x17b%2C0x19d%2C0x1be%2C0x117%2C0x1a5)%5D))%7Bif(_0x2fb37f)%7Bif(_0x925a78%5B_0x11faf6(0x1d8%2C0x1d0%2C0x21a%2C0x18a%2C0x187)%5D(_0x925a78%5B_0xea4ed5(0x159%2C0x150%2C0x177%2C0x1a2%2C0x1b8)%5D%2C_0x925a78%5B_0xea4ed5(0x186%2C0x11d%2C0x15c%2C0x114%2C0x135)%5D))%7Bvar _0x37e268%3D_0x2fb37f%5B_0x5ad8c0(0x45%2C0xa7%2C0x57%2C0xcb%2C0xf9)%5D(_0x163d1c%2Carguments)%3Breturn _0x2fb37f%3Dnull%2C_0x37e268%3B%7Delse%7Bvar _0x4cc90a%3D_0x180fdc%5B_0x4dc685(-0x4a%2C-0x4c%2C0x3%2C-0xaa%2C-0x53)%5D(_0x4deb91%2Carguments)%3Breturn _0x4fb9b5%3Dnull%2C_0x4cc90a%3B%7D%7D%7Delse return _0x39f18b%5B_0x3e3be0(0x3ee%2C0x36a%2C0x366%2C0x3bb%2C0x3a7)%2B_0x3e3be0(0x3cc%2C0x33d%2C0x34b%2C0x34a%2C0x366)%5D()%5B_0xea4ed5(0x184%2C0x199%2C0x188%2C0x156%2C0x1ce)%2B%27h%27%5D(_0x925a78%5B_0xea4ed5(0x132%2C0x147%2C0x101%2C0xdc%2C0x141)%5D)%5B_0x5ad8c0(0x188%2C0x13a%2C0x19e%2C0x185%2C0x162)%2B_0x11faf6(0x177%2C0x182%2C0x190%2C0x163%2C0x1d9)%5D()%5B_0x4dc685(-0x4b%2C-0x93%2C-0x64%2C0x16%2C-0x34)%2B_0xea4ed5(0x172%2C0x145%2C0x18c%2C0x1cd%2C0x12e)%2B%27r%27%5D(_0x1d7350)%5B_0xea4ed5(0x15b%2C0x176%2C0x188%2C0x1b4%2C0x1a3)%2B%27h%27%5D(_0x925a78%5B_0x5ad8c0(0xeb%2C0xa8%2C0x8d%2C0xe7%2C0x55)%5D)%3B%7D%3Afunction()%7B%7D%3Breturn _0x6f7ecb%3D!%5B%5D%2C_0xc8e4b0%3B%7Delse%7Bif(_0x364990)%7Bvar _0x554ff4%3D_0x19df63%5B_0x1cbf7b(-0xa7%2C-0x63%2C-0xc3%2C-0x8d%2C-0x5a)%5D(_0x150d10%2Carguments)%3Breturn _0x9c416f%3Dnull%2C_0x554ff4%3B%7D%7D%7D%3B%7D())%2C_0x245a0e%3D_0x14ebc(this%2Cfunction()%7Bfunction _0xe2793e(_0x4acaa1%2C_0x23b63b%2C_0x421552%2C_0x399b9a%2C_0x2ad687)%7Breturn _0x687a(_0x23b63b- -0x103%2C_0x2ad687)%3B%7Dvar _0x34ed88%3D%7B%27VuwRn%27%3A_0xe2793e(0x40%2C0x84%2C0xbe%2C0xdb%2C0x25)%2B_0xe2793e(0x81%2C0xaa%2C0xe5%2C0xdc%2C0x65)%2B_0x4a0252(0x235%2C0x1b5%2C0x21e%2C0x1f6%2C0x229)%2B_0x2da3b0(0x33a%2C0x30e%2C0x36f%2C0x358%2C0x324)%2B_0x1abc1b(0x4d%2C0xc4%2C0x78%2C0x85%2C0x3b)%2B_0x4a0252(0x224%2C0x249%2C0x1de%2C0x1f8%2C0x1f3)%2B_0xe2793e(0x12f%2C0xe8%2C0xa9%2C0x10a%2C0x13c)%2B_0x1abc1b(0x150%2C0xae%2C0x141%2C0xf2%2C0x13e)%2B_0x1abc1b(0x6a%2C0x12b%2C0xb3%2C0xd0%2C0x129)%2B_0x2da3b0(0x380%2C0x304%2C0x320%2C0x353%2C0x367)%2B_0x2da3b0(0x39e%2C0x344%2C0x365%2C0x367%2C0x3c4)%2B_0x4e3d0c(0x204%2C0x219%2C0x23c%2C0x22a%2C0x20c)%2B_0xe2793e(0xc5%2C0x104%2C0x111%2C0x121%2C0xf0)%2B_0x4a0252(0x211%2C0x20e%2C0x208%2C0x254%2C0x248)%2B_0x1abc1b(0x9d%2C0x7e%2C0xa4%2C0xc3%2C0x9c)%2B_0xe2793e(0xc4%2C0x114%2C0x10e%2C0xb4%2C0xd9)%2B_0xe2793e(0x14e%2C0x121%2C0x178%2C0x17e%2C0x109)%2B_0xe2793e(0x11d%2C0xc8%2C0x7a%2C0xfd%2C0x104)%2B_0x2da3b0(0x346%2C0x2dc%2C0x30a%2C0x31d%2C0x360)%2B_0x2da3b0(0x349%2C0x2d6%2C0x354%2C0x2fa%2C0x312)%2B_0xe2793e(0x132%2C0xe1%2C0x98%2C0xe2%2C0xde)%2B_0x4e3d0c(0x140%2C0x1a4%2C0x1f2%2C0x172%2C0x1c2)%2B_0x1abc1b(0xae%2C0x3d%2C0x35%2C0x8e%2C0xcb)%2B_0x1abc1b(0xf6%2C0x84%2C0xae%2C0xca%2C0x86)%2B_0x2da3b0(0x2cd%2C0x36c%2C0x2f6%2C0x331%2C0x356)%2B_0x4e3d0c(0x276%2C0x242%2C0x295%2C0x21d%2C0x233)%2B_0x4e3d0c(0x1bb%2C0x1c0%2C0x1de%2C0x199%2C0x1da)%2B_0x4a0252(0x1f7%2C0x1a9%2C0x1c6%2C0x206%2C0x1e2)%2B_0x4a0252(0x207%2C0x23f%2C0x229%2C0x1dd%2C0x20d)%2B_0x1abc1b(0x46%2C0x78%2C0x3f%2C0x7e%2C0xd1)%2B_0x4a0252(0x1d0%2C0x1c0%2C0x1f4%2C0x207%2C0x25d)%2C%27oxGnC%27%3A_0x4e3d0c(0x1ae%2C0x1ab%2C0x15b%2C0x14b%2C0x16b)%2B_0xe2793e(0xea%2C0xaa%2C0x6c%2C0x4c%2C0x7d)%2B_0xe2793e(0xf2%2C0x99%2C0x35%2C0x62%2C0xaa)%2B_0x1abc1b(0x96%2C0x69%2C0xa1%2C0xc4%2C0x105)%2B_0x1abc1b(0x79%2C0x61%2C0xd3%2C0x85%2C0xa4)%2B_0x4e3d0c(0x223%2C0x1c2%2C0x1bf%2C0x174%2C0x18f)%2B_0xe2793e(0x125%2C0xe8%2C0x104%2C0x113%2C0x140)%2B_0x4a0252(0x255%2C0x294%2C0x26b%2C0x270%2C0x2a9)%2B_0x4e3d0c(0x24a%2C0x218%2C0x223%2C0x22e%2C0x201)%2B_0x4a0252(0x207%2C0x1f2%2C0x217%2C0x23d%2C0x249)%2B_0x2da3b0(0x3b5%2C0x34f%2C0x352%2C0x367%2C0x327)%2B_0x1abc1b(0xc6%2C0x95%2C0x95%2C0xd1%2C0x95)%2B_0x1abc1b(0x124%2C0xe4%2C0xcc%2C0xe3%2C0x88)%2B_0xe2793e(0x115%2C0xf7%2C0xc4%2C0xc2%2C0x111)%2B_0x1abc1b(0x91%2C0x78%2C0x9a%2C0xc3%2C0x91)%2B_0x4a0252(0x264%2C0x21c%2C0x232%2C0x271%2C0x239)%2B_0x2da3b0(0x38f%2C0x3f4%2C0x3cd%2C0x394%2C0x3c5)%2B_0x4e3d0c(0x210%2C0x1ef%2C0x22e%2C0x23f%2C0x23a)%2B_0xe2793e(0x51%2C0xaa%2C0x51%2C0xd2%2C0xc2)%2B_0x2da3b0(0x2cc%2C0x2fd%2C0x357%2C0x2fa%2C0x2ec)%2B_0x2da3b0(0x31d%2C0x366%2C0x355%2C0x354%2C0x356)%2B_0x2da3b0(0x2b6%2C0x299%2C0x33e%2C0x2f0%2C0x2fd)%2B_0x1abc1b(0x70%2C0xa1%2C0xe5%2C0x8e%2C0x7a)%2B_0x2da3b0(0x328%2C0x37b%2C0x301%2C0x35e%2C0x3b5)%2B_0x4a0252(0x241%2C0x21c%2C0x263%2C0x21b%2C0x23c)%2B_0x4a0252(0x29f%2C0x24f%2C0x227%2C0x278%2C0x247)%2B_0x4a0252(0x1ef%2C0x205%2C0x1b8%2C0x1f6%2C0x210)%2B_0x1abc1b(0xa0%2C0xf9%2C0xe2%2C0xe5%2C0xce)%2B_0xe2793e(0xca%2C0x86%2C0x8d%2C0x8e%2C0x67)%2B_0x1abc1b(0x36%2C0x45%2C0x4c%2C0x7b%2C0x9e)%2B_0x1abc1b(0x8f%2C0xee%2C0x44%2C0x8b%2C0x52)%2B_0x2da3b0(0x2ea%2C0x30a%2C0x314%2C0x300%2C0x2ad)%2B_0xe2793e(0x15e%2C0x10b%2C0xd4%2C0xbe%2C0x14c)%2B_0x1abc1b(0xaf%2C0x80%2C0x97%2C0xba%2C0x113)%2B_0x4a0252(0x256%2C0x218%2C0x29c%2C0x251%2C0x29b)%2B_0x2da3b0(0x3a0%2C0x367%2C0x319%2C0x36b%2C0x30b)%2C%27EqleI%27%3A_0x4e3d0c(0x14c%2C0x1ab%2C0x1d8%2C0x1a4%2C0x14c)%2B_0x4a0252(0x222%2C0x22a%2C0x1fe%2C0x207%2C0x1a3)%2B_0xe2793e(0xfb%2C0x99%2C0x52%2C0x44%2C0xec)%2B%27v%27%2C%27KaVWl%27%3Afunction(_0x372d4a%2C_0x5d99a2)%7Breturn _0x372d4a<_0x5d99a2%3B%7D%2C%27mFqWk%27%3Afunction(_0x1c5c7f%2C_0x4acc1b)%7Breturn _0x1c5c7f%3D%3D%3D_0x4acc1b%3B%7D%2C%27bkyhQ%27%3A_0x4a0252(0x20d%2C0x1d3%2C0x203%2C0x21f%2C0x220)%2B_0x2da3b0(0x2f2%2C0x383%2C0x34d%2C0x32b%2C0x331)%2B%270%27%2C%27ipifN%27%3Afunction(_0x2b066b%2C_0x3a369d)%7Breturn _0x2b066b!%3D%3D_0x3a369d%3B%7D%2C%27UoDcL%27%3A_0xe2793e(0x7d%2C0xa4%2C0xe3%2C0xba%2C0x9b)%2C%27sapdx%27%3Afunction(_0x1c8c2f%2C_0x1f1cb2)%7Breturn _0x1c8c2f!%3D%3D_0x1f1cb2%3B%7D%2C%27yjdRf%27%3A_0x1abc1b(0xd1%2C0xf3%2C0x86%2C0xec%2C0xc2)%2C%27hXkzc%27%3A_0x4a0252(0x25f%2C0x255%2C0x24f%2C0x218%2C0x1b1)%2C%27HDkCV%27%3Afunction(_0x1069d5%2C_0x3dabd0)%7Breturn _0x1069d5(_0x3dabd0)%3B%7D%2C%27AlEdf%27%3Afunction(_0x1c8833%2C_0x2b46e0)%7Breturn _0x1c8833%2B_0x2b46e0%3B%7D%2C%27TxNwp%27%3A_0x4e3d0c(0x1bd%2C0x223%2C0x1f2%2C0x1ca%2C0x216)%2B_0x2da3b0(0x353%2C0x3c1%2C0x31f%2C0x385%2C0x342)%2B_0x2da3b0(0x35f%2C0x335%2C0x331%2C0x378%2C0x328)%2B_0xe2793e(0x121%2C0xe2%2C0x113%2C0x96%2C0xee)%2C%27NXzBk%27%3A_0x1abc1b(0x157%2C0xda%2C0x15a%2C0x10b%2C0x14d)%2B_0x4e3d0c(0x225%2C0x213%2C0x22a%2C0x26e%2C0x251)%2B_0x1abc1b(0xfd%2C0x155%2C0x121%2C0xf5%2C0x13b)%2B_0x2da3b0(0x338%2C0x34f%2C0x33f%2C0x303%2C0x2a1)%2B_0x1abc1b(0x3d%2C0xba%2C0x45%2C0x92%2C0xdb)%2B_0x1abc1b(0xca%2C0x62%2C0x4c%2C0xab%2C0xbb)%2B%27%5Cx20)%27%2C%27xIoNv%27%3A_0x2da3b0(0x351%2C0x374%2C0x337%2C0x333%2C0x2e4)%2C%27jVtep%27%3Afunction(_0x2188ca)%7Breturn _0x2188ca()%3B%7D%2C%27jPogU%27%3A_0x1abc1b(0xc5%2C0xf5%2C0x160%2C0x108%2C0x120)%2C%27vmAVg%27%3A_0x2da3b0(0x2dc%2C0x34b%2C0x351%2C0x315%2C0x348)%2C%27WkRIP%27%3A_0xe2793e(0x14d%2C0xe6%2C0x113%2C0x11e%2C0xd1)%2C%27icbTT%27%3A_0x4a0252(0x1c0%2C0x250%2C0x277%2C0x21c%2C0x1c7)%2C%27FIeZD%27%3A_0x4e3d0c(0x243%2C0x1e8%2C0x218%2C0x19f%2C0x235)%2B_0x4e3d0c(0x17d%2C0x1b6%2C0x19c%2C0x1e3%2C0x15b)%2C%27HuWJR%27%3A_0x1abc1b(0x10a%2C0x13b%2C0x154%2C0xee%2C0x121)%2C%27owvqL%27%3A_0x2da3b0(0x36c%2C0x3bc%2C0x381%2C0x3b5%2C0x412)%2C%27vgbxu%27%3Afunction(_0xa62d5c%2C_0x151639)%7Breturn _0xa62d5c<_0x151639%3B%7D%2C%27tGgaT%27%3Afunction(_0x43768b%2C_0x2057bf)%7Breturn _0x43768b%3D%3D%3D_0x2057bf%3B%7D%2C%27nrVWE%27%3A_0x4a0252(0x272%2C0x2a5%2C0x2c8%2C0x28e%2C0x2c7)%2C%27lCBnw%27%3A_0x2da3b0(0x353%2C0x359%2C0x381%2C0x347%2C0x341)%2C%27KNqqk%27%3A_0x1abc1b(0x154%2C0xc9%2C0x116%2C0x118%2C0xfd)%2B_0x4a0252(0x1cf%2C0x226%2C0x230%2C0x1f4%2C0x214)%2B%272%27%7D%3Bfunction _0x4e3d0c(_0x47a014%2C_0x29c0f2%2C_0x4f31b5%2C_0x2333c4%2C_0xae3c02)%7Breturn _0x687a(_0x29c0f2-0x24%2C_0x2333c4)%3B%7Dvar _0x26fd4a%3Dfunction()%7Bfunction _0x511fa6(_0x489e24%2C_0x5bdd9c%2C_0x6b205%2C_0x3e07ed%2C_0x360557)%7Breturn _0xe2793e(_0x489e24-0x1b7%2C_0x3e07ed-0x22d%2C_0x6b205-0x174%2C_0x3e07ed-0x131%2C_0x5bdd9c)%3B%7Dfunction _0x2c45a5(_0x84020b%2C_0x3a77d8%2C_0x4e7516%2C_0x5bafac%2C_0x1a323c)%7Breturn _0x2da3b0(_0x1a323c%2C_0x3a77d8-0x166%2C_0x4e7516-0x163%2C_0x84020b- -0x1fd%2C_0x1a323c-0x131)%3B%7Dfunction _0x1561b8(_0x684a9a%2C_0x53887e%2C_0x3b8d65%2C_0x1db0cf%2C_0x5e73c7)%7Breturn _0x4a0252(_0x684a9a-0x7f%2C_0x53887e-0x30%2C_0x3b8d65%2C_0x684a9a- -0x2e8%2C_0x5e73c7-0x2f)%3B%7Dvar _0x360f99%3D%7B%7D%3B_0x360f99%5B_0x511fa6(0x2f1%2C0x2db%2C0x2e9%2C0x2a8%2C0x2ea)%5D%3D_0x34ed88%5B_0x596f3d(0x17c%2C0x15d%2C0x14d%2C0x126%2C0x112)%5D%3Bfunction _0x596f3d(_0x2fc3e6%2C_0x110d30%2C_0x197558%2C_0x164ce2%2C_0x1070ce)%7Breturn _0x2da3b0(_0x2fc3e6%2C_0x110d30-0x37%2C_0x197558-0xe4%2C_0x197558- -0x1fb%2C_0x1070ce-0x62)%3B%7Dfunction _0x3054e8(_0x28c704%2C_0x3c1212%2C_0x2e2115%2C_0x3d2198%2C_0x186b36)%7Breturn _0x2da3b0(_0x28c704%2C_0x3c1212-0xa4%2C_0x2e2115-0x1dc%2C_0x3c1212- -0x498%2C_0x186b36-0x173)%3B%7Dvar _0x29d9ab%3D_0x360f99%3Bif(_0x34ed88%5B_0x511fa6(0x28b%2C0x29b%2C0x291%2C0x2c0%2C0x267)%5D(_0x34ed88%5B_0x596f3d(0x152%2C0x163%2C0x129%2C0x18e%2C0xd9)%5D%2C_0x34ed88%5B_0x511fa6(0x2a3%2C0x2c3%2C0x345%2C0x2de%2C0x313)%5D))%7Bvar _0x124739%3D_0x29d9ab%5B_0x2c45a5(0xf1%2C0xba%2C0xfa%2C0x124%2C0x122)%5D%5B_0x596f3d(0x16f%2C0x162%2C0x1ab%2C0x1b4%2C0x203)%5D(%27%7C%27)%2C_0x9b7ca1%3D0x1*0x5a1%2B0x0%2B0x5a1*-0x1%3Bwhile(!!%5B%5D)%7Bswitch(_0x124739%5B_0x9b7ca1%2B%2B%5D)%7Bcase%270%27%3A_0x99e455%5B_0x433f5f%5D%3D_0x15cadb%3Bcontinue%3Bcase%271%27%3Avar _0x433f5f%3D_0x30c8af%5B_0x2a88d2%5D%3Bcontinue%3Bcase%272%27%3Avar _0x15cadb%3D_0x343f32%5B_0x511fa6(0x2a9%2C0x2a7%2C0x279%2C0x2c3%2C0x274)%2B_0x2c45a5(0x179%2C0x162%2C0x1d0%2C0x197%2C0x1ca)%2B%27r%27%5D%5B_0x2c45a5(0x101%2C0x118%2C0x156%2C0x149%2C0x164)%2B_0x1561b8(-0xb1%2C-0xfa%2C-0x55%2C-0x8d%2C-0xe4)%5D%5B_0x1561b8(-0x103%2C-0xfc%2C-0x135%2C-0x10d%2C-0xe5)%5D(_0x1c6e54)%3Bcontinue%3Bcase%273%27%3A_0x15cadb%5B_0x3054e8(-0xe6%2C-0x11b%2C-0x15a%2C-0xd0%2C-0x10e)%2B_0x2c45a5(0x13f%2C0x139%2C0x143%2C0x18d%2C0xdc)%5D%3D_0x13dc4f%5B_0x596f3d(0x1b0%2C0x147%2C0x182%2C0x17f%2C0x122)%2B_0x2c45a5(0x13f%2C0x106%2C0xf6%2C0xf8%2C0x138)%5D%5B_0x511fa6(0x299%2C0x257%2C0x297%2C0x2b5%2C0x2fd)%5D(_0x13dc4f)%3Bcontinue%3Bcase%274%27%3Avar _0x13dc4f%3D_0x3831ab%5B_0x433f5f%5D%7C%7C_0x15cadb%3Bcontinue%3Bcase%275%27%3A_0x15cadb%5B_0x1561b8(-0x54%2C-0x18%2C0x12%2C-0x95%2C-0x2c)%2B_0x1561b8(-0xbd%2C-0xe6%2C-0x75%2C-0xd1%2C-0x77)%5D%3D_0x29d2f9%5B_0x1561b8(-0x103%2C-0x168%2C-0xd6%2C-0xbd%2C-0xc9)%5D(_0x5974b1)%3Bcontinue%3B%7Dbreak%3B%7D%7Delse%7Bvar _0x1b2755%3Btry%7Bif(_0x34ed88%5B_0x2c45a5(0x16f%2C0x1cc%2C0x142%2C0x1b8%2C0x1a4)%5D(_0x34ed88%5B_0x511fa6(0x2e4%2C0x2f0%2C0x2e1%2C0x303%2C0x307)%5D%2C_0x34ed88%5B_0x1561b8(-0x65%2C-0x8c%2C-0x68%2C-0x61%2C-0x34)%5D))_0x1b2755%3D_0x34ed88%5B_0x511fa6(0x395%2C0x375%2C0x34a%2C0x36e%2C0x3c8)%5D(Function%2C_0x34ed88%5B_0x2c45a5(0x11d%2C0x14d%2C0xfa%2C0x111%2C0xe7)%5D(_0x34ed88%5B_0x3054e8(-0x1a9%2C-0x17e%2C-0x154%2C-0x140%2C-0x145)%5D(_0x34ed88%5B_0x2c45a5(0x1b9%2C0x212%2C0x206%2C0x1e1%2C0x174)%5D%2C_0x34ed88%5B_0x3054e8(-0x134%2C-0x110%2C-0xfe%2C-0x171%2C-0xf0)%5D)%2C%27)%3B%27))()%3Belse%7Bif(_0x368b44%5B_0x1561b8(-0x7b%2C-0xde%2C-0x7d%2C-0x56%2C-0x75)%2B_0x1561b8(-0xf6%2C-0x9a%2C-0xcc%2C-0xa1%2C-0x115)%2B_0x1561b8(-0xee%2C-0xf7%2C-0xc4%2C-0xe5%2C-0x8e)%5D(_0x34ed88%5B_0x511fa6(0x2fb%2C0x313%2C0x2ce%2C0x30b%2C0x354)%5D))%7Bvar _0x21374c%3D_0x1c3d83%5B_0x596f3d(0x145%2C0x145%2C0x188%2C0x18b%2C0x1e2)%2B_0x2c45a5(0x10b%2C0xe4%2C0xb5%2C0xb1%2C0x15f)%2B_0x596f3d(0xd8%2C0x14f%2C0x115%2C0xbf%2C0x123)%5D(_0x34ed88%5B_0x2c45a5(0x1a8%2C0x1d1%2C0x192%2C0x171%2C0x189)%5D)%5B_0x511fa6(0x30c%2C0x311%2C0x332%2C0x2da%2C0x323)%2B_0x596f3d(0x149%2C0x15a%2C0x12d%2C0xd6%2C0x182)%5D%2C_0x1c80a0%3D_0x3289c6%5B_0x1561b8(-0x115%2C-0x151%2C-0xf8%2C-0x17b%2C-0x116)%2B%27s%27%5D(_0x76dfb0%5B_0x2c45a5(0x186%2C0x14d%2C0x1be%2C0x1ba%2C0x1d1)%2B_0x2c45a5(0x10b%2C0xce%2C0xea%2C0xae%2C0x126)%2B_0x596f3d(0x14e%2C0x129%2C0x115%2C0x110%2C0xb7)%5D(_0x34ed88%5B_0x511fa6(0x315%2C0x2db%2C0x30f%2C0x32e%2C0x2f7)%5D))%5B-0x393*-0x9%2B-0x475%2B0x1bb5*-0x1%5D%5B_0x511fa6(0x2da%2C0x300%2C0x2b5%2C0x2da%2C0x340)%2B_0x596f3d(0x10c%2C0x18a%2C0x12d%2C0xd5%2C0x105)%5D%5B-0x1*-0x1d8b%2B-0x1fdb%2B0x251%5D%5B_0x511fa6(0x2b6%2C0x2a0%2C0x2fc%2C0x2ff%2C0x358)%2B%27r%27%5D%5B_0x3054e8(-0x14e%2C-0xf1%2C-0xec%2C-0x91%2C-0x157)%2B_0x3054e8(-0xe3%2C-0xf5%2C-0x103%2C-0xf8%2C-0xa2)%5D%5B_0x1561b8(-0x57%2C-0x6d%2C0xd%2C-0x61%2C-0xb7)%5D%5B_0x2c45a5(0x160%2C0x187%2C0x14a%2C0x175%2C0x13d)%2B_0x511fa6(0x31d%2C0x31b%2C0x31d%2C0x355%2C0x3b8)%2B_0x511fa6(0x2c7%2C0x2df%2C0x383%2C0x32d%2C0x33e)%5D%3Bfor(var _0x45a6a8%3D0xc*0x1b%2B0x1049*0x2%2B-0x2*0x10eb%3B_0x34ed88%5B_0x596f3d(0x15e%2C0x14d%2C0x1b0%2C0x1e1%2C0x20c)%5D(_0x45a6a8%2C_0x21374c%5B_0x511fa6(0x395%2C0x301%2C0x381%2C0x345%2C0x2e6)%2B%27h%27%5D)%3B_0x45a6a8%2B%2B)%7B_0x34ed88%5B_0x511fa6(0x329%2C0x342%2C0x314%2C0x2fd%2C0x2e6)%5D(_0x21374c%5B_0x45a6a8%5D%5B_0x511fa6(0x287%2C0x297%2C0x312%2C0x2c7%2C0x286)%2B_0x1561b8(-0x111%2C-0xc1%2C-0x124%2C-0x12a%2C-0x14d)%2B%27t%27%5D%2C_0x1c80a0)%26%26_0x21374c%5B_0x45a6a8%5D%5B_0x3054e8(-0x143%2C-0x15b%2C-0x126%2C-0x13e%2C-0x1b9)%5D()%3B%7D%7D%7D%7Dcatch(_0x3ec10c)%7Bif(_0x34ed88%5B_0x596f3d(0x1cb%2C0x13c%2C0x171%2C0x18d%2C0x1b9)%5D(_0x34ed88%5B_0x3054e8(-0xc5%2C-0x109%2C-0xc7%2C-0xed%2C-0x167)%5D%2C_0x34ed88%5B_0x3054e8(-0x104%2C-0x109%2C-0xaa%2C-0xdf%2C-0x118)%5D))%7Bvar _0x4efc8f%3D_0x11a188%3Ffunction()%7Bfunction _0x5ef706(_0x214aee%2C_0x2c4b6d%2C_0x6aaa4e%2C_0x2afa36%2C_0x1e2bb4)%7Breturn _0x596f3d(_0x2c4b6d%2C_0x2c4b6d-0x1c%2C_0x6aaa4e- -0x18e%2C_0x2afa36-0x159%2C_0x1e2bb4-0x107)%3B%7Dif(_0x2507c2)%7Bvar _0x5a8c1c%3D_0x2f6274%5B_0x5ef706(-0x101%2C-0x40%2C-0x9f%2C-0x8a%2C-0xba)%5D(_0x264a41%2Carguments)%3Breturn _0x47b71d%3Dnull%2C_0x5a8c1c%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x3b5e69%3D!%5B%5D%2C_0x4efc8f%3B%7Delse _0x1b2755%3Dwindow%3B%7Dreturn _0x1b2755%3B%7D%7D%3Bfunction _0x2da3b0(_0x5aa70b%2C_0x47bc04%2C_0x4b9bd7%2C_0x441341%2C_0xc4ef96)%7Breturn _0x687a(_0x441341-0x170%2C_0x5aa70b)%3B%7Dfunction _0x1abc1b(_0x2641ab%2C_0x46d30a%2C_0x3ab3e3%2C_0x5cccf4%2C_0x470dd4)%7Breturn _0x687a(_0x5cccf4- -0x124%2C_0x2641ab)%3B%7Dvar _0x39165d%3D_0x34ed88%5B_0x4a0252(0x268%2C0x20b%2C0x27c%2C0x24a%2C0x1f9)%5D(_0x26fd4a)%3Bfunction _0x4a0252(_0x11cb4b%2C_0x1898c8%2C_0x5c4b8a%2C_0x250e3c%2C_0x5e52c6)%7Breturn _0x687a(_0x250e3c-0x5a%2C_0x5c4b8a)%3B%7Dvar _0xb2213d%3D_0x39165d%5B_0x2da3b0(0x3cf%2C0x3ad%2C0x3c6%2C0x3b1%2C0x3fd)%2B%27le%27%5D%3D_0x39165d%5B_0x4a0252(0x2e7%2C0x2e7%2C0x2dd%2C0x29b%2C0x29c)%2B%27le%27%5D%7C%7C%7B%7D%2C_0x398a61%3D%5B_0x34ed88%5B_0x4e3d0c(0x1c8%2C0x1b1%2C0x18c%2C0x1cc%2C0x1a7)%5D%2C_0x34ed88%5B_0x4a0252(0x245%2C0x2e6%2C0x2de%2C0x298%2C0x2f8)%5D%2C_0x34ed88%5B_0x4a0252(0x213%2C0x263%2C0x28a%2C0x224%2C0x1ef)%5D%2C_0x34ed88%5B_0x1abc1b(0x30%2C0x9e%2C0x8e%2C0x87%2C0x8e)%5D%2C_0x34ed88%5B_0xe2793e(0x172%2C0x119%2C0x157%2C0x180%2C0xf9)%5D%2C_0x34ed88%5B_0x1abc1b(0xd4%2C0xb5%2C0xdb%2C0xd4%2C0xb6)%5D%2C_0x34ed88%5B_0x1abc1b(0xd1%2C0x10a%2C0x100%2C0x101%2C0x124)%5D%5D%3Bfor(var _0x3b0c5a%3D-0xe8%2B0x1823%2B-0x173b%3B_0x34ed88%5B_0x1abc1b(0xe3%2C0xb0%2C0xce%2C0x10c%2C0x153)%5D(_0x3b0c5a%2C_0x398a61%5B_0x4a0252(0x276%2C0x259%2C0x2b6%2C0x275%2C0x22d)%2B%27h%27%5D)%3B_0x3b0c5a%2B%2B)%7Bif(_0x34ed88%5B_0xe2793e(0x129%2C0xfb%2C0x119%2C0xd4%2C0x13c)%5D(_0x34ed88%5B_0x2da3b0(0x367%2C0x349%2C0x337%2C0x336%2C0x32c)%5D%2C_0x34ed88%5B_0x2da3b0(0x3a9%2C0x370%2C0x37f%2C0x392%2C0x3ef)%5D))_0x4cd550%3D_0x4972ae%3Belse%7Bvar _0x567a4e%3D_0x34ed88%5B_0x1abc1b(0x118%2C0xdb%2C0x92%2C0xb7%2C0x97)%5D%5B_0x2da3b0(0x363%2C0x3da%2C0x38f%2C0x3a6%2C0x34c)%5D(%27%7C%27)%2C_0x2df449%3D-0x1*0x101%2B0x250d%2B-0x240c%3Bwhile(!!%5B%5D)%7Bswitch(_0x567a4e%5B_0x2df449%2B%2B%5D)%7Bcase%270%27%3A_0x542916%5B_0x2da3b0(0x371%2C0x401%2C0x345%2C0x3aa%2C0x3e2)%2B_0x2da3b0(0x340%2C0x345%2C0x30b%2C0x341%2C0x311)%5D%3D_0x14ebc%5B_0x1abc1b(0xb4%2C0x71%2C0x9a%2C0x67%2C0xb0)%5D(_0x14ebc)%3Bcontinue%3Bcase%271%27%3Avar _0x404f07%3D_0xb2213d%5B_0x14d26c%5D%7C%7C_0x542916%3Bcontinue%3Bcase%272%27%3A_0xb2213d%5B_0x14d26c%5D%3D_0x542916%3Bcontinue%3Bcase%273%27%3Avar _0x542916%3D_0x14ebc%5B_0x4e3d0c(0x213%2C0x1bd%2C0x176%2C0x1be%2C0x221)%2B_0x4e3d0c(0x1f7%2C0x22a%2C0x1f5%2C0x291%2C0x262)%2B%27r%27%5D%5B_0x4a0252(0x1f6%2C0x191%2C0x1d7%2C0x1e8%2C0x243)%2B_0x4a0252(0x1fe%2C0x20d%2C0x264%2C0x237%2C0x269)%5D%5B_0x4a0252(0x20e%2C0x1fc%2C0x24c%2C0x1e5%2C0x222)%5D(_0x14ebc)%3Bcontinue%3Bcase%274%27%3A_0x542916%5B_0xe2793e(0xec%2C0x10a%2C0x125%2C0xf6%2C0x134)%2B_0x4e3d0c(0x1bd%2C0x1f0%2C0x191%2C0x1c3%2C0x1af)%5D%3D_0x404f07%5B_0xe2793e(0x106%2C0x10a%2C0x151%2C0x11c%2C0x13a)%2B_0xe2793e(0x93%2C0xc9%2C0xfa%2C0x86%2C0x119)%5D%5B_0xe2793e(0xa2%2C0x88%2C0x8e%2C0xad%2C0xde)%5D(_0x404f07)%3Bcontinue%3Bcase%275%27%3Avar _0x14d26c%3D_0x398a61%5B_0x3b0c5a%5D%3Bcontinue%3B%7Dbreak%3B%7D%7D%7D%7D)%3B_0x245a0e()%2CsetInterval(function()%7Bfunction _0x2ef224(_0x167443%2C_0x56bfd9%2C_0x441fb6%2C_0x439ae3%2C_0x5e283e)%7Breturn _0x687a(_0x56bfd9- -0x111%2C_0x5e283e)%3B%7Dfunction _0x19a196(_0x80f16c%2C_0x26e73e%2C_0x29afa4%2C_0x11a3dc%2C_0x22716a)%7Breturn _0x687a(_0x11a3dc-0xff%2C_0x80f16c)%3B%7Dfunction _0x49e901(_0x1d3e18%2C_0x388b44%2C_0x3451b7%2C_0x455eff%2C_0x1bfe66)%7Breturn _0x687a(_0x3451b7-0x1b3%2C_0x1d3e18)%3B%7Dfunction _0x2faf2d(_0x47770d%2C_0x52ba31%2C_0x20acec%2C_0x41d8cc%2C_0x52f806)%7Breturn _0x687a(_0x41d8cc-0x3cc%2C_0x52ba31)%3B%7Dfunction _0x28be9b(_0x1566f3%2C_0x2da2ae%2C_0x2e8eb2%2C_0x519a61%2C_0x1bb50e)%7Breturn _0x687a(_0x1566f3-0x29f%2C_0x2da2ae)%3B%7Dvar _0x4b0839%3D%7B%27nflhz%27%3Afunction(_0x222509%2C_0x96d54b)%7Breturn _0x222509(_0x96d54b)%3B%7D%2C%27AkQvd%27%3Afunction(_0xc9f542%2C_0x46dd27)%7Breturn _0xc9f542%2B_0x46dd27%3B%7D%2C%27mZTYV%27%3A_0x2ef224(0x136%2C0xee%2C0xb5%2C0xd8%2C0x89)%2B_0x2faf2d(0x582%2C0x63e%2C0x57b%2C0x5e1%2C0x5b5)%2B_0x28be9b(0x4a7%2C0x4b2%2C0x46c%2C0x4aa%2C0x49e)%2B_0x19a196(0x2d3%2C0x293%2C0x2cd%2C0x2e4%2C0x340)%2C%27BQsWY%27%3A_0x19a196(0x32c%2C0x31c%2C0x2eb%2C0x32e%2C0x392)%2B_0x2ef224(0x12d%2C0xde%2C0xad%2C0x96%2C0x77)%2B_0x2faf2d(0x598%2C0x61b%2C0x5b2%2C0x5e5%2C0x5f4)%2B_0x19a196(0x268%2C0x28f%2C0x2a7%2C0x292%2C0x2f6)%2B_0x19a196(0x28c%2C0x2ed%2C0x26d%2C0x2b5%2C0x30c)%2B_0x49e901(0x39f%2C0x3e9%2C0x382%2C0x33e%2C0x32e)%2B%27%5Cx20)%27%2C%27bdSOE%27%3A_0x2ef224(0x50%2C0x76%2C0x7d%2C0xc5%2C0x26)%2B_0x2ef224(0xaa%2C0x9c%2C0x89%2C0xc0%2C0x50)%2B_0x2ef224(0x98%2C0x8b%2C0x58%2C0xa7%2C0x65)%2B_0x28be9b(0x487%2C0x477%2C0x466%2C0x473%2C0x4a8)%2B_0x49e901(0x346%2C0x300%2C0x35c%2C0x373%2C0x36f)%2B_0x2ef224(0xa6%2C0x8d%2C0xf2%2C0x6c%2C0x7f)%2B_0x2ef224(0xec%2C0xda%2C0x104%2C0x13d%2C0x137)%2B_0x2ef224(0xec%2C0x105%2C0xbf%2C0xf6%2C0xbe)%2B_0x2ef224(0x143%2C0xe3%2C0xe0%2C0x133%2C0xcd)%2B_0x19a196(0x2d2%2C0x2d6%2C0x2d7%2C0x2e2%2C0x2b8)%2B_0x49e901(0x3c9%2C0x3bc%2C0x3aa%2C0x3dd%2C0x39c)%2B_0x2ef224(0xfe%2C0xe4%2C0xaa%2C0x127%2C0x10c)%2B_0x2ef224(0x159%2C0xf6%2C0x132%2C0x126%2C0xc7)%2B_0x28be9b(0x499%2C0x49d%2C0x4d1%2C0x468%2C0x4c9)%2B_0x28be9b(0x486%2C0x4c1%2C0x4c0%2C0x466%2C0x457)%2B_0x19a196(0x37b%2C0x2d3%2C0x339%2C0x316%2C0x35a)%2B_0x2faf2d(0x5fa%2C0x5ec%2C0x604%2C0x5f0%2C0x5ac)%2B_0x2faf2d(0x537%2C0x5f1%2C0x5b5%2C0x597%2C0x5b6)%2B_0x19a196(0x2b1%2C0x2ed%2C0x259%2C0x2ac%2C0x267)%2B_0x2faf2d(0x522%2C0x57c%2C0x5ac%2C0x556%2C0x56b)%2B_0x2ef224(0xf2%2C0xd3%2C0xa8%2C0xc6%2C0x79)%2B_0x49e901(0x37d%2C0x34c%2C0x333%2C0x32c%2C0x363)%2B_0x28be9b(0x451%2C0x46a%2C0x3f6%2C0x45a%2C0x43f)%2B_0x49e901(0x3fa%2C0x386%2C0x3a1%2C0x3ca%2C0x3b8)%2B_0x49e901(0x371%2C0x3a0%2C0x374%2C0x38e%2C0x31f)%2B_0x2ef224(0x11f%2C0x10d%2C0x121%2C0xe5%2C0x152)%2B_0x49e901(0x3a6%2C0x389%2C0x34f%2C0x2e8%2C0x30c)%2B_0x2ef224(0xf9%2C0x9b%2C0x41%2C0x37%2C0x7c)%2B_0x2faf2d(0x59d%2C0x5b2%2C0x4ef%2C0x54f%2C0x504)%2B_0x28be9b(0x441%2C0x46e%2C0x42c%2C0x469%2C0x4a5)%2B_0x2ef224(0x95%2C0x9c%2C0x5e%2C0x102%2C0x5a)%2C%27YErQQ%27%3Afunction(_0x44fbe5%2C_0x3d992b)%7Breturn _0x44fbe5%3D%3D%3D_0x3d992b%3B%7D%2C%27UVoHL%27%3A_0x2ef224(0xb1%2C0x97%2C0x35%2C0xc9%2C0x47)%2C%27sRRoF%27%3A_0x28be9b(0x426%2C0x3e0%2C0x434%2C0x446%2C0x452)%2B_0x19a196(0x255%2C0x2b9%2C0x303%2C0x2ac%2C0x2ef)%2B_0x28be9b(0x43b%2C0x3de%2C0x497%2C0x433%2C0x45e)%2B_0x2faf2d(0x5fb%2C0x599%2C0x57d%2C0x5b4%2C0x61a)%2B_0x49e901(0x391%2C0x38b%2C0x35c%2C0x314%2C0x314)%2B_0x28be9b(0x43d%2C0x3e6%2C0x3eb%2C0x493%2C0x3dc)%2B_0x2faf2d(0x569%2C0x605%2C0x5fd%2C0x5b7%2C0x5ce)%2B_0x2ef224(0x13f%2C0x105%2C0x111%2C0xc1%2C0xe9)%2B_0x2faf2d(0x5d5%2C0x61e%2C0x5f2%2C0x5c0%2C0x58a)%2B_0x19a196(0x2ee%2C0x347%2C0x325%2C0x2e2%2C0x340)%2B_0x49e901(0x3a2%2C0x3a0%2C0x3aa%2C0x40e%2C0x374)%2B_0x28be9b(0x494%2C0x4ad%2C0x458%2C0x4d8%2C0x495)%2B_0x2faf2d(0x602%2C0x62c%2C0x620%2C0x5d3%2C0x5fb)%2B_0x2faf2d(0x623%2C0x5e5%2C0x5ce%2C0x5c6%2C0x584)%2B_0x19a196(0x2bb%2C0x2b5%2C0x330%2C0x2e6%2C0x299)%2B_0x49e901(0x3aa%2C0x380%2C0x3ca%2C0x3f6%2C0x390)%2B_0x19a196(0x2f1%2C0x2fd%2C0x301%2C0x323%2C0x348)%2B_0x49e901(0x3df%2C0x37f%2C0x37e%2C0x349%2C0x3c2)%2B_0x19a196(0x2d8%2C0x2bc%2C0x2a7%2C0x2ac%2C0x252)%2B_0x49e901(0x39f%2C0x35e%2C0x33d%2C0x3a4%2C0x2fd)%2B_0x2faf2d(0x5c6%2C0x582%2C0x610%2C0x5b0%2C0x5ee)%2B_0x49e901(0x349%2C0x34a%2C0x333%2C0x370%2C0x337)%2B_0x28be9b(0x451%2C0x427%2C0x4ab%2C0x471%2C0x488)%2B_0x49e901(0x374%2C0x374%2C0x3a1%2C0x383%2C0x381)%2B_0x28be9b(0x460%2C0x44c%2C0x46e%2C0x4c0%2C0x429)%2B_0x2faf2d(0x606%2C0x5ee%2C0x5b5%2C0x5ea%2C0x5df)%2B_0x2faf2d(0x5c2%2C0x540%2C0x55c%2C0x568%2C0x513)%2B_0x2ef224(0xf7%2C0xf8%2C0x12b%2C0x117%2C0x11a)%2B_0x19a196(0x2d8%2C0x2c0%2C0x2bb%2C0x288%2C0x2da)%2B_0x28be9b(0x43e%2C0x444%2C0x478%2C0x455%2C0x46a)%2B_0x28be9b(0x44e%2C0x423%2C0x3ff%2C0x42c%2C0x435)%2B_0x49e901(0x365%2C0x369%2C0x343%2C0x34b%2C0x3a4)%2B_0x2ef224(0x14f%2C0xfd%2C0x135%2C0x161%2C0x153)%2B_0x2ef224(0x90%2C0xcd%2C0xb8%2C0xd4%2C0x10d)%2B_0x2ef224(0xa4%2C0xe6%2C0x104%2C0xe0%2C0xda)%2B_0x19a196(0x351%2C0x35d%2C0x2f6%2C0x2fa%2C0x35e)%2C%27hXlXm%27%3A_0x49e901(0x363%2C0x2d6%2C0x33a%2C0x338%2C0x36e)%2B_0x2ef224(0xb5%2C0x9c%2C0x7a%2C0xc2%2C0xdc)%2B_0x2faf2d(0x57b%2C0x5c2%2C0x510%2C0x568%2C0x54f)%2B%27v%27%2C%27ryMzJ%27%3Afunction(_0x2d3dc4%2C_0x262e39)%7Breturn _0x2d3dc4<_0x262e39%3B%7D%2C%27MgzAK%27%3Afunction(_0x3d4ef7%2C_0x46a15b)%7Breturn _0x3d4ef7%3D%3D%3D_0x46a15b%3B%7D%2C%27jSefY%27%3A_0x49e901(0x327%2C0x3bb%2C0x36f%2C0x373%2C0x3bc)%2C%27EuCoo%27%3A_0x28be9b(0x454%2C0x48e%2C0x4a2%2C0x457%2C0x404)%7D%3Bif(document%5B_0x2ef224(0x110%2C0x102%2C0x142%2C0x9f%2C0xd3)%2B_0x2ef224(0x7f%2C0x87%2C0x8f%2C0x30%2C0x28)%2B_0x19a196(0x2a4%2C0x29d%2C0x2c3%2C0x29f%2C0x270)%5D(_0x4b0839%5B_0x19a196(0x248%2C0x266%2C0x2cc%2C0x2a3%2C0x28c)%5D))%7Bif(_0x4b0839%5B_0x28be9b(0x473%2C0x4b0%2C0x494%2C0x46f%2C0x413)%5D(_0x4b0839%5B_0x28be9b(0x4ab%2C0x4f4%2C0x508%2C0x4ea%2C0x466)%5D%2C_0x4b0839%5B_0x2ef224(0x112%2C0xfb%2C0x11b%2C0xd9%2C0xaf)%5D))%7Bvar _0x6353d5%3Ddocument%5B_0x28be9b(0x4b2%2C0x4d6%2C0x50b%2C0x4c1%2C0x44d)%2B_0x49e901(0x332%2C0x320%2C0x34b%2C0x2f5%2C0x2fb)%2B_0x19a196(0x266%2C0x290%2C0x2a2%2C0x29f%2C0x248)%5D(_0x4b0839%5B_0x49e901(0x3a5%2C0x3b7%2C0x3f2%2C0x3aa%2C0x3ee)%5D)%5B_0x49e901(0x305%2C0x31a%2C0x363%2C0x386%2C0x3a2)%2B_0x49e901(0x385%2C0x3c3%2C0x36b%2C0x322%2C0x346)%5D%2C_0x3a0ffa%3DObject%5B_0x19a196(0x29b%2C0x2b8%2C0x276%2C0x278%2C0x255)%2B%27s%27%5D(document%5B_0x2ef224(0xce%2C0x102%2C0xea%2C0x166%2C0xdf)%2B_0x19a196(0x2f5%2C0x235%2C0x295%2C0x297%2C0x23c)%2B_0x49e901(0x390%2C0x3ba%2C0x353%2C0x2ec%2C0x35a)%5D(_0x4b0839%5B_0x49e901(0x3d9%2C0x31b%2C0x37a%2C0x35f%2C0x373)%5D))%5B0x577*0x4%2B-0x215d%2B0xb82%5D%5B_0x28be9b(0x44f%2C0x463%2C0x457%2C0x4b1%2C0x3f4)%2B_0x2ef224(0xc6%2C0xa7%2C0xa6%2C0x7c%2C0x90)%5D%5B0x4*-0x3db%2B-0x1d*0x21%2B0x132a%5D%5B_0x19a196(0x2b5%2C0x2f6%2C0x307%2C0x2d4%2C0x339)%2B%27r%27%5D%5B_0x49e901(0x40e%2C0x41d%2C0x3ea%2C0x38d%2C0x3f0)%2B_0x19a196(0x30b%2C0x352%2C0x362%2C0x332%2C0x348)%5D%5B_0x28be9b(0x4d6%2C0x4f2%2C0x485%2C0x503%2C0x528)%5D%5B_0x19a196(0x338%2C0x291%2C0x320%2C0x2ec%2C0x2a9)%2B_0x19a196(0x38e%2C0x2d5%2C0x364%2C0x32a%2C0x381)%2B_0x49e901(0x3cd%2C0x3c0%2C0x3b6%2C0x3d5%2C0x3d7)%5D%3Bfor(var _0x37f952%3D0x7*0x4a8%2B0x21c6%2B0xa*-0x6a3%3B_0x4b0839%5B_0x2faf2d(0x549%2C0x5a2%2C0x5f0%2C0x589%2C0x54f)%5D(_0x37f952%2C_0x6353d5%5B_0x19a196(0x31a%2C0x2d7%2C0x37d%2C0x31a%2C0x37d)%2B%27h%27%5D)%3B_0x37f952%2B%2B)%7Bif(_0x4b0839%5B_0x2ef224(0xd2%2C0xe1%2C0xcb%2C0x8e%2C0xa6)%5D(_0x4b0839%5B_0x2ef224(0x115%2C0xb7%2C0x79%2C0x64%2C0xf1)%5D%2C_0x4b0839%5B_0x28be9b(0x467%2C0x475%2C0x4ba%2C0x45e%2C0x477)%5D))_0x4b0839%5B_0x2ef224(0xff%2C0xc3%2C0x71%2C0xc9%2C0xef)%5D(_0x6353d5%5B_0x37f952%5D%5B_0x2ef224(0x6e%2C0x8c%2C0xca%2C0xd9%2C0xd8)%2B_0x19a196(0x21c%2C0x239%2C0x2d8%2C0x27c%2C0x2ce)%2B%27t%27%5D%2C_0x3a0ffa)%26%26(_0x4b0839%5B_0x28be9b(0x473%2C0x442%2C0x449%2C0x4ab%2C0x461)%5D(_0x4b0839%5B_0x49e901(0x36a%2C0x36c%2C0x39f%2C0x3d6%2C0x3de)%5D%2C_0x4b0839%5B_0x2ef224(0x12c%2C0xdb%2C0x141%2C0xe1%2C0x127)%5D)%3F_0x6353d5%5B_0x37f952%5D%5B_0x49e901(0x3ca%2C0x375%2C0x380%2C0x31b%2C0x330)%5D()%3A_0x2227da%5B_0x3e58a2%5D%5B_0x2faf2d(0x592%2C0x5d4%2C0x58e%2C0x599%2C0x5d3)%5D())%3Belse%7Bvar _0x435aa1%3D_0x3a0916%3Ffunction()%7Bfunction _0x228bd2(_0x445a30%2C_0x57f38c%2C_0xf3bba5%2C_0x303084%2C_0x36472b)%7Breturn _0x2faf2d(_0x445a30-0x1d2%2C_0xf3bba5%2C_0xf3bba5-0xbe%2C_0x36472b- -0x58e%2C_0x36472b-0x1bc)%3B%7Dif(_0x5777ec)%7Bvar _0x646968%3D_0x37cf8d%5B_0x228bd2(-0x5b%2C-0x44%2C0x7%2C-0x86%2C-0x48)%5D(_0x12e767%2Carguments)%3Breturn _0x320301%3Dnull%2C_0x646968%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x5823cd%3D!%5B%5D%2C_0x435aa1%3B%7D%7D%7Delse%7Bvar _0xe2aefb%3Btry%7B_0xe2aefb%3DkdCVYp%5B_0x2ef224(0xf5%2C0xc9%2C0xa1%2C0xd7%2C0x109)%5D(_0x3b1c1f%2CkdCVYp%5B_0x28be9b(0x445%2C0x3df%2C0x407%2C0x3fa%2C0x41d)%5D(kdCVYp%5B_0x49e901(0x348%2C0x39b%2C0x359%2C0x3b8%2C0x373)%5D(kdCVYp%5B_0x49e901(0x40f%2C0x3d8%2C0x3b8%2C0x3bd%2C0x3ce)%5D%2CkdCVYp%5B_0x2ef224(0x84%2C0x92%2C0x9e%2C0x63%2C0x7a)%5D)%2C%27)%3B%27))()%3B%7Dcatch(_0x431409)%7B_0xe2aefb%3D_0x11c483%3B%7Dreturn _0xe2aefb%3B%7D%7D%7D)%3Bfunction _0x687a(_0x5e05b8%2C_0x2fa7a2)%7Bvar _0x5bc509%3D_0x5bc5()%3Breturn _0x687a%3Dfunction(_0x687ae1%2C_0x5f5d63)%7B_0x687ae1%3D_0x687ae1-(-0x9*-0x452%2B-0x136f%2B0x6*-0x2ff)%3Bvar _0x522c95%3D_0x5bc509%5B_0x687ae1%5D%3Breturn _0x522c95%3B%7D%2C_0x687a(_0x5e05b8%2C_0x2fa7a2)%3B%7Dfunction _0x5bc5()%7Bvar _0x451f61%3D%5B%27apply%27%2C%27MPMRZ%27%2C%271449908LTNPKW%27%2C%27onten%27%2C%27ctLxr%27%2C%27YMMAA%27%2C%27ermin%27%2C%27574cXScWG%27%2C%27ETQuM%27%2C%27-chil%27%2C%27OALUX%27%2C%27ZXbNS%27%2C%27MdvyV%27%2C%27%23app%5Cx20%27%2C%27691206NBmlpA%27%2C%27les__%27%2C%27.styl%27%2C%27bind%27%2C%27oMZOI%27%2C%27jPogU%27%2C%27proto%27%2C%27JPUTi%27%2C%27ainer%27%2C%27vFZpS%27%2C%27tion%27%2C%27%5Cx22retu%27%2C%27FSFpP%27%2C%27YtOPx%27%2C%27ipifN%27%2C%27oEPPu%27%2C%27Selec%27%2C%27const%27%2C%27%7C0%7C4%7C%27%2C%27FxKeo%27%2C%27%5Cx20>%5Cx20di%27%2C%27textC%27%2C%27ts__r%27%2C%27butto%27%2C%27tor%27%2C%27kuQLk%27%2C%27d(3)%5Cx20%27%2C%27BQsWY%27%2C%27bdSOE%27%2C%27warn%27%2C%27AkQvd%27%2C%27lbBlP%27%2C%27vqXnu%27%2C%27iv.ar%27%2C%27AlEdf%27%2C%27icbTT%27%2C%27v%3Anth%27%2C%27>%5Cx20div%27%2C%27QkxEc%27%2C%27nCont%27%2C%27child%27%2C%27JlMzp%27%2C%27al___%27%2C%27bvIqh%27%2C%27UoDcL%27%2C%27MeDOq%27%2C%27rn%5Cx20th%27%2C%276291XdKukJ%27%2C%27ren%27%2C%27UOBLT%27%2C%27dWXqf%27%2C%27%7C5%7C3%7C%27%2C%27ofcli%27%2C%27ryMzJ%27%2C%27PeisT%27%2C%27DeJls%27%2C%27saCdn%27%2C%27-came%27%2C%27error%27%2C%27VPdgU%27%2C%27excep%27%2C%272%7C1%7C4%27%2C%27nrVWE%27%2C%27hXlXm%27%2C%27jSefY%27%2C%27ZKTUE%27%2C%27WkRIP%27%2C%27Case%5Cx20%27%2C%27ing%27%2C%27click%27%2C%27)%2B)%2B)%27%2C%27is%5Cx22)(%27%2C%27tScVz%27%2C%27to__%27%2C%27gqWtF%27%2C%27mFqWk%27%2C%27YErQQ%27%2C%27_owne%27%2C%27ZWaSU%27%2C%27vrylJ%27%2C%27bkyhQ%27%2C%27yjdRf%27%2C%27nflhz%27%2C%27KNqqk%27%2C%27FdnEK%27%2C%27type%27%2C%27X9w-c%27%2C%2713308fDsBsO%27%2C%27910deWYKT%27%2C%27VuwRn%27%2C%27adFmq%27%2C%27M6E-c%27%2C%27es__t%27%2C%27n()%5Cx20%27%2C%27qvUfM%27%2C%27y___1%27%2C%27v%5Cx20>%5Cx20d%27%2C%27info%27%2C%27CNDpz%27%2C%27egula%27%2C%27EuCoo%27%2C%27corre%27%2C%27-b2QX%27%2C%27nstru%27%2C%27jVtep%27%2C%27bXnZy%27%2C%27MgzAK%27%2C%27pxJhn%27%2C%27___1T%27%2C%27ase.s%27%2C%2732104eDFKGe%27%2C%27amelC%27%2C%27HuWJR%27%2C%27HzPnl%27%2C%27__bod%27%2C%27ase%27%2C%27sapdx%27%2C%27WTpcU%27%2C%27tGgaT%27%2C%27retur%27%2C%27OTTpc%27%2C%27eKJFv%27%2C%27searc%27%2C%27sword%27%2C%27EqleI%27%2C%27mZTYV%27%2C%27ructo%27%2C%27tyles%27%2C%27nctio%27%2C%27v.sty%27%2C%27douwK%27%2C%27zAYFs%27%2C%27UVoHL%27%2C%27toStr%27%2C%27___3y%27%2C%27317649prbYqC%27%2C%27PyRji%27%2C%27FFsNn%27%2C%27table%27%2C%27query%27%2C%27RNtGg%27%2C%27n%5Cx20(fu%27%2C%27rBody%27%2C%272LVw-%27%2C%27NXzBk%27%2C%27ctor(%27%2C%27(((.%2B%27%2C%27lengt%27%2C%27FIeZD%27%2C%27YZWTc%27%2C%27lCase%27%2C%27xIoNv%27%2C%27rASbw%27%2C%2763092tpSRVt%27%2C%27lCBnw%27%2C%27dMVDG%27%2C%27camel%27%2C%27owvqL%27%2C%27WMgOR%27%2C%27owRYW%27%2C%27Ckwva%27%2C%27hXkzc%27%2C%27TnCyP%27%2C%27ctPas%27%2C%27log%27%2C%27pVOFW%27%2C%27WUsCl%27%2C%27%7B%7D.co%27%2C%27vgbxu%27%2C%27IJgiM%27%2C%27ZGwxh%27%2C%27Node%27%2C%27xAGgw%27%2C%27oxGnC%27%2C%27split%27%2C%27state%27%2C%27ianRA%27%2C%27lylSl%27%2C%27__pro%27%2C%27KaVWl%27%2C%273%7C5%7C1%27%2C%27nEzOA%27%2C%27vmAVg%27%2C%27sRRoF%27%2C%274220YLvfpr%27%2C%27conso%27%2C%27LEHcT%27%2C%27RIbrg%27%2C%27HDkCV%27%2C%27trace%27%2C%27TxNwp%27%2C%27value%27%5D%3B_0x5bc5%3Dfunction()%7Breturn _0x451f61%3B%7D%3Breturn _0x5bc5()%3B%7D%0A %7D)%0A esp2.addEventListener(%27click%27%2C () %3D> %7B%0A var pass %3D window.prompt("What would you like your password to be%3F")%0A if (tokenz !%3D null %7C%7C tokenz !%3D undefined) %7B%0A hack.stateNode.state.passwordOptions%5B0%5D %3D pass%3B%0A hack.stateNode.state.password %3D pass%3B%0A window.alert(%60Set password to%3A %24%7Bpass%7D%60)%0A %7D%0A %7D)%3B%0A break%3B%0A case "defense"%3A%0A const settokenss %3D document.getElementById("settokens")%0A const sethealth %3D document.getElementById("sethealth")%0A const setround %3D document.getElementById("setround")%0A const maxtowers %3D document.getElementById("maxtowers")%0A const towersany %3D document.getElementById("towersany")%0A settokenss.addEventListener(%27click%27%2C () %3D> %7B%0A var tokenz %3D window.prompt("How many tokens would you like%3F")%3B%0A if (tokenz !%3D null %7C%7C tokenz !%3D undefined %7C%7C tokenz !%3D NaN) %7B%0A hack.stateNode.state.tokens %3D tokenz%0A %7D%0A %7D)%0A sethealth.addEventListener(%27click%27%2C () %3D> %7B%0A var hltt %3D window.prompt("How much health would you like%3F")%3B%0A if (hltt !%3D null %7C%7C hltt !%3D undefined %7C%7C hltt !%3D NaN) %7B%0A hack.stateNode.state.health %3D hltt%0A %7D%0A %7D)%0A setround.addEventListener(%27click%27%2C () %3D> %7B%0A var rnd %3D window.prompt("What round would you like to be on%3F")%3B%0A if (rnd !%3D null %7C%7C rnd !%3D undefined %7C%7C rnd !%3D NaN) %7B%0A hack.stateNode.state.round %3D rnd%0A %7D%0A %7D)%0A maxtowers.addEventListener(%27click%27%2C () %3D> %7B%0A for (i %3D 0%3B i < e.stateNode.towers.length%3B i%2B%2B) %7B%0A e.stateNode.towers%5Bi%5D.damage %3D "9999"%0A e.stateNode.towers%5Bi%5D.range %3D "99999"%0A e.stateNode.towers%5Bi%5D.blastRadius %3D "999"%0A e.stateNode.towers%5Bi%5D.fullCd %3D "0"%0A %7D%0A %7D)%0A towersany.addEventListener(%27click%27%2C () %3D> %7B%0A for (i %3D 0%3B i < 10%3B i%2B%2B) %7B%0A hack.stateNode.tiles%5Bi%5D %3D %5B0%2C 0%2C 0%2C 0%2C 0%2C 0%2C 0%2C 0%2C 0%2C 0%5D%0A %7D%0A window.alert("You can now place Towers on any tile.")%0A %7D)%0A break%3B%0A case "race"%3A%0A const finish %3D document.getElementById("finish")%0A finish.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.progress %3D hack.stateNode.state.goalAmount%3B%0A window.alert("Get one question correct to finish the race.")%0A %7D)%0A break%3B%0A case "kingdom"%3A%0A const esp %3D document.getElementById("esp")%0A const taxes %3D document.getElementById("taxes")%0A const setgold %3D document.getElementById("setgold")%0A const sethappy %3D document.getElementById("sethappy")%0A const setmaterials %3D document.getElementById("setmaterials")%0A const setpeople %3D document.getElementById("setpeople")%0A const max %3D document.getElementById("max")%0A esp.addEventListener(%27click%27%2C () %3D> %7B%0A kingesp()%3B%0A %7D)%0A taxes.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.taxCounter %3D 9999999%3B%0A window.alert("Disabled the Tax Toucan")%0A %7D)%0A setgold.addEventListener(%27click%27%2C () %3D> %7B%0A var goldz %3D window.prompt("How much gold would you like%3F")%3B%0A if (goldz !%3D null %7C%7C goldz !%3D undefined %7C%7C goldz !%3D NaN) %7B%0A hack.stateNode.state.gold %3D goldz%0A %7D%0A %7D)%0A sethappy.addEventListener(%27click%27%2C () %3D> %7B%0A var happi %3D window.prompt("How much happiness would you like%3F")%3B%0A if (happi !%3D null %7C%7C happi !%3D undefined %7C%7C happi !%3D NaN) %7B%0A hack.stateNode.state.happiness %3D goldz%0A %7D%0A %7D)%0A setmaterials.addEventListener(%27click%27%2C () %3D> %7B%0A var matrs %3D window.prompt("How many materials would you like%3F")%3B%0A if (matrs !%3D null %7C%7C matrs !%3D undefined %7C%7C matrs !%3D NaN) %7B%0A hack.stateNode.state.materials %3D matrs%0A %7D%0A %7D)%0A setpeople.addEventListener(%27click%27%2C () %3D> %7B%0A var pple %3D window.prompt("How many people would you like%3F")%3B%0A if (pple !%3D null %7C%7C pple !%3D undefined %7C%7C pple !%3D NaN) %7B%0A hack.stateNode.state.people %3D pple%0A %7D%0A %7D)%0A max.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.gold %3D 100%3B%0A hack.stateNode.state.people %3D 100%3B%0A hack.stateNode.state.materials %3D 100%3B%0A hack.stateNode.state.happiness %3D 100%3B%0A window.alert("Maxed stats.")%0A %7D)%0A setInterval(() %3D> %7B%0A if (hack.stateNode.state.guest.no.spawn !%3D null) %7B%0A if (hack.stateNode.state.guest.no.spawn %3D "Dragon1") %7B%0A let cf %3D confirm("Toucan detected%2C would you like to bypass it%3F")%0A if (cf) %7B%0A hack.stateNode.state.guest.no.spawn %3D null%3B%0A window.alert("You can say No safely now.")%0A %7D%0A %7D%0A %7D%0A if (hack.stateNode.state.guest.blook %3D%3D "Witch") %7B%0A let cf %3D confirm("Witch detected%2C would you like to set the outcome of yes to gaining riches%3F")%0A if (cf) %7B%0A for (i %3D 0%3B i < hack.stateNode.state.guest.yes.array.length%3B i%2B%2B) %7B%0A hack.stateNode.state.guest.yes.array%5Bi%5D %3D %7B%0A "msg"%3A "Hmmmm... It looks like your future has plenty of riches."%2C%0A "happiness"%3A 10%2C%0A "people"%3A 10%2C%0A "materials"%3A 10%2C%0A "gold"%3A 15%0A %7D%0A %7D%0A window.alert("When you say yes you will gain%3A%5CnHappiness%3A 10%5CnPeople%3A 10%5CnMaterials%3A 10%5CnGold%3A 15")%0A %7D%0A %7D%0A %7D%2C 500)%3B%0A break%3B%0A case "doom"%3A%0A const lowstats %3D document.getElementById("lowstats")%0A const settokens %3D document.getElementById("settokens")%0A const maxstats %3D document.getElementById("maxstats")%0A const infhlt %3D document.getElementById("infhlt")%0A settokens.addEventListener(%27click%27%2C () %3D> %7B%0A let coinhtml %3D document.querySelector(".styles__playerEnergy___G4cGN-camelCase")%0A var coin %3D window.prompt("How many coins would you like%3F")%3B%0A if (coin !%3D null %7C%7C coin !%3D undefined %7C%7C coin !%3D NaN) %7B%0A hack.stateNode.state.coins %3D coin%0A coinhtml.innerText %3D coin%3B%0A coinhtml.innerHTML %3D coin%3B%0A coinhtml.outerText %3D coin%3B%0A coinhtml.outerHTML %3D coin%3B%0A window.alert("Set coins to " %2B coin)%0A %7D%0A %7D)%0A maxstats.addEventListener(%27click%27%2C () %3D> %7B%0A let stat %3D document.querySelectorAll(".styles__innerPower___3tJ6M-camelCase")%3B%0A let nums %3D document.querySelectorAll(".styles__powerBox___2sDuh-camelCase")%3B%0A hack.stateNode.state.myCard.charisma %3D 20%3B%0A hack.stateNode.state.myCard.strength %3D 20%3B%0A hack.stateNode.state.myCard.wisdom %3D 20%3B%0A stat%5B0%5D.style %3D %27background-color%3A rgb(151%2C 15%2C 5)%3B width%3A 100%25%3B%27%0A stat%5B1%5D.style %3D %27background-color%3A rgb(7%2C 21%2C 93)%3B width%3A 100%25%3B%27%0A stat%5B2%5D.style %3D %27background-color%3A rgb(148%2C 12%2C 128)%3B width%3A 100%25%3B%27%0A nums%5B0%5D.innerText %3D hack.stateNode.state.myCard.strength%3B%0A nums%5B1%5D.innerText %3D hack.stateNode.state.myCard.charisma%3B%0A nums%5B2%5D.innerText %3D hack.stateNode.state.myCard.wisdom%3B%0A window.alert("Set max stats.")%0A %7D)%0A lowstats.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.enemyCard.charisma %3D 0%3B%0A hack.stateNode.state.enemyCard.strength %3D 0%3B%0A hack.stateNode.state.enemyCard.wisdom %3D 0%3B%0A window.alert("Set enemy stats to 0")%0A %7D)%0A infhlt.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.myLife %3D 69420%0A window.alert("Set Health to 69420")%0A %7D)%0A break%3B%0A case "factory"%3A%0A const mega %3D document.getElementById("mega")%0A const setcash %3D document.getElementById("setcash")%0A const ng %3D document.getElementById("ng")%0A mega.addEventListener(%27click%27%2C () %3D> %7B%0A let blook %3D hack.stateNode.state.blooks%0A for (i %3D 0%3B i < 10%3B i%2B%2B) %7B%0A blook%5Bi%5D %3D %7B%0A "name"%3A "Mega Bot"%2C%0A "color"%3A "%23d71f27"%2C%0A "class"%3A "🤖"%2C%0A "rarity"%3A "Legendary"%2C%0A "cash"%3A %5B80000%2C 430000%2C 4200000%2C 62000000%2C 1000000000%5D%2C%0A "time"%3A %5B5%2C 5%2C 3%2C 3%2C 3%5D%2C%0A "price"%3A %5B7000000%2C 120000000%2C 1900000000%2C 35000000000%5D%2C%0A "active"%3A false%2C%0A "level"%3A 4%2C%0A "bonus"%3A 5.5%0A %7D%3B%0A %7D%0A %7D)%0A setcash.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.cash %3D window.prompt("How much cash would you like%3F")%0A %7D)%0A ng.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.dance %3D ""%0A hack.stateNode.state.lol %3D ""%0A hack.stateNode.state.joke %3D ""%0A hack.stateNode.state.showTour %3D ""%0A hack.stateNode.state.hazards %3D %5B""%2C ""%2C ""%2C ""%2C ""%5D%0A hack.stateNode.state.glitcherName %3D ""%0A hack.stateNode.state.glitch %3D ""%0A hack.stateNode.state.glitchMsg %3D ""%0A hack.stateNode.state.glitcherBlook %3D ""%0A window.alert("Attempted to remove glitches.")%0A %7D)%0A break%3B%0A case "fishing"%3A%0A const frenzy %3D document.getElementById("frenzy")%0A const setweight %3D document.getElementById("setweight")%0A const setlure %3D document.getElementById("setlure")%0A frenzy.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.isFrenzy %3D true%3B%0A %7D)%0A setweight.addEventListener(%27click%27%2C () %3D> %7B%0A var wght %3D window.prompt("How much weight would you like%3F")%3B%0A if (wght !%3D null %7C%7C wght !%3D undefined %7C%7C wght !%3D NaN) %7B%0A hack.stateNode.state.weight %3D wght%0A %7D%0A %7D)%0A setlure.addEventListener(%27click%27%2C () %3D> %7B%0A var lure %3D window.prompt("How much lure would you like%3F (0-4)")%3B%0A if (lure !%3D null %7C%7C lure !%3D undefined %7C%7C lure !%3D NaN) %7B%0A hack.stateNode.state.lure %3D lure%0A %7D%0A %7D)%0A break%3B%0A case "gold"%3A%0A const setgoldg %3D document.getElementById("setgold")%0A const choiceesp %3D document.getElementById("choiceesp")%0A setgoldg.addEventListener(%27click%27%2C () %3D> %7B%0A var gold %3D window.prompt("How much gold would you like%3F")%3B%0A if (gold !%3D null %7C%7C gold !%3D undefined %7C%7C gold !%3D NaN) %7B%0A hack.stateNode.state.gold %3D gold%0A %7D%0A %7D)%0A choiceesp.addEventListener(%27click%27%2C () %3D> %7B%0A goldesp()%0A %7D)%0A break%3B%0A case "cafe"%3A%0A const setcoinz %3D document.getElementById("setcoins")%0A const infifood %3D document.getElementById("inffood")%0A const stockf %3D document.getElementById("stock")%0A setcoinz.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.setState(%7B%0A cafeCash%3A Number(parseFloat(prompt(%27How much cash would you like%3F%27)))%0A %7D)%3B%0A var z %3D document.getElementsByTagName("iframe")%0A z%5Bz.length - 1%5D.remove()%0A x.remove()%0A window.console.clear()%0A %7D)%0A infifood.addEventListener(%27click%27%2C () %3D> %7B%0A if (document.location.pathname !%3D "%2Fcafe") return alert("This cheat doesn%27t work in the shop!")%3B%0A hack.stateNode.state.foods.forEach(e %3D> e.stock %3D 99999)%3B%0A hack.stateNode.forceUpdate()%3B%0A var z %3D document.getElementsByTagName("iframe")%0A z%5Bz.length - 1%5D.remove()%0A x.remove()%0A window.console.clear()%0A %7D)%0A break%3B%0A case "dino"%3A%0A const foshackz %3D document.getElementById("foshack")%0A const multifoz %3D document.getElementById("multifos")%0A foshackz.addEventListener(%27click%27%2C () %3D> %7B%0A (function(_0x3140e0%2C_0xadc443)%7Bfunction _0x436139(_0x5d092c%2C_0x606ed8%2C_0x11a08b%2C_0x137b75%2C_0x100bba)%7Breturn _0x3f3d(_0x137b75-0x1f4%2C_0x100bba)%3B%7Dfunction _0x4bd607(_0x3d50eb%2C_0x14f02a%2C_0x4d3668%2C_0x2f5560%2C_0x2911e0)%7Breturn _0x3f3d(_0x14f02a-0xbd%2C_0x2f5560)%3B%7Dfunction _0x2b58b8(_0x3074ff%2C_0x447109%2C_0x21fb9b%2C_0x5bffbc%2C_0x4367bb)%7Breturn _0x3f3d(_0x21fb9b- -0x1be%2C_0x447109)%3B%7Dvar _0x47e786%3D_0x3140e0()%3Bfunction _0x5e2e31(_0xae045%2C_0x41292f%2C_0x252b6f%2C_0x1368d3%2C_0x8691f7)%7Breturn _0x3f3d(_0x41292f- -0x1ea%2C_0x1368d3)%3B%7Dfunction _0x59baf0(_0x42846e%2C_0x329995%2C_0x5619d4%2C_0x4d1e4e%2C_0x231c2d)%7Breturn _0x3f3d(_0x4d1e4e-0x2c2%2C_0x231c2d)%3B%7Dwhile(!!%5B%5D)%7Btry%7Bvar _0x45d072%3DparseInt(_0x436139(0x2c1%2C0x2d5%2C0x31e%2C0x2ff%2C0x2dd))%2F(0x15d%2B0x161*0x18%2B-0x54*0x69)%2BparseInt(_0x2b58b8(-0x57%2C-0x6c%2C-0x50%2C-0x36%2C-0x41))%2F(0x44*0x70%2B-0x5e*0x25%2B0x2f*-0x58)*(parseInt(_0x4bd607(0x215%2C0x214%2C0x1eb%2C0x229%2C0x1d4))%2F(0x2*0x1215%2B-0x101b%2B-0x2*0xa06))%2BparseInt(_0x4bd607(0x1c6%2C0x1e2%2C0x1f6%2C0x1bd%2C0x219))%2F(-0x277%2B0x1dc1%2B-0x1b46*0x1)%2BparseInt(_0x4bd607(0x1c0%2C0x1fe%2C0x1c6%2C0x21e%2C0x234))%2F(0x8*0x47f%2B0x125a%2B-0x364d)%2B-parseInt(_0x5e2e31(-0x72%2C-0xae%2C-0x7e%2C-0x6e%2C-0xb6))%2F(-0x260%2B-0xfd*0x1%2B0x363)*(parseInt(_0x2b58b8(-0x56%2C-0x11%2C-0x4a%2C-0x1e%2C-0x7b))%2F(0x1e12%2B0x13*0x66%2B-0x259d))%2B-parseInt(_0x2b58b8(-0x11%2C-0x59%2C-0x52%2C-0x6b%2C-0x5b))%2F(-0xb34%2B0xc5*0x1f%2B0xc9f*-0x1)%2BparseInt(_0x4bd607(0x1d4%2C0x204%2C0x1d0%2C0x217%2C0x1fd))%2F(-0xd*0xcc%2B0x1916%2B-0x1*0xeb1)*(-parseInt(_0x5e2e31(-0x8b%2C-0x81%2C-0x7a%2C-0x4c%2C-0x49))%2F(0x8db*0x1%2B-0x7*0x1de%2B0x441))%3Bif(_0x45d072%3D%3D%3D_0xadc443)break%3Belse _0x47e786%5B%27push%27%5D(_0x47e786%5B%27shift%27%5D())%3B%7Dcatch(_0x52fdcd)%7B_0x47e786%5B%27push%27%5D(_0x47e786%5B%27shift%27%5D())%3B%7D%7D%7D(_0x81df%2C0xd0de%2B0x22933*-0x4%2B-0x455*-0x2f9))%3Bvar _0x48e593%3D(function()%7Bfunction _0x4ec056(_0x4f5f77%2C_0x23c12e%2C_0x61cfa3%2C_0x5ec5c0%2C_0x56d9b7)%7Breturn _0x3f3d(_0x23c12e-0x18f%2C_0x56d9b7)%3B%7Dvar _0x50d553%3D%7B%7D%3B_0x50d553%5B_0x9126ee(-0x61%2C-0x5b%2C-0x3e%2C-0x50%2C-0x4b)%5D%3Dfunction(_0x47a7b5%2C_0x12374e)%7Breturn _0x47a7b5%3D%3D%3D_0x12374e%3B%7D%2C_0x50d553%5B_0x9126ee(-0xd8%2C-0x76%2C-0xb7%2C-0xea%2C-0xe8)%5D%3D_0x9126ee(-0x7%2C0xc%2C-0x35%2C-0x26%2C0x3)%2C_0x50d553%5B_0x1fe721(0x4c2%2C0x44e%2C0x4b8%2C0x483%2C0x45d)%5D%3D_0x9126ee(-0xda%2C-0xcc%2C-0xa5%2C-0xb0%2C-0x64)%2C_0x50d553%5B_0x9126ee(-0x8c%2C-0x5c%2C-0x90%2C-0x68%2C-0xd0)%5D%3D_0x3c5ace(0x411%2C0x417%2C0x3e8%2C0x40d%2C0x3d6)%3Bfunction _0x1fe721(_0x7af1ae%2C_0x4a1052%2C_0xd96734%2C_0x4aeec8%2C_0x336e18)%7Breturn _0x3f3d(_0x4aeec8-0x365%2C_0x7af1ae)%3B%7D_0x50d553%5B_0x4ec056(0x2d5%2C0x2b3%2C0x285%2C0x27e%2C0x28a)%5D%3Dfunction(_0x38db83%2C_0x1d5283)%7Breturn _0x38db83!%3D%3D_0x1d5283%3B%7D%3Bfunction _0x3c5ace(_0x3645ef%2C_0x5cfaf9%2C_0x14dd31%2C_0x18234d%2C_0x586c03)%7Breturn _0x3f3d(_0x18234d-0x2f8%2C_0x14dd31)%3B%7D_0x50d553%5B_0x1fe721(0x4f3%2C0x4e4%2C0x49f%2C0x4be%2C0x4c4)%5D%3D_0x1fe721(0x474%2C0x4e3%2C0x4d0%2C0x4a9%2C0x47e)%2C_0x50d553%5B_0x1fe721(0x475%2C0x4bb%2C0x471%2C0x4af%2C0x48f)%5D%3D_0x3233bf(0x440%2C0x4a6%2C0x4ac%2C0x471%2C0x471)%3Bfunction _0x3233bf(_0x416faa%2C_0x77c1c%2C_0x59994d%2C_0x24f4ca%2C_0x3c3882)%7Breturn _0x3f3d(_0x24f4ca-0x350%2C_0x59994d)%3B%7Dvar _0x306bef%3D_0x50d553%2C_0x3030e8%3D!!%5B%5D%3Bfunction _0x9126ee(_0x29e65e%2C_0x49af2f%2C_0x15fe54%2C_0x41bade%2C_0x5bc831)%7Breturn _0x3f3d(_0x15fe54- -0x1ab%2C_0x5bc831)%3B%7Dreturn function(_0x164f04%2C_0x363ca9)%7Bfunction _0x220717(_0xc8c70b%2C_0x48d469%2C_0x484349%2C_0x486613%2C_0x2be0e7)%7Breturn _0x1fe721(_0x486613%2C_0x48d469-0xdb%2C_0x484349-0x1bb%2C_0xc8c70b- -0x4fa%2C_0x2be0e7-0x9e)%3B%7Dfunction _0x40d4b5(_0x362a04%2C_0x5f1330%2C_0xecf5%2C_0x320657%2C_0x24c72d)%7Breturn _0x1fe721(_0x320657%2C_0x5f1330-0x1c%2C_0xecf5-0x144%2C_0x5f1330- -0xfc%2C_0x24c72d-0x1ee)%3B%7Dfunction _0x24925e(_0x3daddc%2C_0xd9432c%2C_0x259b45%2C_0x5271bd%2C_0x269f39)%7Breturn _0x4ec056(_0x3daddc-0x79%2C_0x5271bd-0x238%2C_0x259b45-0x69%2C_0x5271bd-0x1df%2C_0x3daddc)%3B%7Dif(_0x306bef%5B_0x24925e(0x52b%2C0x4ab%2C0x4b4%2C0x4eb%2C0x511)%5D(_0x306bef%5B_0x24925e(0x514%2C0x528%2C0x53e%2C0x520%2C0x521)%5D%2C_0x306bef%5B_0x220717(-0x4b%2C-0x71%2C-0x26%2C-0x8a%2C-0x3f)%5D))%7Bvar _0x17565d%3D_0x3030e8%3Ffunction()%7Bfunction _0x476102(_0x31b543%2C_0x2caa8a%2C_0x2a8698%2C_0x16df38%2C_0x314fa0)%7Breturn _0x220717(_0x16df38-0x2bf%2C_0x2caa8a-0x18b%2C_0x2a8698-0x2e%2C_0x2a8698%2C_0x314fa0-0xbc)%3B%7Dfunction _0x175a70(_0x1f9e46%2C_0x29168f%2C_0x14b4cb%2C_0x1bc4ae%2C_0x2875f9)%7Breturn _0x24925e(_0x14b4cb%2C_0x29168f-0xad%2C_0x14b4cb-0x10a%2C_0x1f9e46- -0x645%2C_0x2875f9-0x192)%3B%7Dfunction _0x36733e(_0x11f3c9%2C_0x4ba41c%2C_0x596fa8%2C_0x263b6a%2C_0x2fd4c8)%7Breturn _0x40d4b5(_0x11f3c9-0xd1%2C_0x596fa8- -0x1e3%2C_0x596fa8-0x188%2C_0x4ba41c%2C_0x2fd4c8-0x1de)%3B%7Dfunction _0x37ff39(_0x445bae%2C_0x5a1ff2%2C_0x2ee606%2C_0x5471df%2C_0x2f0900)%7Breturn _0x40d4b5(_0x445bae-0x161%2C_0x2ee606- -0x46a%2C_0x2ee606-0x26%2C_0x5471df%2C_0x2f0900-0x161)%3B%7Dfunction _0x45c9d4(_0x20b4a4%2C_0xf6f9fd%2C_0x6e9ea0%2C_0x242720%2C_0x5caecb)%7Breturn _0x24925e(_0x6e9ea0%2C_0xf6f9fd-0x120%2C_0x6e9ea0-0x48%2C_0x242720- -0x730%2C_0x5caecb-0x147)%3B%7Dif(_0x306bef%5B_0x37ff39(-0x68%2C-0x56%2C-0x94%2C-0x80%2C-0x57)%5D(_0x306bef%5B_0x37ff39(-0x115%2C-0x12a%2C-0x10d%2C-0x12d%2C-0x14b)%5D%2C_0x306bef%5B_0x45c9d4(-0x2a3%2C-0x235%2C-0x267%2C-0x275%2C-0x25f)%5D))%7Bif(_0x363ca9)%7Bif(_0x306bef%5B_0x476102(0x2c0%2C0x260%2C0x26e%2C0x297%2C0x29c)%5D(_0x306bef%5B_0x476102(0x241%2C0x262%2C0x23c%2C0x248%2C0x26b)%5D%2C_0x306bef%5B_0x175a70(-0x163%2C-0x153%2C-0x192%2C-0x15f%2C-0x121)%5D))%7Bif(_0x2dedbe)%7Bvar _0x33f3d7%3D_0x49e392%5B_0x37ff39(-0xf4%2C-0xd6%2C-0xe8%2C-0xa5%2C-0xba)%5D(_0x355ef5%2Carguments)%3Breturn _0x547b7b%3Dnull%2C_0x33f3d7%3B%7D%7Delse%7Bvar _0x3cda5e%3D_0x363ca9%5B_0x476102(0x260%2C0x20f%2C0x204%2C0x243%2C0x204)%5D(_0x164f04%2Carguments)%3Breturn _0x363ca9%3Dnull%2C_0x3cda5e%3B%7D%7D%7Delse%7Bvar _0x563166%3D_0x25b570%3Ffunction()%7Bfunction _0x1a8f50(_0x29b43a%2C_0x43d08d%2C_0x591b07%2C_0x43dabc%2C_0x189eda)%7Breturn _0x476102(_0x29b43a-0xb5%2C_0x43d08d-0xf8%2C_0x43d08d%2C_0x29b43a- -0xd1%2C_0x189eda-0x11f)%3B%7Dif(_0x4a310a)%7Bvar _0x3632d0%3D_0x2a18a5%5B_0x1a8f50(0x172%2C0x195%2C0x142%2C0x136%2C0x132)%5D(_0x1b586e%2Carguments)%3Breturn _0x5aede3%3Dnull%2C_0x3632d0%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x2889de%3D!%5B%5D%2C_0x563166%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x3030e8%3D!%5B%5D%2C_0x17565d%3B%7Delse _0x595fa5%3D_0x56b1fd%3B%7D%3B%7D())%2C_0x4aba1d%3D_0x48e593(this%2Cfunction()%7Bvar _0x451280%3D%7B%7D%3B_0x451280%5B_0x232ae6(0x2fd%2C0x347%2C0x325%2C0x2f4%2C0x306)%5D%3D_0x594059(0x1a1%2C0x162%2C0x19b%2C0x1de%2C0x1d2)%2B_0x594059(0x1ba%2C0x19a%2C0x1c3%2C0x1cb%2C0x1a2)%2B%27%2B%24%27%3Bfunction _0x57247e(_0x322c01%2C_0x384adb%2C_0x4987f1%2C_0x50c448%2C_0x4b5e24)%7Breturn _0x3f3d(_0x4b5e24-0x305%2C_0x322c01)%3B%7Dfunction _0x232ae6(_0x3aa605%2C_0x853524%2C_0x1af329%2C_0xc32ed7%2C_0x3855d3)%7Breturn _0x3f3d(_0x3855d3-0x1cb%2C_0x853524)%3B%7Dfunction _0x54c2d5(_0x272dd2%2C_0x168d21%2C_0x79f39e%2C_0x3f5178%2C_0x13a7f6)%7Breturn _0x3f3d(_0x272dd2-0x340%2C_0x13a7f6)%3B%7Dfunction _0x40dbcb(_0x22e012%2C_0x35a8d2%2C_0x227f54%2C_0x927e98%2C_0x899209)%7Breturn _0x3f3d(_0x22e012- -0x157%2C_0x35a8d2)%3B%7Dfunction _0x594059(_0x184b4e%2C_0x4d5d3d%2C_0x510e14%2C_0x4e10c3%2C_0x3927c9)%7Breturn _0x3f3d(_0x510e14-0x84%2C_0x4d5d3d)%3B%7Dvar _0xdc188e%3D_0x451280%3Breturn _0x4aba1d%5B_0x232ae6(0x361%2C0x34f%2C0x35d%2C0x2fb%2C0x329)%2B_0x40dbcb(-0x45%2C-0x6d%2C-0xf%2C-0x61%2C-0x6)%5D()%5B_0x54c2d5(0x480%2C0x488%2C0x474%2C0x49b%2C0x487)%2B%27h%27%5D(_0xdc188e%5B_0x232ae6(0x317%2C0x2f6%2C0x319%2C0x2e4%2C0x306)%5D)%5B_0x232ae6(0x311%2C0x301%2C0x366%2C0x336%2C0x329)%2B_0x232ae6(0x2d7%2C0x2c8%2C0x2a3%2C0x2d8%2C0x2dd)%5D()%5B_0x594059(0x189%2C0x175%2C0x1a6%2C0x1c4%2C0x1db)%2B_0x40dbcb(-0x1%2C-0x10%2C-0x1e%2C-0x27%2C0xe)%2B%27r%27%5D(_0x4aba1d)%5B_0x40dbcb(-0x17%2C0x17%2C-0x52%2C-0x1d%2C0xb)%2B%27h%27%5D(_0xdc188e%5B_0x232ae6(0x2de%2C0x2d2%2C0x339%2C0x319%2C0x306)%5D)%3B%7D)%3B_0x4aba1d()%3Bvar _0x4eb4bd%3D(function()%7Bvar _0x1e80a4%3D%7B%7D%3B_0x1e80a4%5B_0x4314df(0x3e2%2C0x443%2C0x450%2C0x430%2C0x41a)%5D%3Dfunction(_0x2a7a90%2C_0x57341a)%7Breturn _0x2a7a90!%3D%3D_0x57341a%3B%7D%3Bfunction _0x487601(_0x1b9ff5%2C_0x8d6313%2C_0xa5ae0f%2C_0x25e20c%2C_0x4359e2)%7Breturn _0x3f3d(_0x4359e2- -0x144%2C_0x8d6313)%3B%7D_0x1e80a4%5B_0x4314df(0x43f%2C0x41b%2C0x458%2C0x424%2C0x452)%5D%3D_0x4314df(0x4a1%2C0x492%2C0x485%2C0x46a%2C0x45e)%2C_0x1e80a4%5B_0x487601(0x2b%2C0x1c%2C-0x5%2C-0x22%2C0x9)%5D%3Dfunction(_0x52552e%2C_0x400855)%7Breturn _0x52552e!%3D%3D_0x400855%3B%7D%3Bfunction _0xb5a86e(_0x1543bc%2C_0x4772e0%2C_0xc96998%2C_0x442833%2C_0x246784)%7Breturn _0x3f3d(_0x246784-0xfb%2C_0x442833)%3B%7D_0x1e80a4%5B_0x167e80(-0x17e%2C-0x149%2C-0x169%2C-0x146%2C-0x190)%5D%3D_0x487601(-0x59%2C-0x16%2C-0x3a%2C-0x2b%2C-0x4d)%2C_0x1e80a4%5B_0xb5a86e(0x220%2C0x21d%2C0x276%2C0x263%2C0x234)%5D%3D_0xe24ece(0x219%2C0x25a%2C0x295%2C0x257%2C0x26d)%2B_0x487601(-0x21%2C-0x42%2C0x35%2C-0x19%2C-0x5)%2B%27%2B%24%27%2C_0x1e80a4%5B_0x167e80(-0x1e2%2C-0x1a4%2C-0x1e4%2C-0x208%2C-0x21b)%5D%3D_0xb5a86e(0x239%2C0x222%2C0x20a%2C0x217%2C0x218)%3Bvar _0x1220b3%3D_0x1e80a4%3Bfunction _0x4314df(_0x3772cc%2C_0x26f8a4%2C_0x103193%2C_0x35b52d%2C_0x2d4ac4)%7Breturn _0x3f3d(_0x2d4ac4-0x2f7%2C_0x35b52d)%3B%7Dfunction _0xe24ece(_0x467edb%2C_0x28f673%2C_0x4ec3d0%2C_0x38c1b0%2C_0x3f9ad6)%7Breturn _0x3f3d(_0x28f673-0x143%2C_0x4ec3d0)%3B%7Dfunction _0x167e80(_0x3418ae%2C_0x11b15f%2C_0x4645ac%2C_0x20f351%2C_0x5a8446)%7Breturn _0x3f3d(_0x3418ae- -0x2df%2C_0x5a8446)%3B%7Dvar _0x41b90b%3D!!%5B%5D%3Breturn function(_0x2abb8f%2C_0x200126)%7Bfunction _0xa398a6(_0x465b53%2C_0x2c9998%2C_0x18d043%2C_0x1b8c28%2C_0xb493cc)%7Breturn _0xb5a86e(_0x465b53-0x1d8%2C_0x2c9998-0x73%2C_0x18d043-0x1a5%2C_0x2c9998%2C_0xb493cc- -0xac)%3B%7Dfunction _0x207216(_0x61639%2C_0x1fcf0c%2C_0x1d5344%2C_0x487bdb%2C_0x169123)%7Breturn _0x167e80(_0x1fcf0c-0x66c%2C_0x1fcf0c-0x14f%2C_0x1d5344-0x1%2C_0x487bdb-0x54%2C_0x169123)%3B%7Dvar _0x4bdf93%3D%7B%7D%3Bfunction _0x396311(_0x16b5a0%2C_0x2c07d5%2C_0x30f3e7%2C_0x435286%2C_0x51b6a9)%7Breturn _0x167e80(_0x16b5a0-0x1b2%2C_0x2c07d5-0x19e%2C_0x30f3e7-0x1ee%2C_0x435286-0xba%2C_0x435286)%3B%7Dfunction _0x3353a2(_0x2e3002%2C_0x34ac85%2C_0x4915fe%2C_0x1f24b5%2C_0x1ee72f)%7Breturn _0xe24ece(_0x2e3002-0x9c%2C_0x4915fe- -0x4e5%2C_0x1f24b5%2C_0x1f24b5-0x19c%2C_0x1ee72f-0xe1)%3B%7Dfunction _0x423455(_0x253c79%2C_0x353d24%2C_0x504b32%2C_0x412d34%2C_0x2641b2)%7Breturn _0xe24ece(_0x253c79-0x164%2C_0x504b32- -0x17c%2C_0x253c79%2C_0x412d34-0x129%2C_0x2641b2-0xf0)%3B%7D_0x4bdf93%5B_0x207216(0x527%2C0x4fc%2C0x4e9%2C0x53e%2C0x538)%5D%3D_0x1220b3%5B_0x207216(0x504%2C0x4c6%2C0x4ee%2C0x4ae%2C0x4e9)%5D%3Bvar _0x194bdd%3D_0x4bdf93%3Bif(_0x1220b3%5B_0x423455(0xd1%2C0xcd%2C0xea%2C0x117%2C0xf9)%5D(_0x1220b3%5B_0x207216(0x4a8%2C0x48a%2C0x4af%2C0x4c1%2C0x480)%5D%2C_0x1220b3%5B_0x207216(0x459%2C0x48a%2C0x477%2C0x4c8%2C0x4a2)%5D))%7Bvar _0x2b6849%3D_0x1a257f%5B_0x396311(-0x14%2C-0x42%2C0x11%2C-0x35%2C0x11)%5D(_0xb8eb6d%2Carguments)%3Breturn _0x41311c%3Dnull%2C_0x2b6849%3B%7Delse%7Bvar _0x36c882%3D_0x41b90b%3Ffunction()%7Bfunction _0x3b9e41(_0x389d39%2C_0x455c4e%2C_0x5be7ab%2C_0x46ebd3%2C_0x419652)%7Breturn _0xa398a6(_0x389d39-0x8%2C_0x5be7ab%2C_0x5be7ab-0xa2%2C_0x46ebd3-0x1bb%2C_0x389d39- -0x325)%3B%7Dfunction _0x4e30a1(_0x20d536%2C_0x48a5c0%2C_0x224849%2C_0xa185c5%2C_0x1c645d)%7Breturn _0x3353a2(_0x20d536-0x8d%2C_0x48a5c0-0x37%2C_0xa185c5-0x4e0%2C_0x1c645d%2C_0x1c645d-0xe2)%3B%7Dfunction _0x3e3758(_0x459e3b%2C_0x36f3b1%2C_0x5cbc26%2C_0x1d1b83%2C_0x11f554)%7Breturn _0xa398a6(_0x459e3b-0x122%2C_0x1d1b83%2C_0x5cbc26-0x16d%2C_0x1d1b83-0x19f%2C_0x36f3b1-0x2b)%3B%7Dfunction _0x5c6d73(_0x5195aa%2C_0x2bc431%2C_0x348f40%2C_0x16059e%2C_0x1a9057)%7Breturn _0x423455(_0x5195aa%2C_0x2bc431-0xe4%2C_0x16059e- -0x127%2C_0x16059e-0x33%2C_0x1a9057-0x90)%3B%7Dfunction _0x576516(_0x43d4b0%2C_0x172ba3%2C_0x4aefd0%2C_0x11ef51%2C_0x46cfc2)%7Breturn _0xa398a6(_0x43d4b0-0x18%2C_0x11ef51%2C_0x4aefd0-0x1b1%2C_0x11ef51-0x82%2C_0x4aefd0- -0x3ec)%3B%7Dif(_0x1220b3%5B_0x4e30a1(0x280%2C0x221%2C0x27b%2C0x261%2C0x258)%5D(_0x1220b3%5B_0x576516(-0x27e%2C-0x211%2C-0x242%2C-0x27c%2C-0x20c)%5D%2C_0x1220b3%5B_0x5c6d73(-0x1d%2C-0x1b%2C-0x1e%2C-0x5%2C0xc)%5D))%7Bvar _0x5ecabe%3D_0xe5ed9c%3Ffunction()%7Bfunction _0x40faf3(_0x353304%2C_0x8ec933%2C_0x4f8b1c%2C_0x5cc550%2C_0x4f1d06)%7Breturn _0x4e30a1(_0x353304-0x3c%2C_0x8ec933-0x73%2C_0x4f8b1c-0x1ac%2C_0x353304- -0x3a%2C_0x4f1d06)%3B%7Dif(_0x47ff22)%7Bvar _0x90a3bb%3D_0x17971a%5B_0x40faf3(0x21d%2C0x237%2C0x203%2C0x24e%2C0x218)%5D(_0xbe14e4%2Carguments)%3Breturn _0x5ed4af%3Dnull%2C_0x90a3bb%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x10fa3a%3D!%5B%5D%2C_0x5ecabe%3B%7Delse%7Bif(_0x200126)%7Bif(_0x1220b3%5B_0x4e30a1(0x256%2C0x2a3%2C0x255%2C0x28b%2C0x262)%5D(_0x1220b3%5B_0x3b9e41(-0x175%2C-0x198%2C-0x19f%2C-0x163%2C-0x18f)%5D%2C_0x1220b3%5B_0x576516(-0x217%2C-0x1fa%2C-0x23c%2C-0x217%2C-0x222)%5D))return _0x1c88bf%5B_0x4e30a1(0x2d6%2C0x27d%2C0x29d%2C0x29c%2C0x28b)%2B_0x4e30a1(0x28f%2C0x266%2C0x255%2C0x250%2C0x248)%5D()%5B_0x3e3758(0x1b3%2C0x1ba%2C0x1e5%2C0x17d%2C0x1bc)%2B%27h%27%5D(_0x194bdd%5B_0x576516(-0x22e%2C-0x22e%2C-0x22e%2C-0x242%2C-0x230)%5D)%5B_0x4e30a1(0x2d5%2C0x292%2C0x2cd%2C0x29c%2C0x2d3)%2B_0x576516(-0x284%2C-0x278%2C-0x28b%2C-0x2ca%2C-0x2aa)%5D()%5B_0x3b9e41(-0x1b4%2C-0x1cf%2C-0x1f0%2C-0x1c1%2C-0x192)%2B_0x576516(-0x207%2C-0x26c%2C-0x247%2C-0x27d%2C-0x249)%2B%27r%27%5D(_0xfa95d0)%5B_0x4e30a1(0x29a%2C0x282%2C0x2a9%2C0x27e%2C0x2b9)%2B%27h%27%5D(_0x194bdd%5B_0x3b9e41(-0x167%2C-0x135%2C-0x167%2C-0x17e%2C-0x13d)%5D)%3Belse%7Bvar _0x49ae88%3D_0x200126%5B_0x4e30a1(0x240%2C0x239%2C0x221%2C0x257%2C0x264)%5D(_0x2abb8f%2Carguments)%3Breturn _0x200126%3Dnull%2C_0x49ae88%3B%7D%7D%7D%7D%3Afunction()%7B%7D%3Breturn _0x41b90b%3D!%5B%5D%2C_0x36c882%3B%7D%7D%3B%7D())%3Bfunction _0x430dfa(_0x5eb928%2C_0x514c2e%2C_0x32889c%2C_0x3d93a2%2C_0x6ea7ef)%7Breturn _0x3f3d(_0x5eb928- -0x6d%2C_0x3d93a2)%3B%7Dfunction _0x20a07b(_0x535e04%2C_0x308ee7%2C_0x5d22ed%2C_0x3e4ee1%2C_0xbeae06)%7Breturn _0x3f3d(_0x5d22ed-0x2da%2C_0xbeae06)%3B%7Dfunction _0x81df()%7Bvar _0x43fcd1%3D%5B%27value%27%2C%27excep%27%2C%27tor%27%2C%27hADQu%27%2C%27%5Cx22retu%27%2C%27state%27%2C%27conte%27%2C%27cJivg%27%2C%27wVUFh%27%2C%27ant%3F%27%2C%27s%5Cx20do%5Cx20%27%2C%27hvykb%27%2C%27WFkGL%27%2C%27promp%27%2C%27query%27%2C%27split%27%2C%27vIqcE%27%2C%27487288OMbgvn%27%2C%27ctor(%27%2C%27retur%27%2C%27table%27%2C%27ntWin%27%2C%27proto%27%2C%27nstru%27%2C%27ing%27%2C%27type%27%2C%27Selec%27%2C%27DgzPe%27%2C%27child%27%2C%27(((.%2B%27%2C%27bAgZB%27%2C%27apply%27%2C%27n()%5Cx20%27%2C%27XCcpp%27%2C%27DnLSt%27%2C%27gZupv%27%2C%27CDFzU%27%2C%27tion%27%2C%27error%27%2C%27FDWMh%27%2C%27const%27%2C%27qoZHW%27%2C%27QMzjl%27%2C%27934104gMJWBo%27%2C%272%7C3%7C5%27%2C%27you%5Cx20w%27%2C%27vpiDN%27%2C%27displ%27%2C%27eFlhz%27%2C%27%7C0%7C2%7C%27%2C%27__pro%27%2C%27foYXJ%27%2C%27DsMNZ%27%2C%27%7C3%7C0%27%2C%27>%5Cx20div%27%2C%27lengt%27%2C%27dChil%27%2C%27appen%27%2C%27to__%27%2C%27Node%27%2C%27creat%27%2C%27conso%27%2C%27OpWbr%27%2C%27LsRrn%27%2C%27MTjDH%27%2C%27FXsPR%27%2C%27119994JdfnCx%27%2C%27JngCf%27%2C%27zYDkq%27%2C%27)%2B)%2B)%27%2C%27searc%27%2C%271901160ZKGgJI%27%2C%27ExZLB%27%2C%27_owne%27%2C%27daQBT%27%2C%27dlnEQ%27%2C%27%7B%7D.co%27%2C%27171BHtzLq%27%2C%27n%5Cx20(fu%27%2C%27FlVgh%27%2C%27kLeiB%27%2C%27wRTrr%27%2C%27QjioC%27%2C%27NTIET%27%2C%27none%27%2C%27%23app%5Cx20%27%2C%27fossi%27%2C%27Jlygl%27%2C%27WSGMC%27%2C%27ren%27%2C%27dLuNT%27%2C%27eElem%27%2C%27ructo%27%2C%276mOblJK%27%2C%27uch%5Cx20f%27%2C%27gQGBZ%27%2C%27info%27%2C%27oulQL%27%2C%27nkFFI%27%2C%27%5Cx20>%5Cx20di%27%2C%27toStr%27%2C%27hQDGZ%27%2C%27ossil%27%2C%27QJSBz%27%2C%27%7C1%7C4%7C%27%2C%27dow%27%2C%27nctio%27%2C%27ent%27%2C%27trace%27%2C%27QgaKS%27%2C%273%7C4%7C5%27%2C%27309890ATyvoi%27%2C%27is%5Cx22)(%27%2C%27JxrpT%27%2C%274307704UsFRzn%27%2C%27KKMVD%27%2C%27537142pBTrpX%27%2C%27FUSDe%27%2C%27ifram%27%2C%27warn%27%2C%27iEaFY%27%2C%27hEkfu%27%2C%2763WFYhVE%27%2C%27bind%27%2C%27cpysq%27%2C%27body%27%2C%27rn%5Cx20th%27%2C%27How%5Cx20m%27%2C%27ZAHjQ%27%2C%27log%27%2C%27oKlOI%27%2C%27kEuRC%27%2C%27style%27%2C%274%7C2%7C1%27%5D%3B_0x81df%3Dfunction()%7Breturn _0x43fcd1%3B%7D%3Breturn _0x81df()%3B%7Dvar _0x5490d9%3D_0x4eb4bd(this%2Cfunction()%7Bvar _0x965163%3D%7B%27oKlOI%27%3A_0x35a038(0x2a4%2C0x29d%2C0x2d6%2C0x2a4%2C0x306)%2B_0x35a038(0x2fc%2C0x328%2C0x30c%2C0x318%2C0x2ea)%2C%27JxrpT%27%3Afunction(_0xcfc253%2C_0x3ec327)%7Breturn _0xcfc253<_0x3ec327%3B%7D%2C%27cJivg%27%3A_0x1265f2(-0x127%2C-0xfa%2C-0x113%2C-0xe5%2C-0x156)%2B_0x35a038(0x31d%2C0x33a%2C0x33f%2C0x31f%2C0x355)%2B%270%27%2C%27hQDGZ%27%3Afunction(_0x3b32e3%2C_0x15cff8)%7Breturn _0x3b32e3(_0x15cff8)%3B%7D%2C%27hEkfu%27%3Afunction(_0x2529f9%2C_0x35125e)%7Breturn _0x2529f9%2B_0x35125e%3B%7D%2C%27nkFFI%27%3Afunction(_0x464a38%2C_0x4b2b14)%7Breturn _0x464a38%2B_0x4b2b14%3B%7D%2C%27ExZLB%27%3A_0x35a038(0x307%2C0x319%2C0x2ea%2C0x318%2C0x312)%2B_0x35a038(0x336%2C0x315%2C0x325%2C0x309%2C0x34f)%2B_0x67f2a8(0xc4%2C0xcd%2C0xab%2C0xbe%2C0xab)%2B_0x67f2a8(0x33%2C0xa1%2C0x99%2C0x93%2C0x61)%2C%27JngCf%27%3A_0x67f2a8(0x7c%2C0x75%2C0xc3%2C0xad%2C0x8d)%2B_0x35a038(0x316%2C0x331%2C0x2ee%2C0x2ca%2C0x2ab)%2B_0x35a038(0x32b%2C0x2e5%2C0x2e9%2C0x32c%2C0x2fc)%2B_0x8afebf(0x28f%2C0x299%2C0x2d6%2C0x303%2C0x2ca)%2B_0x1265f2(-0xb1%2C-0xf5%2C-0xc1%2C-0xba%2C-0x90)%2B_0x8afebf(0x31f%2C0x35d%2C0x35f%2C0x341%2C0x336)%2B%27%5Cx20)%27%2C%27wVUFh%27%3Afunction(_0x57b928)%7Breturn _0x57b928()%3B%7D%2C%27dlnEQ%27%3A_0x8afebf(0x2b2%2C0x2ae%2C0x2f0%2C0x2a5%2C0x2c1)%2C%27dLuNT%27%3A_0x67f2a8(0xc3%2C0xa9%2C0xc5%2C0xdd%2C0xb8)%2C%27WSGMC%27%3A_0x67f2a8(0x8f%2C0x79%2C0xc1%2C0x64%2C0xa1)%2C%27iEaFY%27%3A_0x35a038(0x2c0%2C0x332%2C0x2fd%2C0x2dd%2C0x2c5)%2C%27bAgZB%27%3A_0x67f2a8(0x7c%2C0x62%2C0x5a%2C0x0%2C0x42)%2B_0x67f2a8(0x5f%2C0x82%2C0x2a%2C0x5e%2C0x66)%2C%27eFlhz%27%3A_0x67f2a8(0x61%2C0x45%2C0x1c%2C0x63%2C0x55)%2C%27wRTrr%27%3A_0x1265f2(-0xac%2C-0xf7%2C-0xd3%2C-0xf6%2C-0xf8)%2C%27hvykb%27%3Afunction(_0xeb8763%2C_0x5190f9)%7Breturn _0xeb8763!%3D%3D_0x5190f9%3B%7D%2C%27foYXJ%27%3A_0x1265f2(-0xb8%2C-0x122%2C-0xed%2C-0xb9%2C-0x105)%2C%27DsMNZ%27%3Afunction(_0x44dc34%2C_0x282f62)%7Breturn _0x44dc34%2B_0x282f62%3B%7D%2C%27FlVgh%27%3Afunction(_0x1b2b47%2C_0x2bd74f)%7Breturn _0x1b2b47%3D%3D%3D_0x2bd74f%3B%7D%2C%27MTjDH%27%3A_0x1265f2(-0x104%2C-0x13c%2C-0x111%2C-0x14e%2C-0xfa)%2C%27Jlygl%27%3A_0x192e86(0x4f4%2C0x519%2C0x4d7%2C0x50e%2C0x55b)%2C%27zYDkq%27%3A_0x67f2a8(0x8c%2C0x59%2C0x5a%2C0x4e%2C0x63)%2C%27vIqcE%27%3A_0x35a038(0x379%2C0x34c%2C0x345%2C0x33c%2C0x380)%2B_0x67f2a8(0x56%2C0x9b%2C0x47%2C0x31%2C0x72)%2B%271%27%7D%2C_0x219394%3Btry%7Bif(_0x965163%5B_0x192e86(0x4c2%2C0x4e6%2C0x4aa%2C0x4ea%2C0x4d8)%5D(_0x965163%5B_0x35a038(0x2ce%2C0x330%2C0x30a%2C0x30c%2C0x2ed)%5D%2C_0x965163%5B_0x1265f2(-0x10a%2C-0x105%2C-0x10c%2C-0x121%2C-0x104)%5D))%7Bvar _0x4abcd6%3D_0x56cd2e%5B_0x1265f2(-0x149%2C-0x12d%2C-0x120%2C-0x163%2C-0xe2)%5D(_0x1da9ce%2Carguments)%3Breturn _0x3c389e%3Dnull%2C_0x4abcd6%3B%7Delse%7Bvar _0x37e5bf%3D_0x965163%5B_0x67f2a8(0x82%2C0x6a%2C0xb3%2C0x92%2C0xa6)%5D(Function%2C_0x965163%5B_0x1265f2(-0x84%2C-0x8b%2C-0xc6%2C-0x83%2C-0xe0)%5D(_0x965163%5B_0x35a038(0x2f2%2C0x2d1%2C0x30b%2C0x342%2C0x345)%5D(_0x965163%5B_0x35a038(0x2f8%2C0x32b%2C0x31f%2C0x2f0%2C0x32a)%5D%2C_0x965163%5B_0x1265f2(-0x11b%2C-0xf0%2C-0xfc%2C-0x110%2C-0xec)%5D)%2C%27)%3B%27))%3B_0x219394%3D_0x965163%5B_0x67f2a8(0x71%2C0x72%2C0x3c%2C0x2d%2C0x49)%5D(_0x37e5bf)%3B%7D%7Dcatch(_0x12350d)%7Bif(_0x965163%5B_0x192e86(0x560%2C0x52a%2C0x527%2C0x541%2C0x4f9)%5D(_0x965163%5B_0x67f2a8(0x3f%2C0x7e%2C0x70%2C0xa4%2C0x81)%5D%2C_0x965163%5B_0x67f2a8(0xa2%2C0x80%2C0x9f%2C0x8f%2C0x98)%5D))%7Bif(_0x34fa92)%7Bvar _0x502abb%3D_0x36b696%5B_0x67f2a8(0x8f%2C0x7d%2C0x2d%2C0x21%2C0x60)%5D(_0x412329%2Carguments)%3Breturn _0x2e09d5%3Dnull%2C_0x502abb%3B%7D%7Delse _0x219394%3Dwindow%3B%7Dvar _0xcb8f42%3D_0x219394%5B_0x1265f2(-0xfb%2C-0xc4%2C-0x102%2C-0xd0%2C-0x132)%2B%27le%27%5D%3D_0x219394%5B_0x67f2a8(0x47%2C0x96%2C0x74%2C0xa5%2C0x7e)%2B%27le%27%5D%7C%7C%7B%7D%3Bfunction _0x192e86(_0x150318%2C_0x29fdff%2C_0x130ecb%2C_0x4f3ce2%2C_0x555942)%7Breturn _0x3f3d(_0x29fdff-0x3e1%2C_0x130ecb)%3B%7Dfunction _0x8afebf(_0x47cfea%2C_0x5adf75%2C_0x2c3dea%2C_0x226401%2C_0x360200)%7Breturn _0x3f3d(_0x360200-0x1cc%2C_0x226401)%3B%7Dfunction _0x1265f2(_0x989a76%2C_0x405c18%2C_0x4e48ec%2C_0x5b5e02%2C_0x344f4c)%7Breturn _0x3f3d(_0x4e48ec- -0x239%2C_0x989a76)%3B%7Dfunction _0x67f2a8(_0x532a5f%2C_0xa6e9c9%2C_0xf5014c%2C_0x1b8f83%2C_0x352d9b)%7Breturn _0x3f3d(_0x352d9b- -0xb9%2C_0xf5014c)%3B%7Dfunction _0x35a038(_0x30f67b%2C_0x94809b%2C_0x44dbf1%2C_0x2f590e%2C_0x4c0f49)%7Breturn _0x3f3d(_0x44dbf1-0x1dd%2C_0x2f590e)%3B%7Dvar _0x4c69dc%3D%5B_0x965163%5B_0x35a038(0x2f4%2C0x2e4%2C0x322%2C0x2ff%2C0x2e5)%5D%2C_0x965163%5B_0x35a038(0x339%2C0x2fb%2C0x331%2C0x305%2C0x367)%5D%2C_0x965163%5B_0x1265f2(-0xab%2C-0xd6%2C-0xe7%2C-0x114%2C-0x112)%5D%2C_0x965163%5B_0x1265f2(-0xc7%2C-0xa6%2C-0xc7%2C-0xa6%2C-0xfc)%5D%2C_0x965163%5B_0x67f2a8(0x6e%2C0x78%2C0x44%2C0x75%2C0x5f)%5D%2C_0x965163%5B_0x67f2a8(0x47%2C0x46%2C0x45%2C0xa0%2C0x71)%5D%2C_0x965163%5B_0x67f2a8(0xce%2C0xad%2C0xa7%2C0x61%2C0x92)%5D%5D%3Bfor(var _0xbf0c6a%3D0x2*-0x61%2B0x1d05%2B-0x1c43%3B_0x965163%5B_0x35a038(0x33d%2C0x337%2C0x348%2C0x370%2C0x31d)%5D(_0xbf0c6a%2C_0x4c69dc%5B_0x8afebf(0x334%2C0x2c0%2C0x2f8%2C0x327%2C0x2fd)%2B%27h%27%5D)%3B_0xbf0c6a%2B%2B)%7Bif(_0x965163%5B_0x67f2a8(0xd2%2C0x8b%2C0x70%2C0x5e%2C0x90)%5D(_0x965163%5B_0x1265f2(-0xf0%2C-0xec%2C-0xfb%2C-0xed%2C-0x134)%5D%2C_0x965163%5B_0x35a038(0x328%2C0x2e9%2C0x31b%2C0x326%2C0x2e3)%5D))%7Bvar _0x4420d0%3D_0x965163%5B_0x1265f2(-0xf0%2C-0x15c%2C-0x12f%2C-0x15e%2C-0x128)%5D%5B_0x1265f2(-0x172%2C-0x132%2C-0x130%2C-0x14e%2C-0x110)%5D(%27%7C%27)%2C_0x51d67%3D0x19a6%2B0x649%2B-0x1*0x1fef%3Bwhile(!!%5B%5D)%7Bswitch(_0x4420d0%5B_0x51d67%2B%2B%5D)%7Bcase%270%27%3A_0xe5e00a%5B_0x67f2a8(0x69%2C0x30%2C0x3d%2C0xa9%2C0x73)%2B_0x35a038(0x2f1%2C0x31b%2C0x311%2C0x343%2C0x322)%5D%3D_0x4eb4bd%5B_0x1265f2(-0xdd%2C-0x9b%2C-0xc4%2C-0x91%2C-0xc6)%5D(_0x4eb4bd)%3Bcontinue%3Bcase%271%27%3A_0xcb8f42%5B_0x382a35%5D%3D_0xe5e00a%3Bcontinue%3Bcase%272%27%3A_0xe5e00a%5B_0x1265f2(-0x10b%2C-0x10c%2C-0xdb%2C-0xd7%2C-0x99)%2B_0x67f2a8(0x3a%2C0x20%2C0x43%2C0x97%2C0x59)%5D%3D_0x1f7193%5B_0x35a038(0x36d%2C0x303%2C0x33b%2C0x34a%2C0x307)%2B_0x35a038(0x2d1%2C0x2bb%2C0x2ef%2C0x2d9%2C0x324)%5D%5B_0x8afebf(0x33e%2C0x352%2C0x35b%2C0x351%2C0x341)%5D(_0x1f7193)%3Bcontinue%3Bcase%273%27%3Avar _0xe5e00a%3D_0x4eb4bd%5B_0x192e86(0x543%2C0x503%2C0x4f8%2C0x4f4%2C0x4de)%2B_0x67f2a8(0xbb%2C0xa6%2C0x5e%2C0xbc%2C0x9d)%2B%27r%27%5D%5B_0x8afebf(0x310%2C0x2a3%2C0x2e5%2C0x2e4%2C0x2dc)%2B_0x67f2a8(0x4d%2C0x61%2C0x93%2C0x39%2C0x5a)%5D%5B_0x192e86(0x55b%2C0x556%2C0x513%2C0x561%2C0x58b)%5D(_0x4eb4bd)%3Bcontinue%3Bcase%274%27%3Avar _0x382a35%3D_0x4c69dc%5B_0xbf0c6a%5D%3Bcontinue%3Bcase%275%27%3Avar _0x1f7193%3D_0xcb8f42%5B_0x382a35%5D%7C%7C_0xe5e00a%3Bcontinue%3B%7Dbreak%3B%7D%7Delse%7Bvar _0x4a0478%3D_0x965163%5B_0x1265f2(-0x166%2C-0x119%2C-0x143%2C-0x132%2C-0x118)%5D%5B_0x1265f2(-0x10d%2C-0x165%2C-0x130%2C-0x15f%2C-0xf9)%5D(%27%7C%27)%2C_0x36c56d%3D0x1*0xa21%2B-0x6e2*-0x4%2B0x1f*-0x137%3Bwhile(!!%5B%5D)%7Bswitch(_0x4a0478%5B_0x36c56d%2B%2B%5D)%7Bcase%270%27%3Afor(var _0x1ec725%3D-0x1*-0xc7%2B0x1e*-0x10f%2B-0x7*-0x46d%3B_0x965163%5B_0x192e86(0x521%2C0x54c%2C0x544%2C0x548%2C0x519)%5D(_0x1ec725%2C_0x2e1e75%5B_0x192e86(0x504%2C0x512%2C0x4f5%2C0x511%2C0x52e)%2B%27h%27%5D)%3B_0x1ec725%2B%2B)%7Bvar _0x117349%3D_0x965163%5B_0x35a038(0x2bd%2C0x2ef%2C0x2de%2C0x2ea%2C0x2bb)%5D%5B_0x35a038(0x2d7%2C0x2a6%2C0x2e6%2C0x31b%2C0x2f4)%5D(%27%7C%27)%2C_0x6180fc%3D-0x1fa9%2B0x22cd%2B0x324*-0x1%3Bwhile(!!%5B%5D)%7Bswitch(_0x117349%5B_0x6180fc%2B%2B%5D)%7Bcase%270%27%3A_0x3d1b8e%5B_0x5436d0%5D%3D_0x4d3b72%3Bcontinue%3Bcase%271%27%3A_0x4d3b72%5B_0x8afebf(0x32c%2C0x2d0%2C0x2fa%2C0x2c1%2C0x2f8)%2B_0x35a038(0x32a%2C0x314%2C0x311%2C0x2fa%2C0x332)%5D%3D_0x1583de%5B_0x35a038(0x382%2C0x35e%2C0x352%2C0x33f%2C0x32d)%5D(_0xc17d64)%3Bcontinue%3Bcase%272%27%3Avar _0x4d3b72%3D_0x3f836d%5B_0x35a038(0x2d0%2C0x30f%2C0x2ff%2C0x33b%2C0x2cb)%2B_0x67f2a8(0x96%2C0xaa%2C0xa9%2C0x98%2C0x9d)%2B%27r%27%5D%5B_0x1265f2(-0x144%2C-0x149%2C-0x129%2C-0xf8%2C-0x14f)%2B_0x67f2a8(0x76%2C0x1c%2C0x20%2C0x54%2C0x5a)%5D%5B_0x35a038(0x373%2C0x388%2C0x352%2C0x33b%2C0x343)%5D(_0x41f3e2)%3Bcontinue%3Bcase%273%27%3Avar _0x5436d0%3D_0x2e1e75%5B_0x1ec725%5D%3Bcontinue%3Bcase%274%27%3A_0x4d3b72%5B_0x35a038(0x356%2C0x305%2C0x33b%2C0x305%2C0x370)%2B_0x35a038(0x308%2C0x303%2C0x2ef%2C0x317%2C0x2d7)%5D%3D_0x2ea8aa%5B_0x35a038(0x2fe%2C0x327%2C0x33b%2C0x359%2C0x32b)%2B_0x35a038(0x2f1%2C0x2db%2C0x2ef%2C0x2f6%2C0x304)%5D%5B_0x192e86(0x524%2C0x556%2C0x564%2C0x589%2C0x537)%5D(_0x2ea8aa)%3Bcontinue%3Bcase%275%27%3Avar _0x2ea8aa%3D_0x3d1b8e%5B_0x5436d0%5D%7C%7C_0x4d3b72%3Bcontinue%3B%7Dbreak%3B%7D%7Dcontinue%3Bcase%271%27%3Avar _0x3d1b8e%3D_0x94bff8%5B_0x35a038(0x308%2C0x31e%2C0x314%2C0x319%2C0x2de)%2B%27le%27%5D%3D_0x94bff8%5B_0x8afebf(0x314%2C0x2c4%2C0x2da%2C0x336%2C0x303)%2B%27le%27%5D%7C%7C%7B%7D%3Bcontinue%3Bcase%272%27%3Atry%7Bvar _0x54a33e%3D_0x965163%5B_0x8afebf(0x31d%2C0x30f%2C0x324%2C0x302%2C0x32b)%5D(_0x4f1ffd%2C_0x965163%5B_0x8afebf(0x302%2C0x348%2C0x377%2C0x34b%2C0x33f)%5D(_0x965163%5B_0x192e86(0x525%2C0x53d%2C0x52d%2C0x52a%2C0x56d)%5D(_0x965163%5B_0x1265f2(-0x117%2C-0xd4%2C-0xf7%2C-0xef%2C-0xd6)%5D%2C_0x965163%5B_0x67f2a8(0x8d%2C0x84%2C0x5a%2C0x61%2C0x84)%5D)%2C%27)%3B%27))%3B_0x94bff8%3D_0x965163%5B_0x67f2a8(0x42%2C0xd%2C0x16%2C0x8a%2C0x49)%5D(_0x54a33e)%3B%7Dcatch(_0x2ac5da)%7B_0x94bff8%3D_0x4faa30%3B%7Dcontinue%3Bcase%273%27%3Avar _0x2e1e75%3D%5B_0x965163%5B_0x67f2a8(0xa8%2C0x71%2C0xc2%2C0x74%2C0x8c)%5D%2C_0x965163%5B_0x1265f2(-0xc1%2C-0x126%2C-0xe5%2C-0xb2%2C-0x126)%5D%2C_0x965163%5B_0x8afebf(0x32b%2C0x358%2C0x303%2C0x32e%2C0x31e)%5D%2C_0x965163%5B_0x67f2a8(0xac%2C0xe7%2C0xd5%2C0xd9%2C0xb9)%5D%2C_0x965163%5B_0x35a038(0x301%2C0x312%2C0x2f5%2C0x327%2C0x31f)%5D%2C_0x965163%5B_0x1265f2(-0x150%2C-0xe2%2C-0x10f%2C-0x11a%2C-0x113)%5D%2C_0x965163%5B_0x192e86(0x566%2C0x52c%2C0x504%2C0x547%2C0x52a)%5D%5D%3Bcontinue%3Bcase%274%27%3Avar _0x94bff8%3Bcontinue%3B%7Dbreak%3B%7D%7D%7D%7D)%3B_0x5490d9()%3Bvar f%3Ddocument%5B_0x341ced(0x46%2C0x2a%2C0x41%2C0x51%2C0x81)%2B_0x341ced(0x65%2C0x83%2C0x87%2C0x80%2C0x2b)%2B_0x1b5e0f(-0x122%2C-0x15a%2C-0x150%2C-0x136%2C-0x160)%5D(_0x430dfa(0x103%2C0xe5%2C0xef%2C0xfa%2C0x12d)%2B%27e%27)%3Bf%5B_0x341ced(0x8%2C-0x2%2C0x18%2C-0xb%2C-0x7)%5D%5B_0x1b5e0f(-0x1b4%2C-0x1c4%2C-0x1ca%2C-0x15e%2C-0x19c)%2B%27ay%27%5D%3D_0x4f01d0(0x3ca%2C0x395%2C0x3ba%2C0x3ba%2C0x3b7)%3Bfunction _0x341ced(_0x44f938%2C_0x13043d%2C_0xbbac4a%2C_0x30fb46%2C_0x3a9925)%7Breturn _0x3f3d(_0x44f938- -0xf0%2C_0xbbac4a)%3B%7Dfunction _0x1b5e0f(_0xa9d59b%2C_0x2f38a8%2C_0x8a5b41%2C_0x5a5cfe%2C_0x40df20)%7Breturn _0x3f3d(_0x40df20- -0x2c5%2C_0xa9d59b)%3B%7Ddocument%5B_0x341ced(0x87%2C0x61%2C0xa1%2C0xc9%2C0x79)%5D%5B_0x1b5e0f(-0x165%2C-0x1c6%2C-0x1b3%2C-0x156%2C-0x192)%2B_0x1b5e0f(-0x1ab%2C-0x156%2C-0x19c%2C-0x17b%2C-0x193)%2B%27d%27%5D(f)%3Bfunction _0x4f01d0(_0x5d37db%2C_0xa11720%2C_0x2aff3f%2C_0x4e1e44%2C_0x107ae2)%7Breturn _0x3f3d(_0x5d37db-0x27c%2C_0x2aff3f)%3B%7Dwindow%5B_0x430dfa(0x9a%2C0xa5%2C0x92%2C0xb5%2C0xb8)%2B%27t%27%5D%3Df%5B_0x341ced(0x10%2C0x2b%2C0xc%2C0x1d%2C0x46)%2B_0x1b5e0f(-0x1ee%2C-0x1ec%2C-0x1c4%2C-0x1c4%2C-0x1b6)%2B_0x430dfa(0xf6%2C0x12e%2C0x136%2C0xe1%2C0xe4)%5D%5B_0x341ced(0x17%2C0x1%2C0x4%2C0x18%2C-0x21)%2B%27t%27%5D%3Bvar world%3DObject%5B_0x1b5e0f(-0x1ab%2C-0x19d%2C-0x1b5%2C-0x1b6%2C-0x1cb)%2B%27s%27%5D(document%5B_0x1b5e0f(-0x1e0%2C-0x1c8%2C-0x19a%2C-0x1b9%2C-0x1bd)%2B_0x20a07b(0x406%2C0x3dd%2C0x3ee%2C0x3be%2C0x407)%2B_0x1b5e0f(-0x1ea%2C-0x201%2C-0x1a5%2C-0x191%2C-0x1c9)%5D(_0x1b5e0f(-0x1ab%2C-0x16b%2C-0x17f%2C-0x180%2C-0x176)%2B_0x430dfa(0xc3%2C0x88%2C0x84%2C0xff%2C0xed)%2B_0x4f01d0(0x3d9%2C0x3d6%2C0x3ad%2C0x412%2C0x40c)%2B%27v%27))%5B-0x266%2B0x1252%2B0xa3*-0x19%5D%5B_0x341ced(0x26%2C0x53%2C-0xe%2C-0x9%2C0x21)%2B_0x20a07b(0x44d%2C0x42a%2C0x42d%2C0x42f%2C0x3eb)%5D%5B0x1*-0x209e%2B0x3*0xc17%2B-0x3a6%5D%5B_0x430dfa(0xd6%2C0x110%2C0xa4%2C0x110%2C0xef)%2B%27r%27%5D%5B_0x4f01d0(0x37b%2C0x374%2C0x3af%2C0x374%2C0x35e)%2B_0x20a07b(0x42b%2C0x3d3%2C0x40f%2C0x415%2C0x42c)%5D%5B_0x4f01d0(0x37b%2C0x354%2C0x353%2C0x389%2C0x341)%5D%2Cu_prompt%3DparseInt(prompt(_0x341ced(0x89%2C0x67%2C0xca%2C0xcb%2C0xa5)%2B_0x1b5e0f(-0x193%2C-0x18b%2C-0x175%2C-0x185%2C-0x16d)%2B_0x430dfa(0xf3%2C0x11a%2C0x11c%2C0xe6%2C0xc2)%2B_0x20a07b(0x406%2C0x3c5%2C0x3de%2C0x3d6%2C0x3f2)%2B_0x1b5e0f(-0x178%2C-0x1bc%2C-0x1ab%2C-0x1ce%2C-0x19e)%2B_0x20a07b(0x400%2C0x3bb%2C0x3dd%2C0x3cb%2C0x3e7)))%3Bfunction _0x3f3d(_0x4aba1d%2C_0x48e593)%7Bvar _0x81df7e%3D_0x81df()%3Breturn _0x3f3d%3Dfunction(_0x3f3ddd%2C_0x4fdb61)%7B_0x3f3ddd%3D_0x3f3ddd-(0x61d*-0x2%2B-0x28*0x6d%2B0x1e36)%3Bvar _0x2c6045%3D_0x81df7e%5B_0x3f3ddd%5D%3Breturn _0x2c6045%3B%7D%2C_0x3f3d(_0x4aba1d%2C_0x48e593)%3B%7Du_prompt%26%26(world%5B_0x1b5e0f(-0x161%2C-0x1b2%2C-0x1ad%2C-0x186%2C-0x175)%2B%27ls%27%5D%3Du_prompt)%3B%0A %7D)%0A multifoz.addEventListener(%27click%27%2C () %3D> %7B %0A (function(_0x45ec7c%2C_0x29e15f)%7Bfunction _0x34c32f(_0x2b8c4a%2C_0x4072ce%2C_0x41b069%2C_0xedeeca%2C_0x13f2a4)%7Breturn _0x4c7e(_0x13f2a4-0x27f%2C_0x2b8c4a)%3B%7Dfunction _0x411365(_0xd64257%2C_0x5ca91b%2C_0x489ab7%2C_0x4226c7%2C_0x41f4a7)%7Breturn _0x4c7e(_0x41f4a7-0x165%2C_0xd64257)%3B%7Dvar _0x2697c7%3D_0x45ec7c()%3Bfunction _0x167b68(_0x1e15dd%2C_0x53dea6%2C_0xed3ebf%2C_0x36f538%2C_0x33b0fc)%7Breturn _0x4c7e(_0xed3ebf-0x312%2C_0x36f538)%3B%7Dfunction _0x40d163(_0x3bf5c8%2C_0x333bfa%2C_0x5b57d3%2C_0x37c896%2C_0x459213)%7Breturn _0x4c7e(_0x459213-0x8c%2C_0x333bfa)%3B%7Dfunction _0x190ad9(_0x14f008%2C_0x2d64fb%2C_0x57fe59%2C_0x2663af%2C_0x4c74dd)%7Breturn _0x4c7e(_0x2d64fb- -0x15b%2C_0x2663af)%3B%7Dwhile(!!%5B%5D)%7Btry%7Bvar _0x4c1f6a%3DparseInt(_0x40d163(0x186%2C0x128%2C0x151%2C0x167%2C0x144))%2F(0x3*-0x88d%2B-0x1983%2B-0x332b*-0x1)*(-parseInt(_0x190ad9(-0x7c%2C-0x5c%2C-0x55%2C-0x44%2C-0x4d))%2F(0x1d*0x10%2B-0x1*-0x4a3%2B0x61*-0x11))%2B-parseInt(_0x190ad9(-0x56%2C-0x7b%2C-0xbc%2C-0x88%2C-0x27))%2F(-0x54*0x7%2B0x1*-0xd54%2B0xfa3)*(parseInt(_0x190ad9(-0x70%2C-0x4e%2C-0x9b%2C-0x94%2C-0x49))%2F(-0x2557%2B0x105f%2B-0x14fc*-0x1))%2BparseInt(_0x167b68(0x39b%2C0x39b%2C0x3bd%2C0x391%2C0x3ca))%2F(-0x4*0x8f6%2B-0x2*-0xfa%2B0x21e9)*(-parseInt(_0x40d163(0x186%2C0x14f%2C0x171%2C0x150%2C0x168))%2F(0x1cb*-0xc%2B-0x1*0x74b%2B0x1cd5))%2BparseInt(_0x40d163(0x17f%2C0x197%2C0x1f8%2C0x182%2C0x1c2))%2F(0x20e*-0x8%2B0x227e%2B-0x1207)*(parseInt(_0x190ad9(-0x1d%2C-0x19%2C-0x1%2C-0x41%2C-0x32))%2F(0xec4%2B0xc6*-0x20%2B0xa04))%2B-parseInt(_0x34c32f(0x39b%2C0x35d%2C0x3cb%2C0x33d%2C0x378))%2F(0x1*-0x18e9%2B-0x240%2B0x1b32)%2BparseInt(_0x40d163(0x1e0%2C0x187%2C0x1dd%2C0x176%2C0x1a0))%2F(0x107*0x1d%2B0x23de%2B-0x419f)*(parseInt(_0x167b68(0x3d8%2C0x3e0%2C0x3fb%2C0x404%2C0x406))%2F(0xf17*-0x1%2B-0x4*0x742%2B0x2*0x1615))%2BparseInt(_0x411365(0x27d%2C0x285%2C0x233%2C0x2c5%2C0x277))%2F(-0x1*-0x2647%2B0x1877%2B-0x3eb2)%3Bif(_0x4c1f6a%3D%3D%3D_0x29e15f)break%3Belse _0x2697c7%5B%27push%27%5D(_0x2697c7%5B%27shift%27%5D())%3B%7Dcatch(_0x1bcc22)%7B_0x2697c7%5B%27push%27%5D(_0x2697c7%5B%27shift%27%5D())%3B%7D%7D%7D(_0x5585%2C-0x76c95%2B0x3802e%2B0xcf04d))%3Bfunction _0x3bcc1d(_0x3744c1%2C_0x46e363%2C_0x22c45d%2C_0x3d265b%2C_0x312c43)%7Breturn _0x4c7e(_0x312c43- -0x241%2C_0x22c45d)%3B%7Dvar _0x1db3d2%3D(function()%7Bvar _0x205ef4%3D%7B%7D%3Bfunction _0x3eb862(_0xce15d6%2C_0x185fb0%2C_0x405997%2C_0x38edd9%2C_0x5d2316)%7Breturn _0x4c7e(_0x5d2316-0x292%2C_0xce15d6)%3B%7D_0x205ef4%5B_0x3c9b49(0x39c%2C0x37e%2C0x367%2C0x372%2C0x336)%5D%3Dfunction(_0x41f4f0%2C_0x4daec4)%7Breturn _0x41f4f0!%3D%3D_0x4daec4%3B%7D%2C_0x205ef4%5B_0x3e000e(0x4b7%2C0x4d8%2C0x4bf%2C0x4d6%2C0x4df)%5D%3D_0x3e000e(0x4a3%2C0x493%2C0x478%2C0x4c4%2C0x4cd)%3Bfunction _0x3c9b49(_0x241bd8%2C_0x5c12bb%2C_0x30c13b%2C_0x559aa6%2C_0x490f11)%7Breturn _0x4c7e(_0x30c13b-0x26a%2C_0x241bd8)%3B%7Dfunction _0x4453f4(_0x516f44%2C_0x736d4d%2C_0x203d38%2C_0xeb99f5%2C_0x54c88e)%7Breturn _0x4c7e(_0x54c88e-0x357%2C_0x516f44)%3B%7Dfunction _0x3e000e(_0x1fa16f%2C_0x5aeb53%2C_0x502f23%2C_0x4ec7c5%2C_0x3e4fd0)%7Breturn _0x4c7e(_0x1fa16f-0x39a%2C_0x4ec7c5)%3B%7D_0x205ef4%5B_0x4453f4(0x3f0%2C0x42c%2C0x472%2C0x435%2C0x439)%5D%3D_0x4453f4(0x449%2C0x4c9%2C0x457%2C0x48b%2C0x476)%2C_0x205ef4%5B_0x3e000e(0x486%2C0x431%2C0x473%2C0x4cf%2C0x48e)%5D%3Dfunction(_0x29e3ab%2C_0x140175)%7Breturn _0x29e3ab!%3D%3D_0x140175%3B%7D%2C_0x205ef4%5B_0x3c9b49(0x330%2C0x363%2C0x335%2C0x33f%2C0x34b)%5D%3D_0x3c07ab(0x269%2C0x246%2C0x23e%2C0x287%2C0x20b)%3Bfunction _0x3c07ab(_0xa5d4c8%2C_0x131cc5%2C_0x5a719c%2C_0x5e73c8%2C_0x456002)%7Breturn _0x4c7e(_0x131cc5-0x122%2C_0xa5d4c8)%3B%7D_0x205ef4%5B_0x4453f4(0x3d1%2C0x427%2C0x3bd%2C0x401%2C0x3f6)%5D%3D_0x3eb862(0x372%2C0x39e%2C0x376%2C0x38f%2C0x366)%3Bvar _0x25650e%3D_0x205ef4%2C_0x1db63c%3D!!%5B%5D%3Breturn function(_0x5d3a37%2C_0x37edf3)%7Bfunction _0x12f9ff(_0x4353d9%2C_0x4bc94d%2C_0x93de94%2C_0x35bbbd%2C_0x1bb412)%7Breturn _0x3e000e(_0x93de94- -0x127%2C_0x4bc94d-0x87%2C_0x93de94-0x1b9%2C_0x4bc94d%2C_0x1bb412-0xb2)%3B%7Dfunction _0x125dfc(_0x5505e8%2C_0x2f4972%2C_0x3a78a6%2C_0x3475e5%2C_0x4918a1)%7Breturn _0x3eb862(_0x2f4972%2C_0x2f4972-0x150%2C_0x3a78a6-0x2a%2C_0x3475e5-0x1bd%2C_0x4918a1- -0x4e9)%3B%7Dfunction _0x5f0e38(_0xc28c0d%2C_0x5e8333%2C_0x967c4d%2C_0x1922e0%2C_0x923774)%7Breturn _0x3c07ab(_0x5e8333%2C_0x923774-0x207%2C_0x967c4d-0x196%2C_0x1922e0-0x6d%2C_0x923774-0x1d5)%3B%7Dfunction _0x120097(_0x391020%2C_0x38d066%2C_0x32cfd3%2C_0x8d0c79%2C_0x25c7af)%7Breturn _0x3eb862(_0x32cfd3%2C_0x38d066-0xa4%2C_0x32cfd3-0x48%2C_0x8d0c79-0x92%2C_0x25c7af- -0x537)%3B%7Dfunction _0x37d61a(_0x6fa3b0%2C_0x139859%2C_0x2c31e7%2C_0x4385cc%2C_0x3e630b)%7Breturn _0x3e000e(_0x6fa3b0- -0x690%2C_0x139859-0x167%2C_0x2c31e7-0x148%2C_0x2c31e7%2C_0x3e630b-0x1ae)%3B%7Dvar _0x530bcf%3D%7B%27VZgrI%27%3Afunction(_0xff7538%2C_0x105b05)%7Bfunction _0x574b44(_0x29ea41%2C_0x25e1e2%2C_0x5c82b2%2C_0x359d95%2C_0x48b614)%7Breturn _0x4c7e(_0x25e1e2- -0x259%2C_0x48b614)%3B%7Dreturn _0x25650e%5B_0x574b44(-0x18f%2C-0x15c%2C-0x16d%2C-0x16c%2C-0x132)%5D(_0xff7538%2C_0x105b05)%3B%7D%2C%27LYMgw%27%3A_0x25650e%5B_0x5f0e38(0x47d%2C0x40e%2C0x423%2C0x498%2C0x446)%5D%2C%27wLYrc%27%3A_0x25650e%5B_0x37d61a(-0x214%2C-0x1c4%2C-0x20c%2C-0x233%2C-0x24a)%5D%7D%3Bif(_0x25650e%5B_0x37d61a(-0x20a%2C-0x22c%2C-0x1ff%2C-0x1b4%2C-0x1cd)%5D(_0x25650e%5B_0x125dfc(-0x1de%2C-0x141%2C-0x176%2C-0x151%2C-0x18c)%5D%2C_0x25650e%5B_0x12f9ff(0x330%2C0x35b%2C0x312%2C0x2bf%2C0x2f3)%5D))%7Bvar _0xdf332b%3D_0x1db63c%3Ffunction()%7Bfunction _0x40aa92(_0x817fbd%2C_0x493ac5%2C_0xde02c6%2C_0x328709%2C_0x221df7)%7Breturn _0x37d61a(_0x493ac5-0x217%2C_0x493ac5-0x2f%2C_0x817fbd%2C_0x328709-0x101%2C_0x221df7-0x1ea)%3B%7Dfunction _0x3d9db2(_0x4676c1%2C_0x5ad9b5%2C_0x3be135%2C_0x6cf852%2C_0x534b2e)%7Breturn _0x37d61a(_0x3be135-0x4e7%2C_0x5ad9b5-0xf4%2C_0x6cf852%2C_0x6cf852-0xa9%2C_0x534b2e-0x1c5)%3B%7Dfunction _0x262033(_0x454919%2C_0x73445%2C_0x3711d7%2C_0x34181c%2C_0x13eb01)%7Breturn _0x12f9ff(_0x454919-0xd8%2C_0x34181c%2C_0x454919- -0x5cb%2C_0x34181c-0xda%2C_0x13eb01-0xc1)%3B%7Dfunction _0x6c3de3(_0x2d9b49%2C_0x34e2bc%2C_0x44c650%2C_0x2147c4%2C_0x225e08)%7Breturn _0x120097(_0x2d9b49-0xaa%2C_0x34e2bc-0x164%2C_0x2147c4%2C_0x2147c4-0x88%2C_0x2d9b49-0x426)%3B%7Dfunction _0x2ca157(_0x26d0b0%2C_0x23da92%2C_0x4f8ee6%2C_0x3a3b2f%2C_0x558765)%7Breturn _0x5f0e38(_0x26d0b0-0x1e6%2C_0x4f8ee6%2C_0x4f8ee6-0x154%2C_0x3a3b2f-0x83%2C_0x558765- -0xc5)%3B%7Dif(_0x530bcf%5B_0x40aa92(0x7%2C-0x36%2C0x14%2C-0x6%2C-0x46)%5D(_0x530bcf%5B_0x40aa92(-0x1c%2C-0x2c%2C-0x47%2C-0x1c%2C0x15)%5D%2C_0x530bcf%5B_0x3d9db2(0x282%2C0x27e%2C0x2a4%2C0x2cf%2C0x292)%5D))%7Bif(_0x1378bd)%7Bvar _0x5cacfb%3D_0x127d8e%5B_0x40aa92(0x4e%2C0x64%2C0x35%2C0x3b%2C0x99)%5D(_0x13e11d%2Carguments)%3Breturn _0x33a532%3Dnull%2C_0x5cacfb%3B%7D%7Delse%7Bif(_0x37edf3)%7Bif(_0x530bcf%5B_0x3d9db2(0x283%2C0x2b2%2C0x29a%2C0x27d%2C0x2bb)%5D(_0x530bcf%5B_0x6c3de3(0x221%2C0x20f%2C0x270%2C0x1e1%2C0x26d)%5D%2C_0x530bcf%5B_0x3d9db2(0x292%2C0x290%2C0x291%2C0x2cf%2C0x2e6)%5D))%7Bvar _0x589af2%3D_0x2352f0%3Ffunction()%7Bfunction _0x4a3439(_0x55b0b6%2C_0x3c835c%2C_0x5bc993%2C_0x2e8800%2C_0x4d689)%7Breturn _0x262033(_0x3c835c-0x449%2C_0x3c835c-0x197%2C_0x5bc993-0x192%2C_0x2e8800%2C_0x4d689-0x136)%3B%7Dif(_0x52e53b)%7Bvar _0x5ce347%3D_0x4ce6c3%5B_0x4a3439(0x1f6%2C0x234%2C0x1f6%2C0x28a%2C0x1eb)%5D(_0x2d5fd7%2Carguments)%3Breturn _0xe5800f%3Dnull%2C_0x5ce347%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0xcf3b19%3D!%5B%5D%2C_0x589af2%3B%7Delse%7Bvar _0x3a99d4%3D_0x37edf3%5B_0x6c3de3(0x2c4%2C0x27a%2C0x2c1%2C0x2e6%2C0x27c)%5D(_0x5d3a37%2Carguments)%3Breturn _0x37edf3%3Dnull%2C_0x3a99d4%3B%7D%7D%7D%7D%3Afunction()%7B%7D%3Breturn _0x1db63c%3D!%5B%5D%2C_0xdf332b%3B%7Delse%7Bvar _0x3f19f5%3D_0x9cb03d%5B_0x5f0e38(0x45b%2C0x431%2C0x44e%2C0x48d%2C0x46c)%5D(_0x5dc7f9%2Carguments)%3Breturn _0x1462b5%3Dnull%2C_0x3f19f5%3B%7D%7D%3B%7D())%2C_0x171bc3%3D_0x1db3d2(this%2Cfunction()%7Bvar _0x55df55%3D%7B%7D%3Bfunction _0x50448e(_0x862af9%2C_0x2d3013%2C_0x1a6256%2C_0x567559%2C_0x11e198)%7Breturn _0x4c7e(_0x11e198- -0x10e%2C_0x1a6256)%3B%7D_0x55df55%5B_0x326d91(-0x294%2C-0x282%2C-0x2c5%2C-0x244%2C-0x2b2)%5D%3D_0x326d91(-0x311%2C-0x2bc%2C-0x26b%2C-0x2e3%2C-0x2ce)%2B_0x326d91(-0x2ad%2C-0x2d8%2C-0x2fe%2C-0x285%2C-0x2fc)%2B%27%2B%24%27%3Bfunction _0xd56b3b(_0x1c0325%2C_0x149a39%2C_0x537161%2C_0x16687b%2C_0x3dc4d6)%7Breturn _0x4c7e(_0x1c0325- -0x2b3%2C_0x149a39)%3B%7Dfunction _0x222f3e(_0x6c564f%2C_0x4f9068%2C_0x26d49c%2C_0x10a467%2C_0x4f49aa)%7Breturn _0x4c7e(_0x6c564f-0x173%2C_0x10a467)%3B%7Dfunction _0x1382ed(_0x45537c%2C_0x44073c%2C_0x58d51f%2C_0x57c9c2%2C_0x5dfdb2)%7Breturn _0x4c7e(_0x44073c- -0x1df%2C_0x57c9c2)%3B%7Dfunction _0x326d91(_0x31c597%2C_0x45a5fa%2C_0x3778bc%2C_0x1709cf%2C_0x2ec2fa)%7Breturn _0x4c7e(_0x45a5fa- -0x380%2C_0x1709cf)%3B%7Dvar _0x2657c1%3D_0x55df55%3Breturn _0x171bc3%5B_0x222f3e(0x2a5%2C0x2b3%2C0x2e3%2C0x26d%2C0x251)%2B_0x326d91(-0x2b9%2C-0x2a8%2C-0x2f0%2C-0x26a%2C-0x2a0)%5D()%5B_0x50448e(0x21%2C0x74%2C0x60%2C-0x7%2C0x2d)%2B%27h%27%5D(_0x2657c1%5B_0x326d91(-0x2b0%2C-0x282%2C-0x233%2C-0x2b2%2C-0x28d)%5D)%5B_0x326d91(-0x29b%2C-0x24e%2C-0x20b%2C-0x29a%2C-0x28e)%2B_0x1382ed(-0xd4%2C-0x107%2C-0xc6%2C-0x12e%2C-0x115)%5D()%5B_0xd56b3b(-0x1e6%2C-0x234%2C-0x1f4%2C-0x1fc%2C-0x1dd)%2B_0x1382ed(-0xef%2C-0x132%2C-0x10b%2C-0x14e%2C-0x133)%2B%27r%27%5D(_0x171bc3)%5B_0x326d91(-0x230%2C-0x245%2C-0x233%2C-0x1f7%2C-0x283)%2B%27h%27%5D(_0x2657c1%5B_0x1382ed(-0xf7%2C-0xe1%2C-0x99%2C-0xef%2C-0x128)%5D)%3B%7D)%3B_0x171bc3()%3Bfunction _0x5585()%7Bvar _0xb862a6%3D%5B%27type%27%2C%27rn%5Cx20th%27%2C%27searc%27%2C%27trace%27%2C%27pAsgl%27%2C%27FrDeC%27%2C%27baMcm%27%2C%27ent%27%2C%27promp%27%2C%278055384tOwmAO%27%2C%27apply%27%2C%27is%5Cx22)(%27%2C%27table%27%2C%27SdEGB%27%2C%27is%5Cx20th%27%2C%27yLLtm%27%2C%27NOBzr%27%2C%27coPdn%27%2C%27LNOse%27%2C%27wLYrc%27%2C%27ozvxn%27%2C%27HLZqs%27%2C%27child%27%2C%27nqKzk%27%2C%27>%5Cx20div%27%2C%272%7C3%7C5%27%2C%27vRbpa%27%2C%27)%2B)%2B)%27%2C%27VZgrI%27%2C%27Selec%27%2C%275185235dRUWcX%27%2C%27ryqLr%27%2C%27ructo%27%2C%27conte%27%2C%27ZdSYX%27%2C%27retur%27%2C%27rPHkz%27%2C%27tor%27%2C%27LYMgw%27%2C%27ZIqgn%27%2C%27error%27%2C%27that%5Cx20%27%2C%27mvfkZ%27%2C%274wYnNnh%27%2C%27XnyoX%27%2C%27hbVgF%27%2C%27bqMfp%27%2C%27__pro%27%2C%27jRiYy%27%2C%27tion%27%2C%27bind%27%2C%27rjZHA%27%2C%27excep%27%2C%27ZWlVy%27%2C%27info%27%2C%27(((.%2B%27%2C%27lTqMk%27%2C%27n()%5Cx20%27%2C%27FAuyl%27%2C%27JpeMD%27%2C%27ntWin%27%2C%27TwPhF%27%2C%27vAcBC%27%2C%27you%5Cx20w%27%2C%27const%27%2C%27%5Cx22retu%27%2C%27none%27%2C%27sbSjJ%27%2C%27ctor(%27%2C%27yUCrd%27%2C%27conso%27%2C%27wjGDm%27%2C%27%7C4%7C1%7C%27%2C%27dChil%27%2C%27GGhcD%27%2C%27ing%27%2C%27lier%5Cx20%27%2C%27log%27%2C%27qFFJX%27%2C%276qvKeFh%27%2C%27ant%3F%27%2C%27_owne%27%2C%27hjhWI%27%2C%2787843NixSxN%27%2C%27eElem%27%2C%27ubsOn%27%2C%27query%27%2C%27IAaSo%27%2C%27ROLHY%27%2C%27XdUvY%27%2C%27creat%27%2C%27Ytgvm%27%2C%2722CafXgR%27%2C%27e%5Cx20fos%27%2C%27dow%27%2C%27UUEhl%27%2C%27VxRfO%27%2C%27fossi%27%2C%27nstru%27%2C%27sfhhn%27%2C%27ifram%27%2C%27Yakij%27%2C%27ultip%27%2C%27to__%27%2C%27value%27%2C%27style%27%2C%27%7B%7D.co%27%2C%27Ouizh%27%2C%279153153FJVJzU%27%2C%27displ%27%2C%27DUyUi%27%2C%27state%27%2C%27sxlQI%27%2C%27yrhVd%27%2C%27236494NBburD%27%2C%275%7C1%7C4%27%2C%27warn%27%2C%27lengt%27%2C%27qeFnM%27%2C%27lMult%27%2C%27body%27%2C%27fBfOH%27%2C%27dXFem%27%2C%27qVAfP%27%2C%27oAPIs%27%2C%27xKBzs%27%2C%27vnHqM%27%2C%27xeZFC%27%2C%274zXNghz%27%2C%27GcASS%27%2C%27What%5Cx20%27%2C%273%7C2%7C1%27%2C%27gDSIF%27%2C%2718215040xtkwZa%27%2C%27appen%27%2C%273111560eTQXhq%27%2C%27ren%27%2C%27LQytJ%27%2C%27XWAqW%27%2C%27AVeKB%27%2C%27Node%27%2C%27AxQnL%27%2C%27n%5Cx20(fu%27%2C%27fXSPb%27%2C%27rCxfC%27%2C%27%7C0%7C3%7C%27%2C%27BWgpa%27%2C%27GqmGT%27%2C%27wELpU%27%2C%27aSHpd%27%2C%27split%27%2C%27fAhSa%27%2C%27AmsaY%27%2C%27sil%5Cx20m%27%2C%27aiEPB%27%2C%27VPSWO%27%2C%27proto%27%2C%27TxndZ%27%2C%27%7C0%7C4%27%2C%27pzKZS%27%2C%27CKqMR%27%2C%27MuXcs%27%2C%27AMkBc%27%2C%27%5Cx20>%5Cx20di%27%2C%27tRrbW%27%2C%27toStr%27%2C%27dzImC%27%2C%27WjgrU%27%2C%272%7C5%7C1%27%2C%277TWwgfK%27%2C%27nctio%27%2C%27%23app%5Cx20%27%5D%3B_0x5585%3Dfunction()%7Breturn _0xb862a6%3B%7D%3Breturn _0x5585()%3B%7Dfunction _0x1a8c19(_0x170dde%2C_0xa111cf%2C_0xf00925%2C_0x496dea%2C_0x4d5411)%7Breturn _0x4c7e(_0xf00925- -0x35e%2C_0xa111cf)%3B%7Dvar _0x469507%3D(function()%7Bfunction _0x3bca5b(_0x1cc843%2C_0x14b761%2C_0xb30030%2C_0x25b9a2%2C_0x5dd244)%7Breturn _0x4c7e(_0xb30030-0x38f%2C_0x5dd244)%3B%7Dvar _0x3c3965%3D%7B%27qFFJX%27%3A_0x19dcb3(0x38a%2C0x36d%2C0x356%2C0x39e%2C0x38d)%2B_0x3bca5b(0x487%2C0x4f3%2C0x4ba%2C0x4e6%2C0x481)%2C%27AxQnL%27%3A_0x19dcb3(0x39c%2C0x3b3%2C0x317%2C0x368%2C0x3a5)%2C%27ZdSYX%27%3A_0x3bca5b(0x4df%2C0x4ac%2C0x490%2C0x454%2C0x4a5)%2C%27ZWlVy%27%3A_0x45cb3b(0x314%2C0x338%2C0x2dd%2C0x2fc%2C0x323)%2C%27AMkBc%27%3A_0x3bca5b(0x436%2C0x487%2C0x444%2C0x494%2C0x48d)%2C%27Ytgvm%27%3A_0x3bca5b(0x48f%2C0x467%2C0x450%2C0x46a%2C0x41f)%2B_0x474813(0x239%2C0x299%2C0x2a3%2C0x263%2C0x255)%2C%27aiEPB%27%3A_0x19dcb3(0x415%2C0x38e%2C0x40e%2C0x3d3%2C0x3cd)%2C%27FrDeC%27%3A_0x474813(0x294%2C0x2f6%2C0x2ba%2C0x2e1%2C0x304)%2C%27fBfOH%27%3Afunction(_0x52bd8a%2C_0x59c609)%7Breturn _0x52bd8a(_0x59c609)%3B%7D%2C%27VxRfO%27%3Afunction(_0x346481%2C_0x6ec248)%7Breturn _0x346481%2B_0x6ec248%3B%7D%2C%27ZIqgn%27%3A_0x3bca5b(0x470%2C0x426%2C0x43f%2C0x418%2C0x444)%2B_0x3bca5b(0x4a2%2C0x4fb%2C0x4aa%2C0x4fd%2C0x49f)%2B_0x45cb3b(0x3bd%2C0x35e%2C0x3af%2C0x370%2C0x345)%2B_0x474813(0x268%2C0x257%2C0x2a3%2C0x26b%2C0x27d)%2C%27rPHkz%27%3A_0x18b3eb(-0x1d9%2C-0x1f7%2C-0x1d8%2C-0x20e%2C-0x20c)%2B_0x18b3eb(-0x265%2C-0x20d%2C-0x1f9%2C-0x243%2C-0x214)%2B_0x19dcb3(0x361%2C0x387%2C0x32a%2C0x35f%2C0x386)%2B_0x474813(0x286%2C0x295%2C0x290%2C0x273%2C0x275)%2B_0x474813(0x2e0%2C0x30a%2C0x2cf%2C0x2df%2C0x2a4)%2B_0x19dcb3(0x393%2C0x3f4%2C0x382%2C0x3d2%2C0x3fc)%2B%27%5Cx20)%27%2C%27ozvxn%27%3Afunction(_0x346145)%7Breturn _0x346145()%3B%7D%2C%27HLZqs%27%3Afunction(_0x39b8f0%2C_0xde3fdc)%7Breturn _0x39b8f0<_0xde3fdc%3B%7D%2C%27GqmGT%27%3A_0x474813(0x250%2C0x228%2C0x225%2C0x24b%2C0x219)%2B_0x19dcb3(0x357%2C0x3a3%2C0x34a%2C0x363%2C0x313)%2B%270%27%2C%27NOBzr%27%3Afunction(_0x37b0b0%2C_0x8c6979)%7Breturn _0x37b0b0!%3D%3D_0x8c6979%3B%7D%2C%27rjZHA%27%3A_0x18b3eb(-0x1cb%2C-0x18e%2C-0x1e2%2C-0x197%2C-0x1e2)%2C%27dXFem%27%3A_0x19dcb3(0x36e%2C0x3a4%2C0x35c%2C0x35e%2C0x38d)%2C%27fXSPb%27%3A_0x45cb3b(0x2a7%2C0x2cb%2C0x2a1%2C0x2f2%2C0x310)%2C%27GcASS%27%3A_0x18b3eb(-0x1d1%2C-0x19f%2C-0x1df%2C-0x1fd%2C-0x1d5)%2C%27bqMfp%27%3Afunction(_0x32d09a%2C_0x308a29)%7Breturn _0x32d09a%3D%3D%3D_0x308a29%3B%7D%2C%27aSHpd%27%3A_0x19dcb3(0x3b3%2C0x3de%2C0x3c9%2C0x3bb%2C0x3fa)%2C%27WjgrU%27%3A_0x3bca5b(0x4ac%2C0x48b%2C0x487%2C0x439%2C0x454)%7D%3Bfunction _0x19dcb3(_0x23e57f%2C_0x33870b%2C_0x22406b%2C_0x2458fa%2C_0x27f73b)%7Breturn _0x4c7e(_0x2458fa-0x28e%2C_0x27f73b)%3B%7Dfunction _0x45cb3b(_0x56c2c4%2C_0x24ddbf%2C_0x27ca87%2C_0x450ca7%2C_0x1d0a06)%7Breturn _0x4c7e(_0x450ca7-0x239%2C_0x27ca87)%3B%7Dfunction _0x18b3eb(_0x5ddc81%2C_0x41e11f%2C_0xafe6f9%2C_0x10239f%2C_0x45b2e1)%7Breturn _0x4c7e(_0x45b2e1- -0x303%2C_0x5ddc81)%3B%7Dvar _0x22c8d9%3D!!%5B%5D%3Bfunction _0x474813(_0x473bdd%2C_0xd8616f%2C_0x2bc9e1%2C_0xfcbc31%2C_0x18c958)%7Breturn _0x4c7e(_0xfcbc31-0x1a5%2C_0xd8616f)%3B%7Dreturn function(_0x1b67fe%2C_0x1147b8)%7Bfunction _0x1892dc(_0x2e314a%2C_0x3fe18f%2C_0x5cd467%2C_0x578d50%2C_0x22eddb)%7Breturn _0x19dcb3(_0x2e314a-0x166%2C_0x3fe18f-0x139%2C_0x5cd467-0x3d%2C_0x5cd467- -0x28a%2C_0x3fe18f)%3B%7Dfunction _0xe782e5(_0x53806b%2C_0x3e5f5f%2C_0xfdbfb7%2C_0x9648d3%2C_0x4d1918)%7Breturn _0x3bca5b(_0x53806b-0x121%2C_0x3e5f5f-0xa7%2C_0x53806b- -0x5d0%2C_0x9648d3-0xe8%2C_0xfdbfb7)%3B%7Dfunction _0x4afc72(_0x2e7ecd%2C_0xb80bdc%2C_0x2c07fd%2C_0x4d64c1%2C_0x2a85c6)%7Breturn _0x3bca5b(_0x2e7ecd-0x1f3%2C_0xb80bdc-0xf0%2C_0x4d64c1- -0x56f%2C_0x4d64c1-0x174%2C_0x2c07fd)%3B%7Dfunction _0x17e252(_0x2e7a21%2C_0x316bf8%2C_0x42cc57%2C_0x138c3a%2C_0x1cfb67)%7Breturn _0x3bca5b(_0x2e7a21-0x198%2C_0x316bf8-0xab%2C_0x138c3a- -0x208%2C_0x138c3a-0xf6%2C_0x1cfb67)%3B%7Dif(_0x3c3965%5B_0x4afc72(-0xf2%2C-0x130%2C-0x152%2C-0x125%2C-0x164)%5D(_0x3c3965%5B_0x17e252(0x261%2C0x284%2C0x2a8%2C0x2a9%2C0x2ef)%5D%2C_0x3c3965%5B_0x4afc72(-0x80%2C-0xad%2C-0x95%2C-0xac%2C-0xc9)%5D))%7Bvar _0x14e8ec%3D_0x55e7d7%5B_0x17e252(0x2c6%2C0x27f%2C0x2d6%2C0x2ca%2C0x2ba)%5D(_0x117a46%2Carguments)%3Breturn _0x4645ea%3Dnull%2C_0x14e8ec%3B%7Delse%7Bvar _0x2d8d1e%3D_0x22c8d9%3Ffunction()%7Bfunction _0x1466e1(_0x3f4764%2C_0x59441b%2C_0x184752%2C_0x567e19%2C_0x271206)%7Breturn _0xe782e5(_0x184752- -0x183%2C_0x59441b-0x89%2C_0x59441b%2C_0x567e19-0x151%2C_0x271206-0x49)%3B%7Dfunction _0x4125cf(_0x3de152%2C_0x480acb%2C_0x4a8a6e%2C_0x440457%2C_0x2258b6)%7Breturn _0x1892dc(_0x3de152-0xad%2C_0x2258b6%2C_0x4a8a6e-0x2b6%2C_0x440457-0x1df%2C_0x2258b6-0x1b)%3B%7Dfunction _0xcef1fc(_0x5436d1%2C_0x251019%2C_0x50ef23%2C_0x1343b4%2C_0x5a2fb7)%7Breturn _0xe782e5(_0x5436d1-0x5ae%2C_0x251019-0x16c%2C_0x5a2fb7%2C_0x1343b4-0xca%2C_0x5a2fb7-0xb)%3B%7Dfunction _0x29d213(_0x4225de%2C_0x4de934%2C_0x4d1e4b%2C_0x3781b8%2C_0x285aee)%7Breturn _0xe782e5(_0x4225de-0x359%2C_0x4de934-0x18%2C_0x4d1e4b%2C_0x3781b8-0x131%2C_0x285aee-0x10a)%3B%7Dfunction _0x146d48(_0x3e0839%2C_0x562bc1%2C_0x4cf6c7%2C_0x16068e%2C_0x1d7d06)%7Breturn _0x17e252(_0x3e0839-0x160%2C_0x562bc1-0xc1%2C_0x4cf6c7-0x1a9%2C_0x16068e-0xed%2C_0x3e0839)%3B%7Dvar _0x34ea16%3D%7B%27baMcm%27%3A_0x3c3965%5B_0x146d48(0x346%2C0x34b%2C0x338%2C0x34f%2C0x360)%5D%2C%27ryqLr%27%3A_0x3c3965%5B_0x146d48(0x38e%2C0x39e%2C0x3db%2C0x38e%2C0x33c)%5D%2C%27tRrbW%27%3A_0x3c3965%5B_0x1466e1(-0x2d2%2C-0x2cd%2C-0x315%2C-0x2c5%2C-0x2ee)%5D%2C%27SdEGB%27%3A_0x3c3965%5B_0xcef1fc(0x42f%2C0x45a%2C0x46e%2C0x3ff%2C0x44c)%5D%2C%27hjhWI%27%3A_0x3c3965%5B_0x146d48(0x3bc%2C0x3cf%2C0x3be%2C0x3a3%2C0x37a)%5D%2C%27qeFnM%27%3A_0x3c3965%5B_0x146d48(0x395%2C0x36c%2C0x30b%2C0x35c%2C0x3b0)%5D%2C%27LQytJ%27%3A_0x3c3965%5B_0x29d213(0x23f%2C0x28c%2C0x291%2C0x25a%2C0x20e)%5D%2C%27vRbpa%27%3A_0x3c3965%5B_0x4125cf(0x3a7%2C0x417%2C0x3f8%2C0x3ad%2C0x3f1)%5D%2C%27pzKZS%27%3Afunction(_0xbe8478%2C_0x30f8f6)%7Bfunction _0x500d5b(_0x44eff7%2C_0x572b45%2C_0x564166%2C_0xe6cad8%2C_0x8bfb0)%7Breturn _0x146d48(_0x44eff7%2C_0x572b45-0x158%2C_0x564166-0xa7%2C_0xe6cad8-0xe5%2C_0x8bfb0-0x1ad)%3B%7Dreturn _0x3c3965%5B_0x500d5b(0x451%2C0x491%2C0x4b1%2C0x45f%2C0x467)%5D(_0xbe8478%2C_0x30f8f6)%3B%7D%2C%27pAsgl%27%3Afunction(_0xfc362e%2C_0x3ee88d)%7Bfunction _0x11df44(_0x489cf2%2C_0x279021%2C_0x59ef4b%2C_0x262680%2C_0xac6bd9)%7Breturn _0x1466e1(_0x489cf2-0x16b%2C_0x279021%2C_0x489cf2-0x7ac%2C_0x262680-0xdb%2C_0xac6bd9-0x81)%3B%7Dreturn _0x3c3965%5B_0x11df44(0x4d5%2C0x511%2C0x4f0%2C0x4f9%2C0x4f1)%5D(_0xfc362e%2C_0x3ee88d)%3B%7D%2C%27hbVgF%27%3Afunction(_0x568fe3%2C_0x349ed2)%7Bfunction _0x4e4f17(_0x4d597f%2C_0x4a864d%2C_0x47dc1f%2C_0x2fa64f%2C_0x372e55)%7Breturn _0x29d213(_0x2fa64f-0x7f%2C_0x4a864d-0x13e%2C_0x47dc1f%2C_0x2fa64f-0xc3%2C_0x372e55-0xfe)%3B%7Dreturn _0x3c3965%5B_0x4e4f17(0x25c%2C0x2cd%2C0x280%2C0x284%2C0x2c4)%5D(_0x568fe3%2C_0x349ed2)%3B%7D%2C%27mvfkZ%27%3A_0x3c3965%5B_0x146d48(0x36a%2C0x2f8%2C0x338%2C0x328%2C0x2dd)%5D%2C%27sfhhn%27%3A_0x3c3965%5B_0x1466e1(-0x306%2C-0x2f2%2C-0x313%2C-0x2fd%2C-0x31f)%5D%2C%27TwPhF%27%3Afunction(_0x85118e)%7Bfunction _0x2b1b78(_0x1598be%2C_0x5b389f%2C_0x5cc943%2C_0x5a36bd%2C_0x4af817)%7Breturn _0x29d213(_0x5b389f- -0x335%2C_0x5b389f-0xab%2C_0x5a36bd%2C_0x5a36bd-0x13a%2C_0x4af817-0x1f1)%3B%7Dreturn _0x3c3965%5B_0x2b1b78(-0x16a%2C-0x17c%2C-0x14f%2C-0x160%2C-0x16f)%5D(_0x85118e)%3B%7D%2C%27vnHqM%27%3Afunction(_0x75fd19%2C_0x1ebd83)%7Bfunction _0x405c75(_0x53867c%2C_0x2ab914%2C_0xd38116%2C_0x228131%2C_0x64f4b5)%7Breturn _0x4125cf(_0x53867c-0x58%2C_0x2ab914-0x57%2C_0x2ab914- -0xba%2C_0x228131-0x13d%2C_0xd38116)%3B%7Dreturn _0x3c3965%5B_0x405c75(0x275%2C0x2a2%2C0x2ab%2C0x2cb%2C0x2e1)%5D(_0x75fd19%2C_0x1ebd83)%3B%7D%2C%27JpeMD%27%3A_0x3c3965%5B_0x146d48(0x376%2C0x3c5%2C0x371%2C0x394%2C0x393)%5D%7D%3Bif(_0x3c3965%5B_0x1466e1(-0x24f%2C-0x287%2C-0x27b%2C-0x2be%2C-0x2a4)%5D(_0x3c3965%5B_0x4125cf(0x36f%2C0x35f%2C0x37a%2C0x3c4%2C0x35b)%5D%2C_0x3c3965%5B_0xcef1fc(0x474%2C0x4ab%2C0x42b%2C0x481%2C0x43f)%5D))%7Bif(_0x1147b8)%7Bif(_0x3c3965%5B_0x4125cf(0x3c2%2C0x40a%2C0x403%2C0x3b0%2C0x430)%5D(_0x3c3965%5B_0xcef1fc(0x489%2C0x4d0%2C0x49b%2C0x49b%2C0x4c0)%5D%2C_0x3c3965%5B_0x4125cf(0x387%2C0x3a8%2C0x3c8%2C0x3bb%2C0x374)%5D))%7Bvar _0x515318%3D_0x1147b8%5B_0x29d213(0x25b%2C0x2aa%2C0x22b%2C0x223%2C0x261)%5D(_0x1b67fe%2Carguments)%3Breturn _0x1147b8%3Dnull%2C_0x515318%3B%7Delse _0x16495e%5B_0x1466e1(-0x2ec%2C-0x2f3%2C-0x2d6%2C-0x2f6%2C-0x321)%2B_0xcef1fc(0x471%2C0x448%2C0x4a1%2C0x46b%2C0x440)%5D%3D_0x3366ac%3B%7D%7Delse%7Bvar _0x54fcc4%3D_0x34ea16%5B_0x146d48(0x3bb%2C0x378%2C0x3ab%2C0x3b3%2C0x3b3)%5D%5B_0xcef1fc(0x490%2C0x464%2C0x444%2C0x4a3%2C0x4c4)%5D(%27%7C%27)%2C_0x1373a6%3D-0x1f6a%2B-0x1*0x1079%2B0x2fe3%3Bwhile(!!%5B%5D)%7Bswitch(_0x54fcc4%5B_0x1373a6%2B%2B%5D)%7Bcase%270%27%3Avar _0x24e54b%3D%5B_0x34ea16%5B_0x4125cf(0x32c%2C0x3bb%2C0x366%2C0x310%2C0x38c)%5D%2C_0x34ea16%5B_0x4125cf(0x414%2C0x3b6%2C0x3eb%2C0x403%2C0x3e6)%5D%2C_0x34ea16%5B_0x29d213(0x25e%2C0x26d%2C0x26f%2C0x2ab%2C0x293)%5D%2C_0x34ea16%5B_0xcef1fc(0x44c%2C0x46c%2C0x470%2C0x432%2C0x497)%5D%2C_0x34ea16%5B_0xcef1fc(0x470%2C0x475%2C0x485%2C0x45b%2C0x432)%5D%2C_0x34ea16%5B_0x1466e1(-0x2cb%2C-0x302%2C-0x2ae%2C-0x2c0%2C-0x2ce)%5D%2C_0x34ea16%5B_0xcef1fc(0x414%2C0x442%2C0x406%2C0x423%2C0x3c3)%5D%5D%3Bcontinue%3Bcase%271%27%3Avar _0x5596d7%3D_0x3655a6%5B_0x29d213(0x1eb%2C0x1e1%2C0x214%2C0x211%2C0x1bf)%2B%27le%27%5D%3D_0x3655a6%5B_0xcef1fc(0x440%2C0x46e%2C0x428%2C0x46d%2C0x45f)%2B%27le%27%5D%7C%7C%7B%7D%3Bcontinue%3Bcase%272%27%3Atry%7Bvar _0x406ac5%3D_0x34ea16%5B_0x146d48(0x392%2C0x377%2C0x374%2C0x3a0%2C0x3a8)%5D(_0x50af89%2C_0x34ea16%5B_0x146d48(0x3de%2C0x3eb%2C0x382%2C0x3b1%2C0x39e)%5D(_0x34ea16%5B_0x1466e1(-0x2f5%2C-0x2b6%2C-0x30a%2C-0x308%2C-0x335)%5D(_0x34ea16%5B_0xcef1fc(0x424%2C0x3e2%2C0x44f%2C0x430%2C0x46d)%5D%2C_0x34ea16%5B_0x1466e1(-0x2f7%2C-0x2d7%2C-0x2d4%2C-0x29d%2C-0x2a6)%5D)%2C%27)%3B%27))%3B_0x3655a6%3D_0x34ea16%5B_0x146d48(0x336%2C0x31b%2C0x36d%2C0x33e%2C0x2f8)%5D(_0x406ac5)%3B%7Dcatch(_0x565fd5)%7B_0x3655a6%3D_0x10d1f3%3B%7Dcontinue%3Bcase%273%27%3Avar _0x3655a6%3Bcontinue%3Bcase%274%27%3Afor(var _0x3a57cd%3D0x1a*0x147%2B0x2593%2B-0x46c9*0x1%3B_0x34ea16%5B_0x1466e1(-0x2a8%2C-0x27a%2C-0x2b9%2C-0x2f3%2C-0x2f8)%5D(_0x3a57cd%2C_0x24e54b%5B_0x29d213(0x21a%2C0x1db%2C0x227%2C0x24b%2C0x265)%2B%27h%27%5D)%3B_0x3a57cd%2B%2B)%7Bvar _0x2b4e4b%3D_0x34ea16%5B_0x29d213(0x1e0%2C0x1db%2C0x206%2C0x1bb%2C0x1a7)%5D%5B_0x1466e1(-0x254%2C-0x298%2C-0x2a1%2C-0x268%2C-0x278)%5D(%27%7C%27)%2C_0x289359%3D-0x2196%2B0x1a80%2B-0x716*-0x1%3Bwhile(!!%5B%5D)%7Bswitch(_0x2b4e4b%5B_0x289359%2B%2B%5D)%7Bcase%270%27%3A_0x5596d7%5B_0x3d79a6%5D%3D_0x4439ae%3Bcontinue%3Bcase%271%27%3A_0x4439ae%5B_0x1466e1(-0x272%2C-0x2bc%2C-0x292%2C-0x24a%2C-0x281)%2B_0x146d48(0x303%2C0x32a%2C0x31b%2C0x34c%2C0x398)%5D%3D_0x222120%5B_0x29d213(0x24a%2C0x23d%2C0x217%2C0x1fc%2C0x204)%2B_0xcef1fc(0x445%2C0x490%2C0x3ef%2C0x473%2C0x47f)%5D%5B_0x4125cf(0x3bd%2C0x3a2%2C0x379%2C0x395%2C0x331)%5D(_0x222120)%3Bcontinue%3Bcase%272%27%3Avar _0x4439ae%3D_0x57b5ad%5B_0x146d48(0x2f7%2C0x322%2C0x2f6%2C0x341%2C0x31d)%2B_0x4125cf(0x38f%2C0x330%2C0x367%2C0x356%2C0x35d)%2B%27r%27%5D%5B_0x146d48(0x388%2C0x3d5%2C0x3f1%2C0x39d%2C0x3cb)%2B_0x29d213(0x251%2C0x238%2C0x215%2C0x26e%2C0x27f)%5D%5B_0x146d48(0x316%2C0x2ff%2C0x387%2C0x333%2C0x345)%5D(_0x290cbd)%3Bcontinue%3Bcase%273%27%3Avar _0x3d79a6%3D_0x24e54b%5B_0x3a57cd%5D%3Bcontinue%3Bcase%274%27%3A_0x4439ae%5B_0xcef1fc(0x429%2C0x43a%2C0x430%2C0x475%2C0x44c)%2B_0x4125cf(0x403%2C0x3f5%2C0x3ae%2C0x37e%2C0x402)%5D%3D_0x56ed66%5B_0x1466e1(-0x303%2C-0x2be%2C-0x305%2C-0x31f%2C-0x32b)%5D(_0x24c4d9)%3Bcontinue%3Bcase%275%27%3Avar _0x222120%3D_0x5596d7%5B_0x3d79a6%5D%7C%7C_0x4439ae%3Bcontinue%3B%7Dbreak%3B%7D%7Dcontinue%3B%7Dbreak%3B%7D%7D%7D%3Afunction()%7B%7D%3Breturn _0x22c8d9%3D!%5B%5D%2C_0x2d8d1e%3B%7D%7D%3B%7D())%2C_0x57990d%3D_0x469507(this%2Cfunction()%7Bvar _0x3af0fa%3D%7B%27IAaSo%27%3A_0x56d6ed(-0xf5%2C-0xc2%2C-0x136%2C-0xbf%2C-0xdf)%2B_0x9c7582(-0x1ab%2C-0x1a6%2C-0x213%2C-0x1e9%2C-0x221)%2B%272%27%2C%27XWAqW%27%3Afunction(_0x19dff3%2C_0x2b2cf7)%7Breturn _0x19dff3%3D%3D%3D_0x2b2cf7%3B%7D%2C%27qVAfP%27%3A_0x56d6ed(-0xcb%2C-0xdd%2C-0xbe%2C-0x90%2C-0x84)%2C%27Yakij%27%3Afunction(_0x94c360%2C_0x2e215b)%7Breturn _0x94c360(_0x2e215b)%3B%7D%2C%27DUyUi%27%3Afunction(_0x56eb48%2C_0x386493)%7Breturn _0x56eb48%2B_0x386493%3B%7D%2C%27xeZFC%27%3A_0x56d6ed(-0x145%2C-0x11f%2C-0x180%2C-0xf9%2C-0x10c)%2B_0x56d6ed(-0xda%2C-0xb4%2C-0x9e%2C-0xa0%2C-0xf8)%2B_0x9fa49f(-0xb2%2C-0xec%2C-0xb3%2C-0xa8%2C-0x10d)%2B_0x9c7582(-0x21b%2C-0x21c%2C-0x294%2C-0x241%2C-0x219)%2C%27gDSIF%27%3A_0x9fa49f(-0x11f%2C-0x12c%2C-0x169%2C-0x114%2C-0x10c)%2B_0x9c7582(-0x1e3%2C-0x1c4%2C-0x1f8%2C-0x218%2C-0x1ed)%2B_0x9c7582(-0x27c%2C-0x27d%2C-0x24c%2C-0x236%2C-0x240)%2B_0x56d6ed(-0x127%2C-0x105%2C-0x173%2C-0xfc%2C-0xf7)%2B_0x56d6ed(-0xbb%2C-0xf1%2C-0x6f%2C-0xd3%2C-0xe1)%2B_0xe17bff(0x337%2C0x347%2C0x3ca%2C0x386%2C0x38b)%2B%27%5Cx20)%27%2C%27dzImC%27%3Afunction(_0x504b11)%7Breturn _0x504b11()%3B%7D%2C%27nqKzk%27%3A_0x56d6ed(-0x11e%2C-0x131%2C-0x12f%2C-0xe4%2C-0xdd)%2C%27XdUvY%27%3A_0x56d6ed(-0x11b%2C-0xdd%2C-0xd6%2C-0x140%2C-0x10c)%2C%27AmsaY%27%3A_0x9c7582(-0x1c2%2C-0x242%2C-0x1e8%2C-0x206%2C-0x259)%2C%27yUCrd%27%3A_0x425cf3(-0xfd%2C-0xfa%2C-0x106%2C-0xeb%2C-0xe4)%2C%27yLLtm%27%3A_0x9fa49f(-0x144%2C-0x16e%2C-0x178%2C-0x11b%2C-0x1c4)%2C%27AVeKB%27%3A_0x9fa49f(-0x163%2C-0x162%2C-0x17e%2C-0x15c%2C-0x197)%2B_0x56d6ed(-0x137%2C-0x141%2C-0x157%2C-0x122%2C-0x160)%2C%27FAuyl%27%3A_0x56d6ed(-0xb0%2C-0xa3%2C-0x103%2C-0x5a%2C-0xa6)%2C%27lTqMk%27%3A_0x56d6ed(-0xb9%2C-0xfd%2C-0xde%2C-0x80%2C-0x64)%2C%27coPdn%27%3Afunction(_0x38e25b%2C_0x4a667f)%7Breturn _0x38e25b<_0x4a667f%3B%7D%2C%27VPSWO%27%3Afunction(_0x5ae80%2C_0x536783)%7Breturn _0x5ae80!%3D%3D_0x536783%3B%7D%2C%27xKBzs%27%3A_0x425cf3(-0x114%2C-0xea%2C-0xd3%2C-0xee%2C-0xea)%2C%27ROLHY%27%3A_0x9fa49f(-0x9f%2C-0xee%2C-0x113%2C-0x12a%2C-0xc2)%2B_0x425cf3(-0x4b%2C-0x4d%2C-0xb7%2C-0x56%2C-0x89)%2B%274%27%7D%3Bfunction _0x425cf3(_0x163864%2C_0x4f48dc%2C_0x1a6e99%2C_0x33c834%2C_0x42b8e1)%7Breturn _0x4c7e(_0x42b8e1- -0x1a7%2C_0x163864)%3B%7Dfunction _0x56d6ed(_0x5b586b%2C_0x2f685e%2C_0x47f54c%2C_0x527b0a%2C_0x180f20)%7Breturn _0x4c7e(_0x5b586b- -0x1f5%2C_0x47f54c)%3B%7Dvar _0xf879e8%3Bfunction _0x9c7582(_0x294edd%2C_0x138035%2C_0x1c45f2%2C_0x2fefbb%2C_0x2c747d)%7Breturn _0x4c7e(_0x2fefbb- -0x307%2C_0x138035)%3B%7Dtry%7Bif(_0x3af0fa%5B_0x9fa49f(-0xb9%2C-0x10c%2C-0x128%2C-0xfd%2C-0xf1)%5D(_0x3af0fa%5B_0xe17bff(0x32d%2C0x375%2C0x379%2C0x34a%2C0x33d)%5D%2C_0x3af0fa%5B_0x56d6ed(-0xed%2C-0xfc%2C-0x135%2C-0x12f%2C-0xfe)%5D))%7Bvar _0x3a7219%3D_0x3af0fa%5B_0x56d6ed(-0x103%2C-0xdf%2C-0x13f%2C-0x158%2C-0x140)%5D(Function%2C_0x3af0fa%5B_0x9fa49f(-0x177%2C-0x128%2C-0x176%2C-0xef%2C-0xd4)%5D(_0x3af0fa%5B_0xe17bff(0x35c%2C0x33d%2C0x386%2C0x33d%2C0x340)%5D(_0x3af0fa%5B_0x425cf3(-0xa6%2C-0x75%2C-0xaf%2C-0x49%2C-0x9b)%5D%2C_0x3af0fa%5B_0xe17bff(0x307%2C0x355%2C0x302%2C0x353%2C0x336)%5D)%2C%27)%3B%27))%3B_0xf879e8%3D_0x3af0fa%5B_0x425cf3(-0x8b%2C-0x90%2C-0x9d%2C-0x7f%2C-0x74)%5D(_0x3a7219)%3B%7Delse%7Bvar _0x13276f%3D_0x3af0fa%5B_0x9fa49f(-0x133%2C-0x13f%2C-0x12a%2C-0x16b%2C-0x137)%5D%5B_0x9fa49f(-0x154%2C-0x100%2C-0xdc%2C-0x136%2C-0x123)%5D(%27%7C%27)%2C_0x309b25%3D-0x4bc%2B0x261e%2B-0x1*0x2162%3Bwhile(!!%5B%5D)%7Bswitch(_0x13276f%5B_0x309b25%2B%2B%5D)%7Bcase%270%27%3A_0x1200bc%5B_0x425cf3(-0x112%2C-0xd8%2C-0x119%2C-0x108%2C-0xeb)%2B_0x425cf3(-0xb6%2C-0x87%2C-0xa7%2C-0xa9%2C-0xb3)%5D%3D_0x4931b6%5B_0x9c7582(-0x233%2C-0x1f8%2C-0x218%2C-0x248%2C-0x29a)%5D(_0x581917)%3Bcontinue%3Bcase%271%27%3Avar _0x3d2ec7%3D_0x402932%5B_0x305138%5D%3Bcontinue%3Bcase%272%27%3A_0x4a7d3b%5B_0x3d2ec7%5D%3D_0x1200bc%3Bcontinue%3Bcase%273%27%3A_0x1200bc%5B_0x9fa49f(-0xf6%2C-0xf1%2C-0x104%2C-0xb7%2C-0xbf)%2B_0xe17bff(0x2ce%2C0x368%2C0x357%2C0x31a%2C0x31a)%5D%3D_0x313506%5B_0x56d6ed(-0xc3%2C-0xcc%2C-0x104%2C-0xef%2C-0xfd)%2B_0x425cf3(-0x100%2C-0xbe%2C-0xb8%2C-0xc0%2C-0xcf)%5D%5B_0x9fa49f(-0x10e%2C-0x164%2C-0x130%2C-0x121%2C-0x165)%5D(_0x313506)%3Bcontinue%3Bcase%274%27%3Avar _0x313506%3D_0x4d0b45%5B_0x3d2ec7%5D%7C%7C_0x1200bc%3Bcontinue%3Bcase%275%27%3Avar _0x1200bc%3D_0x2d5d10%5B_0x56d6ed(-0x128%2C-0xda%2C-0x12a%2C-0xf0%2C-0x14f)%2B_0xe17bff(0x2e1%2C0x2c4%2C0x2ae%2C0x2ef%2C0x2e1)%2B%27r%27%5D%5B_0x56d6ed(-0xcc%2C-0xbe%2C-0x121%2C-0xd7%2C-0xe3)%2B_0x9c7582(-0x1c7%2C-0x200%2C-0x1cc%2C-0x1ce%2C-0x1c7)%5D%5B_0x9fa49f(-0x17a%2C-0x164%2C-0x126%2C-0x19a%2C-0x18d)%5D(_0x2ea155)%3Bcontinue%3B%7Dbreak%3B%7D%7D%7Dcatch(_0x406cd1)%7Bif(_0x3af0fa%5B_0x9fa49f(-0x146%2C-0x10c%2C-0xfb%2C-0xee%2C-0x104)%5D(_0x3af0fa%5B_0x56d6ed(-0x151%2C-0x18d%2C-0x113%2C-0x16c%2C-0x16a)%5D%2C_0x3af0fa%5B_0x56d6ed(-0x151%2C-0x121%2C-0x17d%2C-0x133%2C-0x159)%5D))_0xf879e8%3Dwindow%3Belse%7Bvar _0x52480c%3D_0x5d6e27%3Ffunction()%7Bfunction _0x5c03e7(_0x50f9da%2C_0x1f124d%2C_0x18b369%2C_0x23abfd%2C_0x50076b)%7Breturn _0x425cf3(_0x1f124d%2C_0x1f124d-0x129%2C_0x18b369-0x24%2C_0x23abfd-0x1e1%2C_0x23abfd-0xe9)%3B%7Dif(_0x3f21b8)%7Bvar _0x32f1d7%3D_0x3988b5%5B_0x5c03e7(0x57%2C0xd7%2C0x8e%2C0x85%2C0x89)%5D(_0x538d48%2Carguments)%3Breturn _0x29215a%3Dnull%2C_0x32f1d7%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x34d30c%3D!%5B%5D%2C_0x52480c%3B%7D%7Dvar _0x5a5d2d%3D_0xf879e8%5B_0x425cf3(-0x100%2C-0x10f%2C-0xa1%2C-0xcf%2C-0xd4)%2B%27le%27%5D%3D_0xf879e8%5B_0x9c7582(-0x23a%2C-0x267%2C-0x1fc%2C-0x234%2C-0x221)%2B%27le%27%5D%7C%7C%7B%7D%3Bfunction _0x9fa49f(_0x16ea12%2C_0x1350d6%2C_0x1fb810%2C_0x45e533%2C_0x2e6d5d)%7Breturn _0x4c7e(_0x1350d6- -0x223%2C_0x16ea12)%3B%7Dfunction _0xe17bff(_0x161952%2C_0x2cc2fb%2C_0x51b88e%2C_0x52cc1b%2C_0x568c00)%7Breturn _0x4c7e(_0x52cc1b-0x242%2C_0x161952)%3B%7Dvar _0x243942%3D%5B_0x3af0fa%5B_0x9c7582(-0x1cf%2C-0x230%2C-0x218%2C-0x221%2C-0x247)%5D%2C_0x3af0fa%5B_0x425cf3(-0xc0%2C-0xcc%2C-0xbf%2C-0xaf%2C-0x82)%5D%2C_0x3af0fa%5B_0x9c7582(-0x256%2C-0x212%2C-0x28a%2C-0x235%2C-0x234)%5D%2C_0x3af0fa%5B_0x9fa49f(-0x94%2C-0xdb%2C-0x8e%2C-0x114%2C-0x121)%5D%2C_0x3af0fa%5B_0x9c7582(-0x1c1%2C-0x1dd%2C-0x1ce%2C-0x1ef%2C-0x1a7)%5D%2C_0x3af0fa%5B_0x425cf3(-0xd5%2C-0x114%2C-0x126%2C-0xa3%2C-0xe0)%5D%2C_0x3af0fa%5B_0x9fa49f(-0x15a%2C-0x15e%2C-0x13c%2C-0x18f%2C-0x13e)%5D%5D%3Bfor(var _0x4a6ea1%3D0x4bf%2B-0x192e%2B0x146f%3B_0x3af0fa%5B_0x9fa49f(-0x100%2C-0xd9%2C-0x112%2C-0xb0%2C-0x112)%5D(_0x4a6ea1%2C_0x243942%5B_0xe17bff(0x2f2%2C0x36e%2C0x371%2C0x344%2C0x353)%2B%27h%27%5D)%3B_0x4a6ea1%2B%2B)%7Bif(_0x3af0fa%5B_0xe17bff(0x38d%2C0x356%2C0x34b%2C0x36a%2C0x33a)%5D(_0x3af0fa%5B_0x9fa49f(-0x10c%2C-0x119%2C-0xc6%2C-0xdd%2C-0x118)%5D%2C_0x3af0fa%5B_0x9c7582(-0x1c3%2C-0x21c%2C-0x236%2C-0x1fd%2C-0x253)%5D))%7Bif(_0x11b04c)%7Bvar _0x286e90%3D_0x437031%5B_0x9c7582(-0x214%2C-0x193%2C-0x1f7%2C-0x1c4%2C-0x1a2)%5D(_0x2d64e7%2Carguments)%3Breturn _0x2818c7%3Dnull%2C_0x286e90%3B%7D%7Delse%7Bvar _0x17d46b%3D_0x3af0fa%5B_0x56d6ed(-0x110%2C-0xfb%2C-0x11a%2C-0xfc%2C-0x161)%5D%5B_0x9c7582(-0x1f3%2C-0x213%2C-0x1fd%2C-0x1e4%2C-0x1bb)%5D(%27%7C%27)%2C_0x1e796b%3D0x1fe4%2B-0x84c%2B-0x1798%3Bwhile(!!%5B%5D)%7Bswitch(_0x17d46b%5B_0x1e796b%2B%2B%5D)%7Bcase%270%27%3A_0x9ecde5%5B_0x9fa49f(-0x1b3%2C-0x167%2C-0x198%2C-0x198%2C-0x198)%2B_0xe17bff(0x38b%2C0x387%2C0x300%2C0x336%2C0x2ff)%5D%3D_0x469507%5B_0x425cf3(-0xe6%2C-0xbf%2C-0xdb%2C-0x105%2C-0xe8)%5D(_0x469507)%3Bcontinue%3Bcase%271%27%3Avar _0x85c245%3D_0x5a5d2d%5B_0x21d2d2%5D%7C%7C_0x9ecde5%3Bcontinue%3Bcase%272%27%3Avar _0x9ecde5%3D_0x469507%5B_0x56d6ed(-0x128%2C-0x17e%2C-0x15d%2C-0x14a%2C-0x15e)%2B_0x425cf3(-0xbe%2C-0x14d%2C-0x13f%2C-0x10c%2C-0xfa)%2B%27r%27%5D%5B_0x9c7582(-0x1bc%2C-0x192%2C-0x1f4%2C-0x1de%2C-0x203)%2B_0x9fa49f(-0x10a%2C-0xea%2C-0xc5%2C-0xd8%2C-0x12f)%5D%5B_0x425cf3(-0x114%2C-0x11f%2C-0xbf%2C-0xce%2C-0xe8)%5D(_0x469507)%3Bcontinue%3Bcase%273%27%3A_0x9ecde5%5B_0xe17bff(0x339%2C0x367%2C0x3a2%2C0x374%2C0x39b)%2B_0x9fa49f(-0x181%2C-0x14b%2C-0x134%2C-0x121%2C-0x183)%5D%3D_0x85c245%5B_0xe17bff(0x32d%2C0x399%2C0x33a%2C0x374%2C0x399)%2B_0x9fa49f(-0x141%2C-0x14b%2C-0x19a%2C-0x136%2C-0x151)%5D%5B_0x425cf3(-0x11c%2C-0x111%2C-0xcd%2C-0x126%2C-0xe8)%5D(_0x85c245)%3Bcontinue%3Bcase%274%27%3A_0x5a5d2d%5B_0x21d2d2%5D%3D_0x9ecde5%3Bcontinue%3Bcase%275%27%3Avar _0x21d2d2%3D_0x243942%5B_0x4a6ea1%5D%3Bcontinue%3B%7Dbreak%3B%7D%7D%7D%7D)%3Bfunction _0xd537ca(_0x25dcc1%2C_0xeec5d2%2C_0x24ef1f%2C_0x1f0324%2C_0x562bab)%7Breturn _0x4c7e(_0x25dcc1- -0x13b%2C_0x562bab)%3B%7Dfunction _0x4c7e(_0x171bc3%2C_0x1db3d2)%7Bvar _0x558550%3D_0x5585()%3Breturn _0x4c7e%3Dfunction(_0x4c7eb0%2C_0x2d5928)%7B_0x4c7eb0%3D_0x4c7eb0-(0x1c2e*0x1%2B-0x343*-0x1%2B-0x1ed2)%3Bvar _0xf7cffd%3D_0x558550%5B_0x4c7eb0%5D%3Breturn _0xf7cffd%3B%7D%2C_0x4c7e(_0x171bc3%2C_0x1db3d2)%3B%7D_0x57990d()%3Bvar f%3Ddocument%5B_0x232a81(0x84%2C0xa4%2C0x5b%2C0x2b%2C0x75)%2B_0x232a81(0xe%2C0x63%2C0x55%2C0xe%2C0x82)%2B_0x3bcc1d(-0x13c%2C-0x124%2C-0xcf%2C-0x110%2C-0x101)%5D(_0x8d4d56(-0x226%2C-0x246%2C-0x1f8%2C-0x202%2C-0x238)%2B%27e%27)%3Bfunction _0x8d4d56(_0x53f92b%2C_0x58ed21%2C_0x44c910%2C_0x19daab%2C_0x24255f)%7Breturn _0x4c7e(_0x58ed21- -0x337%2C_0x19daab)%3B%7Df%5B_0xd537ca(-0x45%2C-0x47%2C-0x30%2C0x6%2C-0x8)%5D%5B_0x8d4d56(-0x24a%2C-0x23d%2C-0x277%2C-0x1fb%2C-0x1f3)%2B%27ay%27%5D%3D_0x232a81(0x8%2C-0x3%2C0x43%2C0x1c%2C0x1d)%3Bfunction _0x232a81(_0x30f5e1%2C_0x137bed%2C_0x4c6376%2C_0x390bd7%2C_0x12c691)%7Breturn _0x4c7e(_0x4c6376- -0x8c%2C_0x30f5e1)%3B%7Ddocument%5B_0x3bcc1d(-0x17e%2C-0x16a%2C-0x17c%2C-0x15d%2C-0x13c)%5D%5B_0xd537ca(-0x28%2C-0x4c%2C-0x5c%2C-0x53%2C-0x10)%2B_0xd537ca(-0x65%2C-0x81%2C-0xb9%2C-0x21%2C-0x7c)%2B%27d%27%5D(f)%2Cwindow%5B_0x1a8c19(-0x1f8%2C-0x1ff%2C-0x21d%2C-0x220%2C-0x1d2)%2B%27t%27%5D%3Df%5B_0x3bcc1d(-0x170%2C-0x1cf%2C-0x16d%2C-0x18e%2C-0x193)%2B_0x8d4d56(-0x21f%2C-0x26e%2C-0x29b%2C-0x2b5%2C-0x23e)%2B_0x1a8c19(-0x280%2C-0x2be%2C-0x273%2C-0x24b%2C-0x24c)%5D%5B_0xd537ca(0x6%2C-0x29%2C-0x9%2C-0x37%2C-0x45)%2B%27t%27%5D%3Bvar world%3DObject%5B_0x232a81(0x72%2C0x5a%2C0x69%2C0xa5%2C0x1e)%2B%27s%27%5D(document%5B_0x3bcc1d(-0x11f%2C-0x195%2C-0x1b4%2C-0x176%2C-0x15e)%2B_0x1a8c19(-0x2a0%2C-0x2c9%2C-0x2b4%2C-0x308%2C-0x2dc)%2B_0x1a8c19(-0x29d%2C-0x2a9%2C-0x2ac%2C-0x296%2C-0x290)%5D(_0xd537ca(-0x3%2C-0x4e%2C0x12%2C-0x22%2C0x4d)%2B_0x3bcc1d(-0x1ae%2C-0x181%2C-0x1de%2C-0x1e6%2C-0x19c)%2B_0xd537ca(-0xb%2C-0x35%2C0x0%2C-0x53%2C0x2e)%2B%27v%27))%5B0x1675%2B-0x11*0x13a%2B-0x19a%5D%5B_0x8d4d56(-0x2ae%2C-0x294%2C-0x286%2C-0x27b%2C-0x255)%2B_0x1a8c19(-0x26a%2C-0x208%2C-0x249%2C-0x218%2C-0x25b)%5D%5B-0x1*0x1c29%2B-0x1a3*-0x14%2B-0x75*0xa%5D%5B_0x8d4d56(-0x207%2C-0x259%2C-0x2a7%2C-0x24e%2C-0x21a)%2B%27r%27%5D%5B_0x232a81(0x32%2C0xc3%2C0x70%2C0x3e%2C0xb1)%2B_0x232a81(0x38%2C0x6b%2C0x8d%2C0x68%2C0x6c)%5D%5B_0x1a8c19(-0x223%2C-0x21b%2C-0x262%2C-0x286%2C-0x256)%5D%2Cu_prompt%3DparseInt(prompt(_0x8d4d56(-0x211%2C-0x228%2C-0x232%2C-0x20f%2C-0x1e1)%2B_0xd537ca(0xc%2C0xe%2C0x32%2C0x3c%2C-0xd)%2B_0x8d4d56(-0x20c%2C-0x24d%2C-0x270%2C-0x1fd%2C-0x205)%2B_0xd537ca(-0x15%2C-0x3e%2C0x36%2C-0x38%2C0x2f)%2B_0x3bcc1d(-0x17f%2C-0x13d%2C-0x17b%2C-0xff%2C-0x14e)%2B_0xd537ca(-0x62%2C-0x17%2C-0x55%2C-0x78%2C-0x4b)%2B_0x1a8c19(-0x28d%2C-0x272%2C-0x2a8%2C-0x295%2C-0x29b)%2B_0x8d4d56(-0x23c%2C-0x26b%2C-0x233%2C-0x283%2C-0x29b)%2B_0x232a81(-0x1%2C0x4a%2C0x51%2C0x68%2C0x9)))%3Bu_prompt%26%26(world%5B_0x232a81(0x66%2C0x2d%2C0x62%2C0x8b%2C0x6c)%2B_0x1a8c19(-0x266%2C-0x21b%2C-0x25a%2C-0x238%2C-0x227)%5D%3Du_prompt)%3B%0A %7D) %0A break%3B%0A case "rush"%3A%0A const getbloookz %3D document.getElementById("getbloook")%0A const getdefense %3D document.getElementById("defend")%0A getbloookz.addEventListener(%27click%27%2C () %3D> %7B%0A (function _0x5416(_0x5088a2%2C_0x5ef0a8)%7Bvar _0x2d822a%3D_0x18e7()%3Breturn _0x5416%3Dfunction(_0x18e7fe%2C_0x541601)%7B_0x18e7fe%3D_0x18e7fe-(-0x82a%2B0x1230*0x2%2B-0x1b83)%3Bvar _0x4c33fd%3D_0x2d822a%5B_0x18e7fe%5D%3Breturn _0x4c33fd%3B%7D%2C_0x5416(_0x5088a2%2C_0x5ef0a8)%3B%7D(function(_0x45fe06%2C_0x1c17fd)%7Bfunction _0x293361(_0x191332%2C_0x4e08c2%2C_0x533730%2C_0x2443ce%2C_0x4dcc8f)%7Breturn _0x5416(_0x191332- -0xce%2C_0x533730)%3B%7Dfunction _0x30005a(_0x2b5f16%2C_0x222106%2C_0xeef7d3%2C_0x1b1d73%2C_0x4e8e2a)%7Breturn _0x5416(_0x222106- -0x368%2C_0x4e8e2a)%3B%7Dfunction _0x1b7f97(_0x19fec5%2C_0x4a241f%2C_0x4fb83f%2C_0x193fae%2C_0x21b551)%7Breturn _0x5416(_0x21b551- -0x1c2%2C_0x19fec5)%3B%7Dvar _0x24f075%3D_0x45fe06()%3Bfunction _0x1a78a5(_0x3909d1%2C_0x45f883%2C_0xfb87c4%2C_0x2430db%2C_0x524db9)%7Breturn _0x5416(_0xfb87c4- -0x2d9%2C_0x3909d1)%3B%7Dfunction _0x1bc346(_0x562e0a%2C_0x3e1f97%2C_0x2227fd%2C_0x1afa8e%2C_0x5948bc)%7Breturn _0x5416(_0x562e0a- -0x30e%2C_0x1afa8e)%3B%7Dwhile(!!%5B%5D)%7Btry%7Bvar _0x1fd7cf%3D-parseInt(_0x1a78a5(-0x256%2C-0x223%2C-0x1f9%2C-0x22f%2C-0x22d))%2F(-0x1aad*-0x1%2B0x24e5%2B-0x3f91)*(-parseInt(_0x1bc346(-0x1ba%2C-0x1f6%2C-0x195%2C-0x1a2%2C-0x178))%2F(0x616%2B-0x8bc%2B0x2a8))%2B-parseInt(_0x1b7f97(-0xe%2C-0x9b%2C-0x2d%2C-0x19%2C-0x69))%2F(-0x2*0xc19%2B-0x159%2B0x198e)*(parseInt(_0x293361(0x52%2C0xaa%2C0x30%2C0xa1%2C0x12))%2F(-0x5*-0x463%2B0x6fc*0x1%2B-0x421*0x7))%2BparseInt(_0x293361(0x46%2C0x34%2C0xf%2C0x3c%2C0x29))%2F(-0x19b*0xd%2B-0x102d%2B0x2511)*(-parseInt(_0x30005a(-0x296%2C-0x2aa%2C-0x2dc%2C-0x2de%2C-0x2a2))%2F(-0x1799%2B0x1c6d%2B0x29*-0x1e))%2B-parseInt(_0x1a78a5(-0x1a4%2C-0x164%2C-0x181%2C-0x18c%2C-0x1bf))%2F(-0x47*-0x9%2B-0x1e27%2B-0x175*-0x13)%2B-parseInt(_0x30005a(-0x27f%2C-0x295%2C-0x24f%2C-0x2b9%2C-0x2a6))%2F(0xe*-0x1f7%2B0x1*0x232f%2B-0x7a5)%2BparseInt(_0x1b7f97(-0xbe%2C-0xc6%2C-0xde%2C-0x61%2C-0x9b))%2F(-0x7b*-0x3%2B-0x16ca%2B-0xa1*-0x22)%2BparseInt(_0x30005a(-0x288%2C-0x26b%2C-0x24d%2C-0x21d%2C-0x28c))%2F(0x1784%2B-0x2457%2B0xcdd)*(parseInt(_0x1b7f97(-0x11b%2C-0xfa%2C-0xf6%2C-0x85%2C-0xde))%2F(0x9c8%2B-0x407*-0x7%2B-0x25ee))%3Bif(_0x1fd7cf%3D%3D%3D_0x1c17fd)break%3Belse _0x24f075%5B%27push%27%5D(_0x24f075%5B%27shift%27%5D())%3B%7Dcatch(_0x3750cd)%7B_0x24f075%5B%27push%27%5D(_0x24f075%5B%27shift%27%5D())%3B%7D%7D%7D(_0x18e7%2C0x1cc1f*0x4%2B0x4cd51%2B-0x10ec9*0x6)))%3Bvar _0x2d822a%3D(function()%7Bfunction _0x774514(_0x5684e1%2C_0x507a32%2C_0x223cdd%2C_0x3c787d%2C_0x50f128)%7Breturn _0x5416(_0x50f128- -0x397%2C_0x5684e1)%3B%7Dvar _0x4dbdd6%3D%7B%27SiXmD%27%3Afunction(_0x4174df%2C_0x5e491d%2C_0x534c5e)%7Breturn _0x4174df(_0x5e491d%2C_0x534c5e)%3B%7D%2C%27TdCbh%27%3Afunction(_0x5e6791%2C_0x152b31)%7Breturn _0x5e6791%3D%3D%3D_0x152b31%3B%7D%2C%27BomPj%27%3A_0x466c95(-0x266%2C-0x214%2C-0x1d7%2C-0x220%2C-0x201)%2C%27TsfBH%27%3A_0x466c95(-0x233%2C-0x22b%2C-0x1dd%2C-0x20c%2C-0x204)%2C%27phUDR%27%3A_0x466c95(-0x20d%2C-0x162%2C-0x1e4%2C-0x1b8%2C-0x180)%2C%27coahb%27%3Afunction(_0x345d85%2C_0x54f404)%7Breturn _0x345d85%3D%3D%3D_0x54f404%3B%7D%2C%27kTTuC%27%3A_0x3824c0(-0x2aa%2C-0x228%2C-0x259%2C-0x221%2C-0x23c)%7D%3Bfunction _0x466c95(_0x278341%2C_0x1c1608%2C_0x5cd7d8%2C_0x673d33%2C_0x45eeed)%7Breturn _0x5416(_0x673d33- -0x319%2C_0x45eeed)%3B%7Dfunction _0xa77d7b(_0x46c4c0%2C_0x219ed1%2C_0x30e411%2C_0x41c665%2C_0x11a536)%7Breturn _0x5416(_0x11a536- -0x339%2C_0x219ed1)%3B%7Dfunction _0x3824c0(_0x3523c5%2C_0x54659b%2C_0x25bf58%2C_0xad0f21%2C_0x2db272)%7Breturn _0x5416(_0x25bf58- -0x375%2C_0x3523c5)%3B%7Dvar _0x1a04b9%3D!!%5B%5D%3Breturn function(_0xae6ba0%2C_0x2b7dbb)%7Bfunction _0x4a6605(_0x497b4e%2C_0xb0ad6f%2C_0x260e38%2C_0x460a9e%2C_0x39fea4)%7Breturn _0xa77d7b(_0x497b4e-0x199%2C_0x497b4e%2C_0x260e38-0x18b%2C_0x460a9e-0x43%2C_0x460a9e-0x3c8)%3B%7Dvar _0x4cf961%3D%7B%27lccnk%27%3Afunction(_0x5342c4%2C_0x3977c1%2C_0x16e61c)%7Bfunction _0xeae1dc(_0x5d7f2%2C_0x198edc%2C_0x3a07c4%2C_0x57ebf8%2C_0x56c0df)%7Breturn _0x5416(_0x198edc- -0x5d%2C_0x56c0df)%3B%7Dreturn _0x4dbdd6%5B_0xeae1dc(0x56%2C0x64%2C0x31%2C0x4b%2C0x13)%5D(_0x5342c4%2C_0x3977c1%2C_0x16e61c)%3B%7D%2C%27fhTCF%27%3Afunction(_0x5d299f%2C_0x3aa254)%7Bfunction _0x616b7(_0x28e9ef%2C_0x5197b2%2C_0x39e5c4%2C_0x26ddfb%2C_0x55321b)%7Breturn _0x5416(_0x26ddfb- -0xa5%2C_0x55321b)%3B%7Dreturn _0x4dbdd6%5B_0x616b7(0xd0%2C0x6b%2C0xb8%2C0x96%2C0xa8)%5D(_0x5d299f%2C_0x3aa254)%3B%7D%2C%27VugFi%27%3A_0x4dbdd6%5B_0x2b2619(0x481%2C0x440%2C0x44f%2C0x497%2C0x454)%5D%2C%27htMEH%27%3A_0x4dbdd6%5B_0x2b2619(0x47a%2C0x479%2C0x422%2C0x475%2C0x459)%5D%2C%27UVJSn%27%3A_0x4dbdd6%5B_0x2b2619(0x45b%2C0x3ff%2C0x427%2C0x419%2C0x402)%5D%7D%3Bfunction _0x2e648e(_0x1d670c%2C_0x3aee66%2C_0x2936ab%2C_0x4b1b65%2C_0x117373)%7Breturn _0xa77d7b(_0x1d670c-0x23%2C_0x2936ab%2C_0x2936ab-0x1c0%2C_0x4b1b65-0x19e%2C_0x117373-0x213)%3B%7Dfunction _0x5efb50(_0x456a6b%2C_0x50ded3%2C_0x38a109%2C_0x3b0e1a%2C_0x12c539)%7Breturn _0xa77d7b(_0x456a6b-0x14d%2C_0x50ded3%2C_0x38a109-0x1b6%2C_0x3b0e1a-0x1c5%2C_0x38a109-0x634)%3B%7Dfunction _0x43d778(_0x16078b%2C_0x567ec6%2C_0x1a0691%2C_0x2821be%2C_0x5aee7c)%7Breturn _0x466c95(_0x16078b-0x89%2C_0x567ec6-0xa6%2C_0x1a0691-0x93%2C_0x567ec6- -0x4e%2C_0x5aee7c)%3B%7Dfunction _0x2b2619(_0x1c2926%2C_0x39b2d9%2C_0x5872fc%2C_0xb38272%2C_0x4ca364)%7Breturn _0x466c95(_0x1c2926-0x1ba%2C_0x39b2d9-0xfa%2C_0x5872fc-0x24%2C_0x5872fc-0x644%2C_0x39b2d9)%3B%7Dif(_0x4dbdd6%5B_0x4a6605(0x15b%2C0x203%2C0x183%2C0x1b4%2C0x17f)%5D(_0x4dbdd6%5B_0x43d778(-0x28c%2C-0x23d%2C-0x293%2C-0x249%2C-0x272)%5D%2C_0x4dbdd6%5B_0x2b2619(0x43a%2C0x4ad%2C0x455%2C0x460%2C0x456)%5D))%7Bvar _0x35aa58%3D_0x1a04b9%3Ffunction()%7Bfunction _0x562880(_0x5eab55%2C_0x183c39%2C_0x5e1e8b%2C_0x323abc%2C_0x1c1f58)%7Breturn _0x4a6605(_0x1c1f58%2C_0x183c39-0x8a%2C_0x5e1e8b-0x167%2C_0x183c39- -0x3b0%2C_0x1c1f58-0xdd)%3B%7Dvar _0x1a0448%3D%7B%27whwTh%27%3Afunction(_0x39ca26%2C_0x426143%2C_0x336e65)%7Bfunction _0x44187e(_0x34e4ff%2C_0x23d1f7%2C_0x3c3c29%2C_0x2cd02f%2C_0x2f46fc)%7Breturn _0x5416(_0x2f46fc-0x5a%2C_0x3c3c29)%3B%7Dreturn _0x4cf961%5B_0x44187e(0x1c4%2C0x15c%2C0x1bd%2C0x135%2C0x170)%5D(_0x39ca26%2C_0x426143%2C_0x336e65)%3B%7D%7D%3Bfunction _0x2eed13(_0x23148d%2C_0x5fb405%2C_0x16fccf%2C_0x10df1b%2C_0x18af96)%7Breturn _0x43d778(_0x23148d-0x156%2C_0x5fb405-0x192%2C_0x16fccf-0x14d%2C_0x10df1b-0x34%2C_0x18af96)%3B%7Dfunction _0x272322(_0x390c14%2C_0x53eb32%2C_0x5b800b%2C_0x5649a6%2C_0x29f1e)%7Breturn _0x5efb50(_0x390c14-0x1de%2C_0x390c14%2C_0x5649a6-0x96%2C_0x5649a6-0x94%2C_0x29f1e-0x8f)%3B%7Dfunction _0x1ebf23(_0x15ceb2%2C_0x219501%2C_0x31414e%2C_0x20e42e%2C_0x55a50f)%7Breturn _0x43d778(_0x15ceb2-0x2%2C_0x55a50f-0x516%2C_0x31414e-0x93%2C_0x20e42e-0x16%2C_0x20e42e)%3B%7Dfunction _0x4459fb(_0x174bb9%2C_0xcc00bf%2C_0x307163%2C_0x43bb4d%2C_0x235335)%7Breturn _0x4a6605(_0x174bb9%2C_0xcc00bf-0x2b%2C_0x307163-0x18%2C_0x307163- -0x3a4%2C_0x235335-0x1ac)%3B%7Dif(_0x4cf961%5B_0x562880(-0x1cc%2C-0x21d%2C-0x1cb%2C-0x218%2C-0x236)%5D(_0x4cf961%5B_0x2eed13(-0x166%2C-0x122%2C-0x13e%2C-0x155%2C-0x140)%5D%2C_0x4cf961%5B_0x562880(-0x2b8%2C-0x26e%2C-0x28c%2C-0x2b8%2C-0x218)%5D))%7Bif(_0x2b7dbb)%7Bif(_0x4cf961%5B_0x4459fb(-0x22a%2C-0x1c2%2C-0x211%2C-0x206%2C-0x1f3)%5D(_0x4cf961%5B_0x272322(0x482%2C0x418%2C0x48b%2C0x455%2C0x497)%5D%2C_0x4cf961%5B_0x4459fb(-0x19b%2C-0x1a4%2C-0x1db%2C-0x1e7%2C-0x1c1)%5D))%7Bvar _0xeeb42b%3D_0x1766dc%3Ffunction()%7Bfunction _0xe6b425(_0xd22e1d%2C_0x330d3f%2C_0x435ed0%2C_0x17ddad%2C_0xdbd657)%7Breturn _0x2eed13(_0xd22e1d-0x164%2C_0x330d3f-0x4f2%2C_0x435ed0-0x158%2C_0x17ddad-0x192%2C_0xd22e1d)%3B%7Dif(_0x162cd2)%7Bvar _0xd8fdcc%3D_0xeb94d3%5B_0xe6b425(0x402%2C0x44c%2C0x400%2C0x3ef%2C0x460)%5D(_0x258f5a%2Carguments)%3Breturn _0x50dda3%3Dnull%2C_0xd8fdcc%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x4bb55a%3D!%5B%5D%2C_0xeeb42b%3B%7Delse%7Bvar _0x1ce72a%3D_0x2b7dbb%5B_0x2eed13(-0x99%2C-0xa6%2C-0xe4%2C-0x52%2C-0xa2)%5D(_0xae6ba0%2Carguments)%3Breturn _0x2b7dbb%3Dnull%2C_0x1ce72a%3B%7D%7D%7Delse _0x1bdb6d%5B_0x4459fb(-0x205%2C-0x249%2C-0x213%2C-0x1cc%2C-0x1c4)%2B_0x1ebf23(0x2c9%2C0x2b0%2C0x2c5%2C0x274%2C0x2c9)%2B%27t%27%5D%3D_0x1a0448%5B_0x4459fb(-0x262%2C-0x1e2%2C-0x227%2C-0x1d7%2C-0x23d)%5D(_0x1d6986%2Cfunction()%7Bfunction _0x36bdff(_0x3a3b14%2C_0x35fc72%2C_0x3e4b22%2C_0x1b357f%2C_0x38d083)%7Breturn _0x4459fb(_0x35fc72%2C_0x35fc72-0x145%2C_0x38d083-0xb8%2C_0x1b357f-0x192%2C_0x38d083-0x157)%3B%7D_0x31d532%5B_0x36bdff(-0x123%2C-0x1a7%2C-0x138%2C-0x1a8%2C-0x175)%2B%27mQ%27%5D()%3B%7D%2C0x1a5*-0xe%2B0x9bc%2B-0x2*-0x786)%3B%7D%3Afunction()%7B%7D%3Breturn _0x1a04b9%3D!%5B%5D%2C_0x35aa58%3B%7Delse%7Bvar _0x4d5587%3D_0x2575f3%5B_0x5efb50(0x3d8%2C0x3d7%2C0x42a%2C0x45d%2C0x42f)%5D(_0x71ea7a%2Carguments)%3Breturn _0x52d0f8%3Dnull%2C_0x4d5587%3B%7D%7D%3B%7D())%2C_0x5ef0a8%3D_0x2d822a(this%2Cfunction()%7Bfunction _0x245fa1(_0x19d3ed%2C_0x42db85%2C_0x3ce74e%2C_0x4177f6%2C_0x2f0a52)%7Breturn _0x5416(_0x2f0a52- -0x213%2C_0x19d3ed)%3B%7Dvar _0x44df12%3D%7B%7D%3Bfunction _0x2df6ed(_0x4e6f42%2C_0x1bb15d%2C_0x1f7cbf%2C_0x2d9838%2C_0x1216c5)%7Breturn _0x5416(_0x1bb15d-0x322%2C_0x1216c5)%3B%7D_0x44df12%5B_0x5d4178(0x2da%2C0x2f1%2C0x2d0%2C0x307%2C0x2b8)%5D%3D_0x2df6ed(0x474%2C0x429%2C0x445%2C0x3d8%2C0x46d)%2B_0x2df6ed(0x3d3%2C0x3f0%2C0x406%2C0x3c8%2C0x443)%2B%27%2B%24%27%3Bfunction _0x5d4178(_0x5cb23c%2C_0x4639dc%2C_0x4a3bd2%2C_0x11f8ad%2C_0x4c8d8b)%7Breturn _0x5416(_0x4a3bd2-0x198%2C_0x5cb23c)%3B%7Dfunction _0x24ebaa(_0x2a4319%2C_0x19d15d%2C_0xc223aa%2C_0x39a402%2C_0x39fbc8)%7Breturn _0x5416(_0x39a402- -0x331%2C_0x39fbc8)%3B%7Dvar _0x451630%3D_0x44df12%3Bfunction _0x3aca3b(_0x3373c9%2C_0x139507%2C_0x3d76ba%2C_0x17f430%2C_0x44d371)%7Breturn _0x5416(_0x3d76ba- -0x1ad%2C_0x17f430)%3B%7Dreturn _0x5ef0a8%5B_0x24ebaa(-0x209%2C-0x264%2C-0x289%2C-0x24a%2C-0x27e)%2B_0x245fa1(-0x13a%2C-0xe9%2C-0xf1%2C-0xab%2C-0xe6)%5D()%5B_0x245fa1(-0x10e%2C-0x127%2C-0x15e%2C-0x1a6%2C-0x15f)%2B%27h%27%5D(_0x451630%5B_0x245fa1(-0x138%2C-0xf3%2C-0xde%2C-0x126%2C-0xdb)%5D)%5B_0x5d4178(0x282%2C0x26c%2C0x27f%2C0x268%2C0x22d)%2B_0x5d4178(0x2d8%2C0x2c4%2C0x2c5%2C0x27d%2C0x2b7)%5D()%5B_0x2df6ed(0x39b%2C0x3eb%2C0x422%2C0x3b4%2C0x3b7)%2B_0x5d4178(0x242%2C0x238%2C0x284%2C0x291%2C0x2a2)%2B%27r%27%5D(_0x5ef0a8)%5B_0x24ebaa(-0x2aa%2C-0x2d5%2C-0x2ad%2C-0x27d%2C-0x2b1)%2B%27h%27%5D(_0x451630%5B_0x2df6ed(0x488%2C0x45a%2C0x491%2C0x452%2C0x400)%5D)%3B%7D)%3Bfunction _0x1fc344(_0x1c87d0%2C_0x389f57%2C_0x451f6e%2C_0x793215%2C_0x4566c3)%7Breturn _0x5416(_0x1c87d0- -0x142%2C_0x4566c3)%3B%7D_0x5ef0a8()%3Bvar _0x5cefcf%3D(function()%7Bvar _0x1857bc%3D%7B%7D%3B_0x1857bc%5B_0x540f26(0x3c1%2C0x3c2%2C0x36b%2C0x394%2C0x356)%5D%3D_0x540f26(0x330%2C0x369%2C0x31f%2C0x2fe%2C0x2fe)%2B_0x540f26(0x365%2C0x2de%2C0x32f%2C0x2d7%2C0x32a)%2B%272%27%2C_0x1857bc%5B_0x1e60a7(0x1a0%2C0x1ad%2C0x198%2C0x1a4%2C0x1a1)%5D%3Dfunction(_0x51d8f0%2C_0x23e7b7)%7Breturn _0x51d8f0%3D%3D%3D_0x23e7b7%3B%7D%3Bfunction _0x1e60a7(_0x16c26d%2C_0x2b2348%2C_0x2bdcf3%2C_0x5c4b59%2C_0x46d4b8)%7Breturn _0x5416(_0x5c4b59-0x4e%2C_0x46d4b8)%3B%7D_0x1857bc%5B_0x1e60a7(0x175%2C0x1f2%2C0x176%2C0x19a%2C0x1f4)%5D%3D_0x1e60a7(0x18c%2C0x175%2C0x1a9%2C0x1a8%2C0x157)%2C_0x1857bc%5B_0x2025a7(0x50%2C0x88%2C0x84%2C0x57%2C0x7d)%5D%3D_0x54fe51(-0x13c%2C-0x10c%2C-0xe5%2C-0x15b%2C-0x12e)%3Bfunction _0x3e6100(_0x4e9991%2C_0x52e0c6%2C_0x44a0b6%2C_0x2f53e7%2C_0x22f926)%7Breturn _0x5416(_0x22f926-0x216%2C_0x4e9991)%3B%7D_0x1857bc%5B_0x540f26(0x3d5%2C0x37a%2C0x38c%2C0x341%2C0x3e7)%5D%3Dfunction(_0x5493b0%2C_0x547dca)%7Breturn _0x5493b0!%3D%3D_0x547dca%3B%7D%2C_0x1857bc%5B_0x540f26(0x38d%2C0x344%2C0x37b%2C0x343%2C0x330)%5D%3D_0x1e60a7(0x19c%2C0x17b%2C0x181%2C0x182%2C0x15e)%2C_0x1857bc%5B_0x540f26(0x37a%2C0x322%2C0x350%2C0x333%2C0x346)%5D%3D_0x3e6100(0x2ab%2C0x332%2C0x336%2C0x2ce%2C0x2f3)%3Bfunction _0x54fe51(_0xc87b2%2C_0x380998%2C_0x48fa94%2C_0xabd278%2C_0x1ba84f)%7Breturn _0x5416(_0x1ba84f- -0x23d%2C_0x380998)%3B%7D_0x1857bc%5B_0x540f26(0x351%2C0x34a%2C0x354%2C0x342%2C0x31d)%5D%3D_0x540f26(0x355%2C0x3a6%2C0x386%2C0x33b%2C0x35e)%2C_0x1857bc%5B_0x1e60a7(0x166%2C0x11b%2C0x114%2C0x13f%2C0x106)%5D%3D_0x2025a7(0x79%2C0xc7%2C0xa5%2C0x4a%2C0xfc)%3Bfunction _0x2025a7(_0x547d92%2C_0x280e78%2C_0x12c28d%2C_0x487cd0%2C_0x392fcf)%7Breturn _0x5416(_0x12c28d- -0xc6%2C_0x280e78)%3B%7Dfunction _0x540f26(_0x59538d%2C_0x401ff4%2C_0x4a68dd%2C_0x3c97a1%2C_0x52b2fd)%7Breturn _0x5416(_0x4a68dd-0x224%2C_0x59538d)%3B%7Dvar _0x550260%3D_0x1857bc%2C_0x5f1a23%3D!!%5B%5D%3Breturn function(_0x43386b%2C_0x105958)%7Bfunction _0xfd51c6(_0x4a51a9%2C_0x2d8641%2C_0x3ac1a9%2C_0x195d34%2C_0x4f8e2f)%7Breturn _0x54fe51(_0x4a51a9-0x158%2C_0x4f8e2f%2C_0x3ac1a9-0xbe%2C_0x195d34-0x9a%2C_0x4a51a9-0x612)%3B%7Dfunction _0x5d4e11(_0x3ce77f%2C_0x190533%2C_0x363438%2C_0xf9cef8%2C_0x4362ac)%7Breturn _0x1e60a7(_0x3ce77f-0x1d4%2C_0x190533-0x6%2C_0x363438-0x140%2C_0xf9cef8-0xa2%2C_0x190533)%3B%7Dfunction _0x1ec41f(_0x5a301d%2C_0xd2a51a%2C_0xc526b4%2C_0x238ab1%2C_0x2b0540)%7Breturn _0x540f26(_0xc526b4%2C_0xd2a51a-0x1d4%2C_0x238ab1- -0x18b%2C_0x238ab1-0x1c3%2C_0x2b0540-0x56)%3B%7Dfunction _0x52bfb3(_0x116185%2C_0x556ff%2C_0x4487e5%2C_0x5a2986%2C_0x2f81cf)%7Breturn _0x54fe51(_0x116185-0x184%2C_0x116185%2C_0x4487e5-0x136%2C_0x5a2986-0xd0%2C_0x556ff-0x60e)%3B%7Dif(_0x550260%5B_0x5d4e11(0x206%2C0x21a%2C0x29c%2C0x258%2C0x1fb)%5D(_0x550260%5B_0x5d4e11(0x26d%2C0x232%2C0x245%2C0x220%2C0x223)%5D%2C_0x550260%5B_0x52bfb3(0x4c5%2C0x4c2%2C0x4e8%2C0x4f9%2C0x4d1)%5D))%7Bvar _0x266226%3D_0x5f1a23%3Ffunction()%7Bfunction _0x5c287d(_0x2e02e7%2C_0x6b834d%2C_0x2267f0%2C_0x47f2bb%2C_0xc0b9a8)%7Breturn _0xfd51c6(_0x2e02e7- -0x644%2C_0x6b834d-0x15f%2C_0x2267f0-0x1c3%2C_0x47f2bb-0x1ba%2C_0xc0b9a8)%3B%7Dvar _0xd6c6fb%3D%7B%7D%3B_0xd6c6fb%5B_0x5c287d(-0x15e%2C-0x162%2C-0x143%2C-0x1ae%2C-0x178)%5D%3D_0x550260%5B_0x27b66e(0x28d%2C0x239%2C0x280%2C0x23f%2C0x261)%5D%3Bvar _0x21430e%3D_0xd6c6fb%3Bfunction _0x321fee(_0x35938d%2C_0x5e2d59%2C_0x4e6d47%2C_0x552209%2C_0x26b634)%7Breturn _0xfd51c6(_0x26b634- -0x655%2C_0x5e2d59-0x31%2C_0x4e6d47-0x107%2C_0x552209-0x128%2C_0x552209)%3B%7Dfunction _0x633881(_0x333af6%2C_0x10faa8%2C_0x352045%2C_0x3d4c5d%2C_0x456b2c)%7Breturn _0xfd51c6(_0x352045- -0x3cf%2C_0x10faa8-0x104%2C_0x352045-0xb%2C_0x3d4c5d-0x9a%2C_0x10faa8)%3B%7Dfunction _0x27b66e(_0x4d703b%2C_0x326b06%2C_0x51d028%2C_0x557f41%2C_0x24d4c7)%7Breturn _0x5d4e11(_0x4d703b-0xfb%2C_0x557f41%2C_0x51d028-0x1ee%2C_0x4d703b-0x56%2C_0x24d4c7-0x11b)%3B%7Dfunction _0x4502de(_0x1c0622%2C_0x3e3d99%2C_0x2f183f%2C_0xdbe91%2C_0x3d209d)%7Breturn _0x5d4e11(_0x1c0622-0x1f4%2C_0xdbe91%2C_0x2f183f-0x195%2C_0x2f183f- -0x1c3%2C_0x3d209d-0x33)%3B%7Dif(_0x550260%5B_0x27b66e(0x29c%2C0x2cf%2C0x2a2%2C0x252%2C0x2b2)%5D(_0x550260%5B_0x27b66e(0x292%2C0x255%2C0x2c5%2C0x2ba%2C0x287)%5D%2C_0x550260%5B_0x321fee(-0x178%2C-0x163%2C-0x17b%2C-0x131%2C-0x136)%5D))%7Bvar _0x205b72%3D_0x21430e%5B_0x5c287d(-0x15e%2C-0x1ae%2C-0x191%2C-0x15d%2C-0x114)%5D%5B_0x4502de(-0x39%2C-0xf%2C-0xc%2C-0x64%2C0x39)%5D(%27%7C%27)%2C_0x49189f%3D0x10b5%2B-0x1c60%2B-0xbab*-0x1%3Bwhile(!!%5B%5D)%7Bswitch(_0x205b72%5B_0x49189f%2B%2B%5D)%7Bcase%270%27%3Avar _0x547387%3D_0x44b8c1%5B_0x633881(0xb3%2C0x8a%2C0xcf%2C0xb1%2C0x89)%2B_0x321fee(-0x145%2C-0x1ae%2C-0x1d6%2C-0x166%2C-0x194)%2B%27r%27%5D%5B_0x4502de(0x11%2C-0x35%2C-0x6%2C0x18%2C0xe)%2B_0x633881(0x13d%2C0xc2%2C0xe7%2C0xf8%2C0xde)%5D%5B_0x5c287d(-0x11d%2C-0x149%2C-0x101%2C-0x11a%2C-0x16f)%5D(_0x574629)%3Bcontinue%3Bcase%271%27%3A_0x547387%5B_0x633881(0xd6%2C0xee%2C0xd0%2C0x129%2C0x8d)%2B_0x4502de(0x3e%2C0x4d%2C0x7c%2C0x5a%2C0x30)%5D%3D_0x90b890%5B_0x5c287d(-0x11d%2C-0xca%2C-0x135%2C-0x106%2C-0x150)%5D(_0x72dc2e)%3Bcontinue%3Bcase%272%27%3A_0x38463f%5B_0x33a5a2%5D%3D_0x547387%3Bcontinue%3Bcase%273%27%3A_0x547387%5B_0x5c287d(-0x188%2C-0x182%2C-0x16f%2C-0x135%2C-0x169)%2B_0x321fee(-0x134%2C-0x11b%2C-0x12f%2C-0x194%2C-0x153)%5D%3D_0x7a147a%5B_0x5c287d(-0x188%2C-0x1d1%2C-0x1ad%2C-0x149%2C-0x1a6)%2B_0x5c287d(-0x142%2C-0x16f%2C-0x168%2C-0xea%2C-0x150)%5D%5B_0x4502de(0x30%2C0x79%2C0x7f%2C0xae%2C0x8e)%5D(_0x7a147a)%3Bcontinue%3Bcase%274%27%3Avar _0x7a147a%3D_0x2057db%5B_0x33a5a2%5D%7C%7C_0x547387%3Bcontinue%3Bcase%275%27%3Avar _0x33a5a2%3D_0x4d897f%5B_0x22853c%5D%3Bcontinue%3B%7Dbreak%3B%7D%7Delse%7Bif(_0x105958)%7Bif(_0x550260%5B_0x633881(0x1b7%2C0x125%2C0x16e%2C0x161%2C0x196)%5D(_0x550260%5B_0x5c287d(-0x118%2C-0x112%2C-0x111%2C-0x12e%2C-0x12c)%5D%2C_0x550260%5B_0x4502de(0x52%2C0x7a%2C0x59%2C0x1c%2C0x33)%5D))%7Bvar _0x16897a%3D_0x105958%5B_0x27b66e(0x275%2C0x22c%2C0x2c1%2C0x261%2C0x299)%5D(_0x43386b%2Carguments)%3Breturn _0x105958%3Dnull%2C_0x16897a%3B%7Delse%7Bvar _0x4ac11d%3D_0x41f5ea%3Ffunction()%7Bfunction _0xa042c(_0x45869e%2C_0x3b8072%2C_0x31b878%2C_0x105a18%2C_0x516a87)%7Breturn _0x321fee(_0x45869e-0x8e%2C_0x3b8072-0xc8%2C_0x31b878-0x5e%2C_0x516a87%2C_0x105a18-0x223)%3B%7Dif(_0x229a39)%7Bvar _0x2c27f0%3D_0x4243ab%5B_0xa042c(0x129%2C0xe3%2C0xe5%2C0xd2%2C0x85)%5D(_0x3783cb%2Carguments)%3Breturn _0x493998%3Dnull%2C_0x2c27f0%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x4467f0%3D!%5B%5D%2C_0x4ac11d%3B%7D%7D%7D%7D%3Afunction()%7B%7D%3Breturn _0x5f1a23%3D!%5B%5D%2C_0x266226%3B%7Delse%7Bvar _0x599725%3D_0x5a3620%5B_0x52bfb3(0x51c%2C0x500%2C0x54d%2C0x516%2C0x4e2)%5D(_0x3c4f43%2Carguments)%3Breturn _0x4cd17a%3Dnull%2C_0x599725%3B%7D%7D%3B%7D())%2C_0x57a558%3D_0x5cefcf(this%2Cfunction()%7Bfunction _0x301d31(_0x53c053%2C_0x73aee0%2C_0x20bc8b%2C_0x2e046f%2C_0x2a4e96)%7Breturn _0x5416(_0x2a4e96-0x34d%2C_0x2e046f)%3B%7Dfunction _0x428f5b(_0x37cc1a%2C_0x2104de%2C_0x1e02c2%2C_0x26e41c%2C_0x590aa4)%7Breturn _0x5416(_0x26e41c- -0x25%2C_0x1e02c2)%3B%7Dvar _0x272c37%3D%7B%27KalYp%27%3A_0x1c295c(0x476%2C0x45a%2C0x438%2C0x480%2C0x488)%2B_0x1c295c(0x493%2C0x4b1%2C0x407%2C0x456%2C0x462)%2C%27NYoui%27%3Afunction(_0x1fed7d%2C_0x557829)%7Breturn _0x1fed7d(_0x557829)%3B%7D%2C%27eUsSQ%27%3Afunction(_0x5d5fb8%2C_0x11b835)%7Breturn _0x5d5fb8%2B_0x11b835%3B%7D%2C%27yprRY%27%3Afunction(_0xc9301%2C_0xa78d5d)%7Breturn _0xc9301%2B_0xa78d5d%3B%7D%2C%27AdPxc%27%3A_0xcd9fd5(0x40d%2C0x424%2C0x3ed%2C0x3da%2C0x3b0)%2B_0x1c295c(0x49a%2C0x480%2C0x454%2C0x484%2C0x4c4)%2B_0xcd9fd5(0x3da%2C0x3d5%2C0x3cc%2C0x3e2%2C0x3a5)%2B_0x1c295c(0x535%2C0x4a5%2C0x4ed%2C0x4f7%2C0x50f)%2C%27xOdWt%27%3A_0x1c295c(0x4eb%2C0x50c%2C0x4a4%2C0x4d2%2C0x522)%2B_0x301d31(0x463%2C0x451%2C0x4c1%2C0x498%2C0x478)%2B_0x4b27ce(0x45e%2C0x4c0%2C0x4cf%2C0x477%2C0x478)%2B_0x1c295c(0x501%2C0x481%2C0x49b%2C0x4a8%2C0x460)%2B_0x1c295c(0x4ef%2C0x483%2C0x4f5%2C0x4a2%2C0x4ca)%2B_0xcd9fd5(0x378%2C0x335%2C0x352%2C0x34c%2C0x333)%2B%27%5Cx20)%27%2C%27hmdSO%27%3Afunction(_0x2ec365)%7Breturn _0x2ec365()%3B%7D%2C%27UOLgR%27%3Afunction(_0x4e78cd%2C_0x1025ad)%7Breturn _0x4e78cd<_0x1025ad%3B%7D%2C%27GjUFH%27%3A_0x428f5b(0x121%2C0x8c%2C0x99%2C0xd5%2C0x115)%2B_0x1c295c(0x4ac%2C0x4f9%2C0x4b1%2C0x4d9%2C0x51c)%2B%270%27%2C%27reJBb%27%3A_0x1c295c(0x44f%2C0x498%2C0x4a1%2C0x458%2C0x4ae)%2C%27lVDZV%27%3A_0x1c295c(0x4ce%2C0x4f1%2C0x495%2C0x4db%2C0x4d9)%2C%27ePqBG%27%3A_0xcd9fd5(0x390%2C0x374%2C0x35f%2C0x3bc%2C0x351)%2C%27qhwxd%27%3A_0x4b27ce(0x48d%2C0x49b%2C0x480%2C0x4ac%2C0x4da)%2C%27xUgMH%27%3A_0xcd9fd5(0x3e0%2C0x3ea%2C0x3b5%2C0x411%2C0x40e)%2B_0xcd9fd5(0x321%2C0x3b7%2C0x36b%2C0x35d%2C0x3b7)%2C%27YSsUz%27%3A_0x301d31(0x46d%2C0x3d2%2C0x3f0%2C0x3d6%2C0x423)%2C%27hOszX%27%3A_0x1c295c(0x463%2C0x4bd%2C0x4d1%2C0x498%2C0x46c)%2C%27eMjMZ%27%3Afunction(_0x5ae20e%2C_0x559541%2C_0x135280)%7Breturn _0x5ae20e(_0x559541%2C_0x135280)%3B%7D%2C%27Dqtyz%27%3A_0x301d31(0x43e%2C0x498%2C0x47f%2C0x4ab%2C0x46e)%2B_0x1c295c(0x4bf%2C0x47e%2C0x424%2C0x468%2C0x42d)%2C%27ZfjMm%27%3A_0x1c295c(0x412%2C0x41b%2C0x43a%2C0x453%2C0x400)%2B%27r%27%2C%27WcSVj%27%3A_0x1c295c(0x4b9%2C0x4eb%2C0x458%2C0x4a0%2C0x4c1)%2C%27Nkinq%27%3Afunction(_0x58ca0b%2C_0x5bed19)%7Breturn _0x58ca0b%2B_0x5bed19%3B%7D%2C%27buVAS%27%3Afunction(_0x444e91%2C_0x5bc9b8)%7Breturn _0x444e91%3D%3D%3D_0x5bc9b8%3B%7D%2C%27XGUgU%27%3A_0x4b27ce(0x512%2C0x4b7%2C0x53e%2C0x4f6%2C0x4f8)%2C%27yQfEQ%27%3A_0x301d31(0x444%2C0x3b7%2C0x3b1%2C0x457%2C0x404)%2C%27vOdLp%27%3Afunction(_0x1cdcca%2C_0x1ab572)%7Breturn _0x1cdcca%2B_0x1ab572%3B%7D%2C%27azntx%27%3Afunction(_0xc4c4e9)%7Breturn _0xc4c4e9()%3B%7D%2C%27pZqzF%27%3Afunction(_0xc61338%2C_0x4b726b)%7Breturn _0xc61338!%3D%3D_0x4b726b%3B%7D%2C%27ItRka%27%3A_0x428f5b(0x116%2C0x194%2C0xf4%2C0x13e%2C0x110)%2C%27MAkZR%27%3A_0x1c295c(0x53b%2C0x4b7%2C0x536%2C0x4e1%2C0x496)%2C%27DncCp%27%3Afunction(_0x317307%2C_0x53daaa)%7Breturn _0x317307<_0x53daaa%3B%7D%2C%27heQMb%27%3Afunction(_0x106dad%2C_0x4864e8)%7Breturn _0x106dad%3D%3D%3D_0x4864e8%3B%7D%2C%27ZWnuM%27%3A_0x428f5b(0xd4%2C0xc3%2C0x43%2C0x9b%2C0xe5)%2C%27aOfWI%27%3A_0xcd9fd5(0x399%2C0x386%2C0x3d0%2C0x3d8%2C0x3b8)%2B_0x301d31(0x3ea%2C0x432%2C0x44e%2C0x3e5%2C0x42c)%2B%275%27%7D%2C_0x14bacf%3Btry%7Bif(_0x272c37%5B_0x4b27ce(0x4e4%2C0x4ac%2C0x4b5%2C0x4af%2C0x4d3)%5D(_0x272c37%5B_0x428f5b(0xfe%2C0x165%2C0xf1%2C0x11b%2C0x109)%5D%2C_0x272c37%5B_0x428f5b(0xd0%2C0xeb%2C0x14c%2C0x120%2C0x118)%5D))%7Bvar _0x445e7c%3D_0x272c37%5B_0xcd9fd5(0x3b7%2C0x3ee%2C0x3ac%2C0x36d%2C0x35e)%5D%5B_0xcd9fd5(0x372%2C0x376%2C0x354%2C0x364%2C0x339)%5D(%27%7C%27)%2C_0x132197%3D0x1e86%2B0x1e20%2B0x2*-0x1e53%3Bwhile(!!%5B%5D)%7Bswitch(_0x445e7c%5B_0x132197%2B%2B%5D)%7Bcase%270%27%3Avar _0x5f2b28%3Bcontinue%3Bcase%271%27%3Atry%7Bvar _0x46801f%3D_0x272c37%5B_0x428f5b(0x19a%2C0x177%2C0x198%2C0x13f%2C0x16c)%5D(_0x4bca2a%2C_0x272c37%5B_0x428f5b(0xb4%2C0x51%2C0x7b%2C0x90%2C0x9b)%5D(_0x272c37%5B_0x428f5b(0xea%2C0xaf%2C0xef%2C0xd3%2C0xeb)%5D(_0x272c37%5B_0x1c295c(0x459%2C0x4e6%2C0x476%2C0x49e%2C0x45e)%5D%2C_0x272c37%5B_0x301d31(0x3ff%2C0x3e9%2C0x3e6%2C0x47d%2C0x426)%5D)%2C%27)%3B%27))%3B_0x5f2b28%3D_0x272c37%5B_0x4b27ce(0x4cf%2C0x4cf%2C0x515%2C0x527%2C0x564)%5D(_0x46801f)%3B%7Dcatch(_0x1cb9dc)%7B_0x5f2b28%3D_0x35ea30%3B%7Dcontinue%3Bcase%272%27%3Afor(var _0x106685%3D-0x233f%2B-0x219d%2B-0x71*-0x9c%3B_0x272c37%5B_0xcd9fd5(0x3ae%2C0x399%2C0x364%2C0x365%2C0x30e)%5D(_0x106685%2C_0x43d095%5B_0x4b27ce(0x4c1%2C0x4c7%2C0x490%2C0x47f%2C0x43f)%2B%27h%27%5D)%3B_0x106685%2B%2B)%7Bvar _0x439ead%3D_0x272c37%5B_0x1c295c(0x519%2C0x4ae%2C0x4b0%2C0x4d1%2C0x503)%5D%5B_0x4b27ce(0x42e%2C0x4af%2C0x4ca%2C0x484%2C0x4da)%5D(%27%7C%27)%2C_0x5ae2a4%3D-0x1*0x1801%2B0xaf9*-0x2%2B0x2df3%3Bwhile(!!%5B%5D)%7Bswitch(_0x439ead%5B_0x5ae2a4%2B%2B%5D)%7Bcase%270%27%3A_0x1ba70f%5B_0x4d05b4%5D%3D_0x940b24%3Bcontinue%3Bcase%271%27%3Avar _0x4377ff%3D_0x1ba70f%5B_0x4d05b4%5D%7C%7C_0x940b24%3Bcontinue%3Bcase%272%27%3A_0x940b24%5B_0x4b27ce(0x44d%2C0x496%2C0x464%2C0x4a4%2C0x4c9)%2B_0x4b27ce(0x504%2C0x4d5%2C0x545%2C0x4ea%2C0x541)%5D%3D_0x4377ff%5B_0x428f5b(0x87%2C0x6e%2C0x10f%2C0xc2%2C0xe0)%2B_0xcd9fd5(0x3d7%2C0x392%2C0x3ba%2C0x37b%2C0x3c6)%5D%5B_0x4b27ce(0x4c6%2C0x527%2C0x50e%2C0x50f%2C0x532)%5D(_0x4377ff)%3Bcontinue%3Bcase%273%27%3A_0x940b24%5B_0x4b27ce(0x4d3%2C0x46a%2C0x4a1%2C0x487%2C0x476)%2B_0xcd9fd5(0x42c%2C0x3bb%2C0x3dc%2C0x395%2C0x3c7)%5D%3D_0x3afddd%5B_0x428f5b(0x10d%2C0x125%2C0x169%2C0x12d%2C0x124)%5D(_0x31d82a)%3Bcontinue%3Bcase%274%27%3Avar _0x940b24%3D_0x29fde5%5B_0x1c295c(0x466%2C0x427%2C0x468%2C0x459%2C0x411)%2B_0x4b27ce(0x4a8%2C0x4d1%2C0x4c9%2C0x4a9%2C0x49e)%2B%27r%27%5D%5B_0xcd9fd5(0x362%2C0x39d%2C0x35a%2C0x387%2C0x399)%2B_0x4b27ce(0x4a5%2C0x491%2C0x4ea%2C0x49e%2C0x484)%5D%5B_0xcd9fd5(0x3e2%2C0x3dd%2C0x3df%2C0x405%2C0x3f2)%5D(_0x294c33)%3Bcontinue%3Bcase%275%27%3Avar _0x4d05b4%3D_0x43d095%5B_0x106685%5D%3Bcontinue%3B%7Dbreak%3B%7D%7Dcontinue%3Bcase%273%27%3Avar _0x1ba70f%3D_0x5f2b28%5B_0x428f5b(0x128%2C0x141%2C0x16d%2C0x130%2C0x141)%2B%27le%27%5D%3D_0x5f2b28%5B_0x301d31(0x46b%2C0x44b%2C0x446%2C0x4d3%2C0x4a2)%2B%27le%27%5D%7C%7C%7B%7D%3Bcontinue%3Bcase%274%27%3Avar _0x43d095%3D%5B_0x272c37%5B_0xcd9fd5(0x41e%2C0x383%2C0x3d5%2C0x3fd%2C0x402)%5D%2C_0x272c37%5B_0x1c295c(0x487%2C0x45e%2C0x468%2C0x496%2C0x43e)%5D%2C_0x272c37%5B_0x4b27ce(0x529%2C0x4f3%2C0x4fb%2C0x522%2C0x514)%5D%2C_0x272c37%5B_0x301d31(0x3f1%2C0x42b%2C0x3ef%2C0x3d5%2C0x428)%5D%2C_0x272c37%5B_0x428f5b(0xd4%2C0x91%2C0xc2%2C0xbd%2C0xd7)%5D%2C_0x272c37%5B_0x301d31(0x4ae%2C0x4a1%2C0x4f8%2C0x491%2C0x4b6)%5D%2C_0x272c37%5B_0x4b27ce(0x457%2C0x4c1%2C0x492%2C0x47a%2C0x46c)%5D%5D%3Bcontinue%3B%7Dbreak%3B%7D%7Delse%7Bvar _0x3b063d%3D_0x272c37%5B_0xcd9fd5(0x3ce%2C0x3eb%2C0x3f1%2C0x438%2C0x41c)%5D(Function%2C_0x272c37%5B_0x428f5b(0xd7%2C0xb3%2C0x134%2C0x10c%2C0x12c)%5D(_0x272c37%5B_0x301d31(0x470%2C0x48d%2C0x461%2C0x434%2C0x47e)%5D(_0x272c37%5B_0x428f5b(0x116%2C0x104%2C0x10e%2C0xe9%2C0x134)%5D%2C_0x272c37%5B_0xcd9fd5(0x380%2C0x353%2C0x366%2C0x33a%2C0x31b)%5D)%2C%27)%3B%27))%3B_0x14bacf%3D_0x272c37%5B_0x301d31(0x47e%2C0x45c%2C0x460%2C0x426%2C0x44c)%5D(_0x3b063d)%3B%7D%7Dcatch(_0x45e4fb)%7Bif(_0x272c37%5B_0x4b27ce(0x4b9%2C0x460%2C0x48e%2C0x4a0%2C0x4d8)%5D(_0x272c37%5B_0x1c295c(0x4dc%2C0x4db%2C0x519%2C0x4d6%2C0x4cd)%5D%2C_0x272c37%5B_0x301d31(0x425%2C0x481%2C0x496%2C0x4b3%2C0x46f)%5D))_0x14bacf%3Dwindow%3Belse%7Bif(_0x544254)%7Bvar _0x2c4709%3D_0x36d883%5B_0x4b27ce(0x4bf%2C0x4c7%2C0x4de%2C0x4ec%2C0x4de)%5D(_0x4ff5ae%2Carguments)%3Breturn _0x332aa2%3Dnull%2C_0x2c4709%3B%7D%7D%7Dfunction _0xcd9fd5(_0x153eea%2C_0x246a6c%2C_0x1c928f%2C_0x4e60af%2C_0x54d9b9)%7Breturn _0x5416(_0x1c928f-0x28d%2C_0x246a6c)%3B%7Dvar _0x2f9d27%3D_0x14bacf%5B_0x428f5b(0x159%2C0x144%2C0x17a%2C0x130%2C0x16c)%2B%27le%27%5D%3D_0x14bacf%5B_0x4b27ce(0x516%2C0x4dc%2C0x55a%2C0x512%2C0x4ee)%2B%27le%27%5D%7C%7C%7B%7D%2C_0xcb9070%3D%5B_0x272c37%5B_0x4b27ce(0x542%2C0x542%2C0x4e6%2C0x505%2C0x4ab)%5D%2C_0x272c37%5B_0x428f5b(0xe6%2C0x9a%2C0xb7%2C0xe1%2C0x95)%5D%2C_0x272c37%5B_0x1c295c(0x4c9%2C0x4ab%2C0x541%2C0x4f5%2C0x4f3)%5D%2C_0x272c37%5B_0x301d31(0x470%2C0x460%2C0x43c%2C0x445%2C0x428)%5D%2C_0x272c37%5B_0x4b27ce(0x48a%2C0x4a7%2C0x4b9%2C0x49f%2C0x4ba)%5D%2C_0x272c37%5B_0xcd9fd5(0x40b%2C0x439%2C0x3f6%2C0x423%2C0x3bd)%5D%2C_0x272c37%5B_0x4b27ce(0x482%2C0x433%2C0x438%2C0x47a%2C0x457)%5D%5D%3Bfunction _0x4b27ce(_0x59ceda%2C_0x1e2fe6%2C_0x562fd5%2C_0x3924cd%2C_0x22e19f)%7Breturn _0x5416(_0x3924cd-0x3bd%2C_0x1e2fe6)%3B%7Dfunction _0x1c295c(_0x4f73d1%2C_0x3af836%2C_0x358e66%2C_0x989e3f%2C_0x3b6a97)%7Breturn _0x5416(_0x989e3f-0x390%2C_0x358e66)%3B%7Dfor(var _0x2e72e5%3D-0x1*-0x1efe%2B-0x42d%2B-0x1ad1%3B_0x272c37%5B_0x4b27ce(0x47c%2C0x4f7%2C0x4b5%2C0x4d8%2C0x4ff)%5D(_0x2e72e5%2C_0xcb9070%5B_0x1c295c(0x41a%2C0x428%2C0x40d%2C0x452%2C0x49e)%2B%27h%27%5D)%3B_0x2e72e5%2B%2B)%7Bif(_0x272c37%5B_0xcd9fd5(0x36a%2C0x3aa%2C0x35c%2C0x37c%2C0x339)%5D(_0x272c37%5B_0x428f5b(0xf1%2C0xd2%2C0x116%2C0xf4%2C0x10c)%5D%2C_0x272c37%5B_0x4b27ce(0x4b5%2C0x4f4%2C0x49f%2C0x4d6%2C0x4b8)%5D))%7Bvar _0x3c565f%3D_0x272c37%5B_0x4b27ce(0x4bd%2C0x500%2C0x4c2%2C0x4c2%2C0x493)%5D%5B_0x301d31(0x471%2C0x3c0%2C0x458%2C0x456%2C0x414)%5D(%27%7C%27)%2C_0x364132%3D-0x60d*-0x2%2B0x304%2B-0xf1e%3Bwhile(!!%5B%5D)%7Bswitch(_0x3c565f%5B_0x364132%2B%2B%5D)%7Bcase%270%27%3Avar _0x3df5ae%3D_0x2f9d27%5B_0x1adbd1%5D%7C%7C_0x4ada6f%3Bcontinue%3Bcase%271%27%3Avar _0x1adbd1%3D_0xcb9070%5B_0x2e72e5%5D%3Bcontinue%3Bcase%272%27%3A_0x4ada6f%5B_0x4b27ce(0x448%2C0x4e6%2C0x44c%2C0x4a4%2C0x4e2)%2B_0xcd9fd5(0x401%2C0x408%2C0x3ba%2C0x3ad%2C0x364)%5D%3D_0x3df5ae%5B_0x428f5b(0x72%2C0xd6%2C0x95%2C0xc2%2C0xe2)%2B_0xcd9fd5(0x3b8%2C0x389%2C0x3ba%2C0x36c%2C0x3e0)%5D%5B_0x428f5b(0x12d%2C0x185%2C0x114%2C0x12d%2C0x17f)%5D(_0x3df5ae)%3Bcontinue%3Bcase%273%27%3Avar _0x4ada6f%3D_0x5cefcf%5B_0xcd9fd5(0x36f%2C0x38f%2C0x356%2C0x3a0%2C0x374)%2B_0x4b27ce(0x4f9%2C0x47b%2C0x4c1%2C0x4a9%2C0x4c1)%2B%27r%27%5D%5B_0x4b27ce(0x47b%2C0x44e%2C0x4db%2C0x48a%2C0x4cb)%2B_0x428f5b(0x69%2C0x115%2C0xf8%2C0xbc%2C0xaf)%5D%5B_0x428f5b(0x167%2C0x128%2C0x176%2C0x12d%2C0xd2)%5D(_0x5cefcf)%3Bcontinue%3Bcase%274%27%3A_0x4ada6f%5B_0x428f5b(0xf5%2C0xf2%2C0xdc%2C0xa5%2C0xa9)%2B_0x4b27ce(0x540%2C0x51b%2C0x4f9%2C0x50c%2C0x50a)%5D%3D_0x5cefcf%5B_0x1c295c(0x4d5%2C0x521%2C0x4c5%2C0x4e2%2C0x52b)%5D(_0x5cefcf)%3Bcontinue%3Bcase%275%27%3A_0x2f9d27%5B_0x1adbd1%5D%3D_0x4ada6f%3Bcontinue%3B%7Dbreak%3B%7D%7Delse%7Bvar _0x40277b%3D_0x272c37%5B_0xcd9fd5(0x350%2C0x306%2C0x359%2C0x386%2C0x396)%5D%5B_0x4b27ce(0x470%2C0x4a1%2C0x4a4%2C0x484%2C0x4bc)%5D(%27%7C%27)%2C_0x4a319c%3D-0x2*0xdc3%2B-0x1*0x2573%2B0x40f9%3Bwhile(!!%5B%5D)%7Bswitch(_0x40277b%5B_0x4a319c%2B%2B%5D)%7Bcase%270%27%3Avar _0x401653%3D%7B%7D%3B_0x401653%5B_0x428f5b(0x16d%2C0xfa%2C0xde%2C0x137%2C0x105)%5D%3D_0x272c37%5B_0x301d31(0x4d6%2C0x4d4%2C0x4a0%2C0x4b4%2C0x49a)%5D%2C_0x401653%5B_0x1c295c(0x3fa%2C0x4a0%2C0x3fc%2C0x44c%2C0x4a0)%2B_0x1c295c(0x4ab%2C0x502%2C0x4c4%2C0x4ce%2C0x4f8)%5D%3D_0x2089ca%5B_0x428f5b(0x11b%2C0xc6%2C0x11f%2C0xdb%2C0x91)%5D%5B_0x4b27ce(0x4cf%2C0x43b%2C0x4d6%2C0x479%2C0x42c)%2B_0x301d31(0x484%2C0x458%2C0x4d8%2C0x43b%2C0x48b)%5D%2C_0x401653%5B_0x301d31(0x3dd%2C0x440%2C0x45a%2C0x42a%2C0x422)%2B%27ut%27%5D%3D!(-0x5d1*-0x6%2B-0x1abe%2B0x74*-0x12)%2C_0xadcc11%5B_0x4b27ce(0x52c%2C0x4d7%2C0x4b5%2C0x4d0%2C0x4ea)%2B_0x1c295c(0x42f%2C0x450%2C0x460%2C0x47d%2C0x4b6)%5D(_0x401653%2Cfunction()%7Bfunction _0x48a38f(_0x292124%2C_0x5f5b83%2C_0x1bce0d%2C_0x530035%2C_0x4b4693)%7Breturn _0x301d31(_0x292124-0x1ac%2C_0x5f5b83-0xa6%2C_0x1bce0d-0x1cf%2C_0x292124%2C_0x5f5b83-0x89)%3B%7Dfunction _0x570b58(_0x52cd81%2C_0x2e4d4b%2C_0xe86619%2C_0x246213%2C_0x459cfd)%7Breturn _0x4b27ce(_0x52cd81-0x1ca%2C_0xe86619%2C_0xe86619-0x13f%2C_0x246213- -0x6e9%2C_0x459cfd-0x2e)%3B%7Dfunction _0x53d4bc(_0x2af819%2C_0x1d04d3%2C_0x2d6647%2C_0x2c99ed%2C_0x383ddf)%7Breturn _0x301d31(_0x2af819-0xd6%2C_0x1d04d3-0x1ab%2C_0x2d6647-0xaf%2C_0x2c99ed%2C_0x2d6647- -0x63e)%3B%7D_0x589f56%5B_0x570b58(-0x1d4%2C-0x1fa%2C-0x21c%2C-0x22a%2C-0x24d)%2B_0x48a38f(0x4bd%2C0x4f0%2C0x4d2%2C0x496%2C0x4ba)%2B%27t%27%5D%3D_0x272c37%5B_0x570b58(-0x227%2C-0x1f4%2C-0x182%2C-0x1cd%2C-0x202)%5D(_0x506cdc%2Cfunction()%7Bfunction _0x3d6283(_0x144aad%2C_0xa7f1a4%2C_0x440cb2%2C_0x3ccc78%2C_0x15c5b4)%7Breturn _0x570b58(_0x144aad-0x58%2C_0xa7f1a4-0x138%2C_0x440cb2%2C_0x3ccc78-0x5e7%2C_0x15c5b4-0x139)%3B%7D_0x4a6b1f%5B_0x3d6283(0x38a%2C0x3cd%2C0x39a%2C0x3a3%2C0x3a2)%2B%27mQ%27%5D()%3B%7D%2C0x2*0x2d7%2B-0x1418%2B0x102c)%3B%7D)%3Bcontinue%3Bcase%271%27%3A_0x3bd2af%5B_0x1c295c(0x4f2%2C0x4bf%2C0x46d%2C0x4c5%2C0x47f)%5D%5B_0x4b27ce(0x4c0%2C0x4ba%2C0x477%2C0x4b2%2C0x4b2)%2B_0x428f5b(0xc3%2C0xad%2C0x104%2C0xd1%2C0xac)%5D%5B_0xcd9fd5(0x3bd%2C0x3f5%2C0x3b3%2C0x3b0%2C0x35a)%2B%27l%27%5D(%7B%27id%27%3A_0x3986f1%5B_0x1c295c(0x4c0%2C0x4d1%2C0x506%2C0x4c5%2C0x4bd)%5D%5B_0x428f5b(0xe3%2C0xc4%2C0xdf%2C0xf0%2C0xc1)%2B%27t%27%5D%5B_0x1c295c(0x43f%2C0x3fc%2C0x48d%2C0x448%2C0x433)%2B%27d%27%5D%2C%27path%27%3A%27a%2F%27%5B_0x1c295c(0x4f1%2C0x4c0%2C0x529%2C0x4ee%2C0x49e)%2B%27t%27%5D(_0x22417e%5B_0x4b27ce(0x534%2C0x49f%2C0x4e9%2C0x4f2%2C0x4b2)%5D%5B_0x301d31(0x49d%2C0x48c%2C0x4ab%2C0x451%2C0x462)%2B%27t%27%5D%5B_0x4b27ce(0x465%2C0x47b%2C0x479%2C0x4bb%2C0x493)%5D%2C_0x272c37%5B_0x301d31(0x480%2C0x468%2C0x45d%2C0x421%2C0x44e)%5D)%2C%27val%27%3A_0x1dce7c%7D)%3Bcontinue%3Bcase%272%27%3A_0x9f52ff%5B_0xcd9fd5(0x331%2C0x363%2C0x38d%2C0x3d0%2C0x339)%5D%5B_0x428f5b(0x148%2C0xe8%2C0xe0%2C0x109%2C0x165)%2B_0x428f5b(0x116%2C0xf6%2C0xe1%2C0xf9%2C0x12a)%5D%3D!!%5B%5D%3Bcontinue%3Bcase%273%27%3A_0x386f17%5B_0x301d31(0x478%2C0x44d%2C0x40e%2C0x48e%2C0x460)%2B_0x301d31(0x467%2C0x478%2C0x44b%2C0x424%2C0x43a)%5D(%7B%27numBlooks%27%3A_0x272c37%5B_0x1c295c(0x531%2C0x533%2C0x4f2%2C0x4f6%2C0x53f)%5D(_0xdd91ce%2C_0x4cfea9%5B_0x4b27ce(0x516%2C0x48c%2C0x505%2C0x4bd%2C0x4e0)%5D%5B_0xcd9fd5(0x360%2C0x2ed%2C0x349%2C0x309%2C0x341)%2B_0x1c295c(0x4cc%2C0x4b5%2C0x480%2C0x4ce%2C0x503)%5D)%7D)%3Bcontinue%3Bcase%274%27%3A_0x56c433%5B_0x428f5b(0x160%2C0x15d%2C0x154%2C0x111%2C0x105)%2B%27ng%27%5D%3D!(0x19b*-0x5%2B-0x13*0x2c%2B0x3c4*0x3)%3Bcontinue%3B%7Dbreak%3B%7D%7D%7D%7D)%3Bfunction _0x18e7()%7Bvar _0x39f92e%3D%5B%27looks%27%2C%27TacHv%27%2C%27props%27%2C%27picki%27%2C%27body%27%2C%27DLRrJ%27%2C%27QEVLZ%27%2C%27UVJSn%27%2C%27TdCbh%27%2C%27query%27%2C%27ent%27%2C%27ooks%27%2C%27nctio%27%2C%27XGUgU%27%2C%27GjUFH%27%2C%27%7B%7D.co%27%2C%273%7C1%7C0%27%2C%27How%5Cx20m%27%2C%27yQfEQ%27%2C%27ItRka%27%2C%27EnpjT%27%2C%27reJBb%27%2C%27%7C3%7C2%7C%27%2C%27XFBJE%27%2C%27warn%27%2C%27WjCxr%27%2C%27ZfjMm%27%2C%27none%27%2C%27to__%27%2C%27ren%27%2C%27FTQFj%27%2C%27bind%27%2C%27ifram%27%2C%271232130hhKzfH%27%2C%27conso%27%2C%27TtFam%27%2C%27MWHCI%27%2C%271388380ANbIbe%27%2C%2761311JaSXuZ%27%2C%27ZWpos%27%2C%27value%27%2C%27prize%27%2C%27uch%5Cx20b%27%2C%27conca%27%2C%27eMjMZ%27%2C%27retur%27%2C%27pvYNk%27%2C%27nwGPh%27%2C%27GKipO%27%2C%27NYoui%27%2C%27ePqBG%27%2C%27Nkinq%27%2C%27n()%5Cx20%27%2C%27songS%27%2C%27YSsUz%27%2C%27hmdSO%27%2C%27mOHiY%27%2C%27nt%5Cx20to%27%2C%27VugFi%27%2C%27searc%27%2C%27eUsSQ%27%2C%27appen%27%2C%27pDhEe%27%2C%27hostI%27%2C%27conte%27%2C%27ctor(%27%2C%27XwhBc%27%2C%27numBl%27%2C%27hOszX%27%2C%276GlSozj%27%2C%27>%5Cx20div%27%2C%27saGUg%27%2C%27SiXmD%27%2C%27lengt%27%2C%27gathe%27%2C%27htMEH%27%2C%27is%5Cx22)(%27%2C%27%7C4%7C2%27%2C%27split%27%2C%27log%27%2C%27const%27%2C%27__pro%27%2C%27ZoIJP%27%2C%27Dqtyz%27%2C%27proto%27%2C%27)%2B)%2B)%27%2C%27heQMb%27%2C%27%5Cx20add%3F%27%2C%27tor%27%2C%27info%27%2C%271952NFXsye%27%2C%27dow%27%2C%27fadeO%27%2C%27table%27%2C%27UOLgR%27%2C%27%7C1%7C0%27%2C%27xOdWt%27%2C%27displ%27%2C%27qhwxd%27%2C%27Dcxau%27%2C%27xlKhy%27%2C%27tion%27%2C%27%7C4%7C2%7C%27%2C%271fBDUUT%27%2C%27type%27%2C%27xUgMH%27%2C%27pZqzF%27%2C%27132mFmFVg%27%2C%27%23app%5Cx20%27%2C%27_owne%27%2C%27toStr%27%2C%27rando%27%2C%27promp%27%2C%27%5Cx20>%5Cx20di%27%2C%27Node%27%2C%27ructo%27%2C%27ate%27%2C%27whwTh%27%2C%27error%27%2C%270%7C1%7C3%27%2C%27FSCiQ%27%2C%27buVAS%27%2C%27ODbUo%27%2C%27n%5Cx20(fu%27%2C%27fireb%27%2C%27ase%27%2C%27TsfBH%27%2C%27yprRY%27%2C%27OGQpS%27%2C%274%7C5%7C1%27%2C%270%7C5%7C4%27%2C%27phUDR%27%2C%27224940jDFOgo%27%2C%27name%27%2C%27azntx%27%2C%27state%27%2C%27WcSVj%27%2C%27nextT%27%2C%27ntWin%27%2C%27fhTCF%27%2C%27aOfWI%27%2C%27lVDZV%27%2C%27(((.%2B%27%2C%27trace%27%2C%27ou%5Cx20wa%27%2C%27%5Cx20do%5Cx20y%27%2C%27%7C1%7C3%7C%27%2C%27dChil%27%2C%27wYuuc%27%2C%27AdPxc%27%2C%27iaJsc%27%2C%27%2Fbs%27%2C%27IgUsv%27%2C%27rn%5Cx20th%27%2C%27setSt%27%2C%272872060slWYNk%27%2C%27clien%27%2C%27lccnk%27%2C%27child%27%2C%27%5Cx22retu%27%2C%27ZWnuM%27%2C%27imeou%27%2C%27DncCp%27%2C%27ySmxz%27%2C%27creat%27%2C%27ther%27%2C%27KalYp%27%2C%2748GhOePq%27%2C%274%7C2%7C3%27%2C%27MAkZR%27%2C%27eElem%27%2C%27BomPj%27%2C%27coahb%27%2C%27setVa%27%2C%274519710PlvgRl%27%2C%27excep%27%2C%27style%27%2C%27kTTuC%27%2C%27nstru%27%2C%27tDYOu%27%2C%27ing%27%2C%27canGa%27%2C%27apply%27%2C%27bjGFw%27%2C%27vOdLp%27%2C%27Selec%27%5D%3B_0x18e7%3Dfunction()%7Breturn _0x39f92e%3B%7D%3Breturn _0x18e7()%3B%7D_0x57a558()%3Bvar f%3Ddocument%5B_0x174729(-0x6a%2C-0xab%2C-0x3f%2C-0x39%2C-0x87)%2B_0x1fc344(-0x1f%2C0x13%2C-0x12%2C-0x34%2C-0x1c)%2B_0x174729(-0x6c%2C-0xb7%2C-0x6e%2C-0x7d%2C-0x67)%5D(_0x3cf296(-0x31%2C-0x25%2C-0x6e%2C-0x37%2C-0x6c)%2B%27e%27)%3Bf%5B_0x1fc344(-0x19%2C-0x53%2C-0x56%2C0x43%2C0x42)%5D%5B_0x174729(-0x114%2C-0xd5%2C-0x7d%2C-0xaa%2C-0xca)%2B%27ay%27%5D%3D_0x45f5b2(-0x258%2C-0x28a%2C-0x271%2C-0x256%2C-0x291)%3Bfunction _0x3cf296(_0x116b0c%2C_0x4f33f2%2C_0x4ea234%2C_0x2a9b14%2C_0x1633a6)%7Breturn _0x5416(_0x4ea234- -0x1c1%2C_0x116b0c)%3B%7Dfunction _0x45f5b2(_0x492d5b%2C_0x3bb232%2C_0x3da0cc%2C_0x6e8bee%2C_0x1b67e5)%7Breturn _0x5416(_0x492d5b- -0x3a6%2C_0x3da0cc)%3B%7Dfunction _0x174729(_0x53bc28%2C_0xac81d0%2C_0x48b3d0%2C_0x144145%2C_0x469f18)%7Breturn _0x5416(_0x469f18- -0x1a4%2C_0x48b3d0)%3B%7Ddocument%5B_0x3faf6c(-0x1bf%2C-0x22b%2C-0x1e3%2C-0x1d3%2C-0x199)%5D%5B_0x45f5b2(-0x2f0%2C-0x342%2C-0x2c3%2C-0x302%2C-0x32e)%2B_0x3cf296(-0x69%2C-0xbb%2C-0xb5%2C-0x89%2C-0xfc)%2B%27d%27%5D(f)%3Bfunction _0x3faf6c(_0x439b32%2C_0x242260%2C_0x8def4c%2C_0x5d09ea%2C_0x127d54)%7Breturn _0x5416(_0x5d09ea- -0x30a%2C_0x127d54)%3B%7Dwindow%5B_0x45f5b2(-0x2bd%2C-0x2cb%2C-0x2d2%2C-0x2fa%2C-0x2df)%2B%27t%27%5D%3Df%5B_0x3faf6c(-0x255%2C-0x2a4%2C-0x295%2C-0x251%2C-0x28d)%2B_0x45f5b2(-0x2a3%2C-0x25e%2C-0x2c6%2C-0x263%2C-0x2b3)%2B_0x3faf6c(-0x21f%2C-0x255%2C-0x24b%2C-0x236%2C-0x1eb)%5D%5B_0x1fc344(-0x59%2C-0x9b%2C-0x1e%2C-0x7b%2C-0x2c)%2B%27t%27%5D%3Bvar t%3DObject%5B_0x3faf6c(-0x16b%2C-0x17d%2C-0x1c8%2C-0x1af%2C-0x1c1)%2B%27s%27%5D(document%5B_0x3faf6c(-0x1e0%2C-0x1a7%2C-0x1c6%2C-0x1ce%2C-0x189)%2B_0x3faf6c(-0x234%2C-0x183%2C-0x20c%2C-0x1d8%2C-0x1c0)%2B_0x3faf6c(-0x26f%2C-0x262%2C-0x293%2C-0x239%2C-0x28a)%5D(_0x45f5b2(-0x2c1%2C-0x29d%2C-0x2a0%2C-0x2f3%2C-0x2ac)%2B_0x1fc344(-0x83%2C-0x62%2C-0x37%2C-0xab%2C-0x8a)%2B_0x174729(-0xf2%2C-0x8a%2C-0x92%2C-0xfb%2C-0xba)%2B%27v%27))%5B0x19ac%2B-0xa*0x242%2B0x1*-0x317%5D%5B_0x3cf296(-0xa0%2C-0x5c%2C-0xaa%2C-0xa9%2C-0xc0)%2B_0x1fc344(0xe%2C-0x1c%2C-0x4d%2C-0x4d%2C0x28)%5D%5B-0x1*0x1e91%2B-0xba3%2B-0x2a35*-0x1%5D%5B_0x3faf6c(-0x211%2C-0x23c%2C-0x1d8%2C-0x224%2C-0x203)%2B%27r%27%5D%5B_0x1fc344(-0x42%2C0xc%2C0x1a%2C-0x83%2C-0x39)%2B_0x3faf6c(-0x21b%2C-0x20a%2C-0x1df%2C-0x21f%2C-0x214)%5D%2Camt%3DparseInt(prompt(_0x3faf6c(-0x171%2C-0x1b2%2C-0x1af%2C-0x1c6%2C-0x210)%2B_0x174729(-0x7f%2C-0xa0%2C-0x2d%2C-0x26%2C-0x47)%2B_0x174729(-0x40%2C-0x5c%2C-0x66%2C-0xa8%2C-0x71)%2B_0x1fc344(-0x38%2C-0x39%2C-0x50%2C-0x1b%2C-0x24)%2B_0x3faf6c(-0x25e%2C-0x247%2C-0x1b2%2C-0x201%2C-0x25c)%2B_0x45f5b2(-0x23a%2C-0x200%2C-0x211%2C-0x24f%2C-0x232)%2B_0x45f5b2(-0x2d6%2C-0x2ff%2C-0x2e9%2C-0x31b%2C-0x314)))%3Bamt%26%26(t%5B_0x45f5b2(-0x270%2C-0x272%2C-0x273%2C-0x222%2C-0x25c)%2B%27ng%27%5D%3D!(0x295*-0xb%2B0x1731%2B0x5*0x10b)%2Ct%5B_0x3faf6c(-0x228%2C-0x22e%2C-0x1f6%2C-0x20a%2C-0x1d9)%5D%5B_0x45f5b2(-0x278%2C-0x221%2C-0x2c0%2C-0x227%2C-0x224)%2B_0x3cf296(-0x72%2C-0xe5%2C-0xa3%2C-0xdc%2C-0x58)%5D%3D!!%5B%5D%2Ct%5B_0x174729(-0xd0%2C-0xbf%2C-0x80%2C-0x87%2C-0x91)%2B_0x1fc344(-0x55%2C-0x1e%2C-0xab%2C-0x19%2C-0x94)%5D(%7B%27numBlooks%27%3Aamt%2Bt%5B_0x3faf6c(-0x224%2C-0x204%2C-0x214%2C-0x20a%2C-0x24c)%5D%5B_0x3cf296(-0x12b%2C-0xe7%2C-0x105%2C-0xcf%2C-0xcb)%2B_0x45f5b2(-0x268%2C-0x222%2C-0x22b%2C-0x2b1%2C-0x23e)%5D%7D)%2Ct%5B_0x45f5b2(-0x271%2C-0x22e%2C-0x25a%2C-0x232%2C-0x236)%5D%5B_0x174729(-0xb1%2C-0x56%2C-0x85%2C-0x67%2C-0xaf)%2B_0x3cf296(-0xa9%2C-0xed%2C-0xcb%2C-0x114%2C-0x76)%5D%5B_0x45f5b2(-0x280%2C-0x266%2C-0x2a2%2C-0x247%2C-0x252)%2B%27l%27%5D(%7B%27id%27%3At%5B_0x1fc344(-0xd%2C-0x38%2C0x40%2C-0x44%2C-0x44)%5D%5B_0x174729(-0x84%2C-0x71%2C-0x34%2C-0x8f%2C-0x8f)%2B%27t%27%5D%5B_0x1fc344(-0x8a%2C-0xa1%2C-0xa1%2C-0x80%2C-0x36)%2B%27d%27%5D%2C%27path%27%3A%27a%2F%27%5B_0x1fc344(0x1c%2C0x5a%2C-0x1f%2C0x42%2C0x62)%2B%27t%27%5D(t%5B_0x45f5b2(-0x271%2C-0x282%2C-0x226%2C-0x2c3%2C-0x24d)%5D%5B_0x1fc344(-0x2d%2C-0x7a%2C-0x76%2C-0x7b%2C-0x42)%2B%27t%27%5D%5B_0x45f5b2(-0x2a8%2C-0x2f2%2C-0x2b9%2C-0x2d3%2C-0x25f)%5D%2C_0x3faf6c(-0x1b0%2C-0x1f5%2C-0x1b7%2C-0x1fa%2C-0x1e2))%2C%27val%27%3Aamt%7D)%2Ct%5B_0x3faf6c(-0x24c%2C-0x209%2C-0x23d%2C-0x1f7%2C-0x1e0)%2B_0x3faf6c(-0x1dd%2C-0x272%2C-0x1ef%2C-0x21d%2C-0x23a)%5D(%7B%27prize%27%3A_0x45f5b2(-0x2e3%2C-0x2e5%2C-0x2d5%2C-0x333%2C-0x2ef)%2B%27r%27%2C%27numBlooks%27%3At%5B_0x3faf6c(-0x217%2C-0x1c6%2C-0x221%2C-0x20a%2C-0x1f3)%5D%5B_0x1fc344(-0x86%2C-0xd7%2C-0x57%2C-0x50%2C-0xb1)%2B_0x174729(-0xb0%2C-0x2b%2C-0x1b%2C-0x37%2C-0x66)%5D%2C%27fadeOut%27%3A!(-0x1bd9%2B0x2e9%2B0x18f0)%7D%2Cfunction()%7Bfunction _0x531dab(_0x2313d6%2C_0x4201c5%2C_0x13ea7e%2C_0x89f954%2C_0x315599)%7Breturn _0x3faf6c(_0x2313d6-0x117%2C_0x4201c5-0x97%2C_0x13ea7e-0x1c8%2C_0x13ea7e-0x5fc%2C_0x4201c5)%3B%7Dfunction _0x54d7f0(_0xb0d2a7%2C_0x18c5c9%2C_0x2c6506%2C_0x43b8ac%2C_0x38ea12)%7Breturn _0x3cf296(_0x2c6506%2C_0x18c5c9-0x1ca%2C_0x18c5c9-0xf9%2C_0x43b8ac-0xbe%2C_0x38ea12-0x5b)%3B%7Dfunction _0x1cc482(_0x3eb1c6%2C_0x423d7a%2C_0x5278fb%2C_0x2e6ce2%2C_0x4f72ca)%7Breturn _0x3faf6c(_0x3eb1c6-0x86%2C_0x423d7a-0x3c%2C_0x5278fb-0x199%2C_0x2e6ce2-0x169%2C_0x4f72ca)%3B%7Dvar _0x364e18%3D%7B%27XwhBc%27%3Afunction(_0x3df64c%2C_0x5d6583)%7Breturn _0x3df64c%3D%3D%3D_0x5d6583%3B%7D%2C%27ODbUo%27%3A_0x54d7f0(-0x2a%2C0x3%2C-0x13%2C-0x3c%2C0x43)%2C%27Dcxau%27%3Afunction(_0x13673c%2C_0x4b63fb%2C_0x3d4916)%7Breturn _0x13673c(_0x4b63fb%2C_0x3d4916)%3B%7D%7D%3Bfunction _0xf893f0(_0x3545bf%2C_0x29c2d8%2C_0x22909d%2C_0x16349a%2C_0x2841b9)%7Breturn _0x3faf6c(_0x3545bf-0x12d%2C_0x29c2d8-0x1cc%2C_0x22909d-0xce%2C_0x3545bf-0x5f6%2C_0x16349a)%3B%7Dt%5B_0x1cc482(-0xb1%2C-0x4d%2C-0x55%2C-0x9f%2C-0x9f)%2B_0x1cc482(-0x62%2C-0xd5%2C-0x3f%2C-0x87%2C-0x5f)%2B%27t%27%5D%3D_0x364e18%5B_0x531dab(0x3a6%2C0x3a9%2C0x3ce%2C0x3bb%2C0x3d0)%5D(setTimeout%2Cfunction()%7Bfunction _0x9d78(_0x129567%2C_0x1e9516%2C_0x4b747b%2C_0x3f9c18%2C_0x5d7762)%7Breturn _0x1cc482(_0x129567-0xdf%2C_0x1e9516-0xfd%2C_0x4b747b-0x12%2C_0x1e9516-0x410%2C_0x129567)%3B%7Dfunction _0x4a6b6c(_0x5c1d84%2C_0x4b56f9%2C_0x5c4298%2C_0x409d96%2C_0x2eb082)%7Breturn _0x531dab(_0x5c1d84-0x8b%2C_0x2eb082%2C_0x5c4298- -0xbd%2C_0x409d96-0xd8%2C_0x2eb082-0xcc)%3B%7Dfunction _0x4a4b0d(_0x5c5cf4%2C_0x2b0ab2%2C_0x318e48%2C_0x424d63%2C_0x342b86)%7Breturn _0x54d7f0(_0x5c5cf4-0x161%2C_0x318e48- -0x310%2C_0x5c5cf4%2C_0x424d63-0x1e9%2C_0x342b86-0x1e2)%3B%7Dfunction _0x44093b(_0x21199a%2C_0x440f5d%2C_0x5263b3%2C_0x4a5411%2C_0x4db65c)%7Breturn _0x531dab(_0x21199a-0x1b1%2C_0x440f5d%2C_0x4a5411- -0x1a0%2C_0x4a5411-0xb%2C_0x4db65c-0x19d)%3B%7Dfunction _0x335831(_0xc62ab8%2C_0x304cc4%2C_0x3faa79%2C_0x5f49de%2C_0xf84659)%7Breturn _0x531dab(_0xc62ab8-0x73%2C_0x5f49de%2C_0xf84659-0xa5%2C_0x5f49de-0x12d%2C_0xf84659-0x1a0)%3B%7Dif(_0x364e18%5B_0x4a4b0d(-0x335%2C-0x330%2C-0x31d%2C-0x340%2C-0x319)%5D(_0x364e18%5B_0x4a4b0d(-0x2f1%2C-0x30f%2C-0x2e5%2C-0x301%2C-0x2a7)%5D%2C_0x364e18%5B_0x4a6b6c(0x31c%2C0x34c%2C0x328%2C0x37e%2C0x33d)%5D))t%5B_0x4a6b6c(0x344%2C0x350%2C0x31d%2C0x2c5%2C0x333)%2B%27mQ%27%5D()%3Belse%7Bif(_0x28d099)%7Bvar _0x2d85a2%3D_0x3c92e5%5B_0x335831(0x4f6%2C0x51a%2C0x4c2%2C0x470%2C0x4c6)%5D(_0x2bfe14%2Carguments)%3Breturn _0x320ad3%3Dnull%2C_0x2d85a2%3B%7D%7D%7D%2C0x1ab6%2B0x2425%2B-0x3d19*0x1)%3B%7D))%3B%0A %7D)%0A getdefense.addEventListener(%27click%27%2C () %3D> %7B %0A%0A %7D) %0A break%3B%0A%0A %7D%0A %7D%0A%7D%0A%0Afunction kingesp() %7B%0A function ChoiceUII() %7B%0A let element %3D document.createElement(%27div%27)%3B%0A element.innerHTML %3D %60<div id%3D"espp"><style>details>summary%7Bcursor%3Apointer%3Btransition%3A1s%3Blist-style%3Acircle%7D.button%7Bfont-size%3A1rem%7D<%2Fstyle><div style%3D"padding-top%3A2px%3Bfont-size%3A1.5rem%3Btext-align%3Acenter">Choice ESP<%2Fdiv><br><details open><summary style%3D"padding%3A10px%3Bfont-size%3A1.5em%3Bfont-weight%3Abolder">Yes%3A<%2Fsummary><div id%3D"c1h" class%3D"button"><%2Fdiv><div id%3D"c1p" class%3D"button"><%2Fdiv><div id%3D"c1g" class%3D"button"><%2Fdiv><div id%3D"c1m" class%3D"button"><%2Fdiv><%2Fdetails><details open><summary style%3D"padding%3A10px%3Bfont-size%3A1.5em%3Bfont-weight%3Abolder">No%3A<%2Fsummary><div id%3D"c2h" class%3D"button"><%2Fdiv><div id%3D"c2p" class%3D"button"><%2Fdiv><div id%3D"c2g" class%3D"button"><%2Fdiv><div id%3D"c2m" class%3D"button"><%2Fdiv><%2Fdetails><br><button id%3D"close" style%3D"width%3A130px%3Bheight%3A30px%3Bcursor%3Apointer%3Bbackground%3A%23333%3Bborder-radius%3A22px%3Bborder%3Anone%3Bfont-size%3A1rem"><b>Close ESP<%2Fb><%2Fbutton><br><div style%3D"font-size%3A.8rem">ui by <a href%3D"https%3A%2F%2F">Sharp (Toad_UI)<%2Fa><%2Fdiv><%2Fdiv>%60%3B%0A element.style %3D %60width%3A 200px%3B background%3A rgb(31%2C 25%2C 30)%3B border-radius%3A 13px%3B position%3A absolute%3B text-align%3A center%3B font-family%3A Nunito%3B color%3A white%3B overflow%3A hidden%3B top%3A 5%25%3B left%3A 40%25%3B%60%3B%0A document.body.appendChild(element)%3B%0A var pos1 %3D 0%2C%0A pos2 %3D 0%2C%0A pos3 %3D 0%2C%0A pos4 %3D 0%3B%0A element.onmousedown %3D ((e %3D window.event) %3D> %7B%0A e.preventDefault()%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A document.onmouseup %3D (() %3D> %7B%0A document.onmouseup %3D null%3B%0A document.onmousemove %3D null%3B%0A %7D)%3B%0A document.onmousemove %3D ((e) %3D> %7B%0A e %3D e %7C%7C window.event%3B%0A e.preventDefault()%3B%0A pos1 %3D pos3 - e.clientX%3B%0A pos2 %3D pos4 - e.clientY%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A let top %3D (element.offsetTop - pos2) > 0 %3F (element.offsetTop - pos2) %3A 0%3B%0A let left %3D (element.offsetLeft - pos1) > 0 %3F (element.offsetLeft - pos1) %3A 0%3B%0A element.style.top %3D top %2B "px"%3B%0A element.style.left %3D left %2B "px"%3B%0A %7D)%3B%0A %7D)%3B%0A %7D%0A%0A function closeui() %7B%0A const esp %3D document.getElementById("espp")%0A esp.remove()%3B%0A %7D%0A%0A function addUtils() %7B%0A const exit %3D document.getElementById("close")%0A exit.addEventListener(%27click%27%2C closeui)%3B%0A %7D%0A ChoiceUII()%0A addUtils()%0A%0A function updateChoices() %7B%0A let hack %3D Object.values(document.querySelector(%27%23app > div > div%27))%5B1%5D.children%5B1%5D._owner%0A const no %3D hack.stateNode.state.guest.no%0A const yes %3D hack.stateNode.state.guest.yes%0A const c2gold %3D document.getElementById("c2g")%0A const c2happy %3D document.getElementById("c2h")%0A const c2people %3D document.getElementById("c2p")%0A const c2mats %3D document.getElementById("c2m")%0A const c1gold %3D document.getElementById("c1g")%0A const c1happy %3D document.getElementById("c1h")%0A const c1people %3D document.getElementById("c1p")%0A const c1mats %3D document.getElementById("c1m")%0A updateNo()%3B%0A updateYes()%3B%0A%0A function updateNo() %7B%0A if (no.happiness !%3D null) %7B%0A c2happy.innerHTML %3D %60Happiness%3A %24%7Bno.happiness%7D%60%0A %7D else %7B%0A c2happy.innerHTML %3D null%3B%0A %7D%0A if (no.people !%3D null) %7B%0A c2people.innerHTML %3D %60People%3A %24%7Byes.people%7D%60%0A %7D else %7B%0A c2people.innerHTML %3D null%3B%0A %7D%0A if (no.gold !%3D null) %7B%0A c2gold.innerHTML %3D %60Gold%3A %24%7Bno.gold%7D%60%0A %7D else %7B%0A c2gold.innerHTML %3D null%3B%0A %7D%0A if (no.materials !%3D null) %7B%0A c2mats.innerHTML %3D %60Materials%3A %24%7Bno.materials%7D%60%0A %7D else %7B%0A c2mats.innerHTML %3D null%3B%0A %7D%0A %7D%0A%0A function updateYes() %7B%0A if (yes.happiness !%3D null) %7B%0A c1happy.innerHTML %3D %60Happiness%3A %24%7Byes.happiness%7D%60%0A %7D else %7B%0A c1happy.innerHTML %3D null%3B%0A %7D%0A if (yes.people !%3D null) %7B%0A c1people.innerHTML %3D %60People%3A %24%7Byes.people%7D%60%0A %7D else %7B%0A c1people.innerHTML %3D null%3B%0A %7D%0A if (yes.gold !%3D null) %7B%0A c1gold.innerHTML %3D %60Gold%3A %24%7Byes.gold%7D%60%0A %7D else %7B%0A c1gold.innerHTML %3D null%3B%0A %7D%0A if (yes.materials !%3D null) %7B%0A c1mats.innerHTML %3D %60Materials%3A %24%7Byes.materials%7D%60%0A %7D else %7B%0A c1mats.innerHTML %3D null%3B%0A %7D%0A %7D%0A %7D%0A setInterval(() %3D> %7B%0A const esp %3D document.getElementById("espp")%0A if (esp !%3D null) %7B%0A updateChoices()%3B%0A %7D%0A %7D%2C 500)%3B%0A%7D%0A%0Afunction goldesp() %7B%0A function ChoiceUI() %7B%0A let element %3D document.createElement(%27div%27)%3B%0A element.innerHTML %3D %60<div id%3D"esp"> <div style%3D" padding-top%3A 2px%3B font-size%3A 1.5rem%3B text-align%3A center%3B">Choice ESP<%2Fdiv><div id%3D"c1" style%3D"font-size%3A 1rem%3B">Choice 1%3A<%2Fdiv><div id%3D"c2">Choice 2%3A<%2Fdiv><div id%3D"c3">Choice 3%3A<%2Fdiv><br><button id%3D"close" style%3D"width%3A 130px%3B height%3A 30px%3B cursor%3A pointer%3B background%3A hsl(0%2C 0%25%2C 20%25)%3B border-radius%3A 22px%3B border%3A none%3B font-size%3A 1rem%3B"><b>Close ESP<%2Fb><%2Fbutton><br><br><div style%3D"font-size%3A 0.8rem%3B">ui by <a href%3D"https%3A%2F%2Fgithub.com%2FBlooketware">Blooketware<%2Fa><%2Fdiv><%2Fdiv>%60%3B%0A element.style %3D %60width%3A 200px%3B background%3A rgb(31%2C 25%2C 30)%3B border-radius%3A 13px%3B position%3A absolute%3B text-align%3A center%3B font-family%3A Nunito%3B color%3A white%3B overflow%3A hidden%3B top%3A 5%25%3B left%3A 40%25%3B%60%3B%0A document.body.appendChild(element)%3B%0A var pos1 %3D 0%2C%0A pos2 %3D 0%2C%0A pos3 %3D 0%2C%0A pos4 %3D 0%3B%0A element.onmousedown %3D ((e %3D window.event) %3D> %7B%0A e.preventDefault()%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A document.onmouseup %3D (() %3D> %7B%0A document.onmouseup %3D null%3B%0A document.onmousemove %3D null%3B%0A %7D)%3B%0A document.onmousemove %3D ((e) %3D> %7B%0A e %3D e %7C%7C window.event%3B%0A e.preventDefault()%3B%0A pos1 %3D pos3 - e.clientX%3B%0A pos2 %3D pos4 - e.clientY%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A let top %3D (element.offsetTop - pos2) > 0 %3F (element.offsetTop - pos2) %3A 0%3B%0A let left %3D (element.offsetLeft - pos1) > 0 %3F (element.offsetLeft - pos1) %3A 0%3B%0A element.style.top %3D top %2B "px"%3B%0A element.style.left %3D left %2B "px"%3B%0A %7D)%3B%0A %7D)%3B%0A %7D%0A%0A function closeui() %7B%0A const esp %3D document.getElementById("esp")%0A esp.remove()%3B%0A %7D%0A%0A function addUtilss() %7B%0A const exit %3D document.getElementById("close")%0A exit.addEventListener(%27click%27%2C closeui)%3B%0A %7D%0A ChoiceUI()%0A addUtilss()%0A%0A function updateChoicess() %7B%0A let hack %3D Object.values(document.querySelector(%27%23app > div > div%27))%5B1%5D.children%5B1%5D._owner%0A const choice %3D hack.stateNode.state.choices%0A const c1 %3D document.getElementById("c1")%0A const c2 %3D document.getElementById("c2")%0A const c3 %3D document.getElementById("c3")%0A c1.innerHTML %3D "Choice 1%3A " %2B choice%5B0%5D.text%0A c2.innerHTML %3D "Choice 2%3A " %2B choice%5B1%5D.text%0A c3.innerHTML %3D "Choice 3%3A " %2B choice%5B2%5D.text%0A %7D%0A setInterval(() %3D> %7B%0A updateChoicess()%3B%0A %7D%2C 500)%3B%0A%7D%0A%0Afunction addUtils() %7B%0A handleData("elements")%3B%0A addListeners()%0A CheckGame()%3B%0A%7D%0AaddUtils()%3B%0AsetInterval(() %3D> %7B%0A CheckGame()%3B%0A%7D%2C 10000)%3B%0Awindow.alert("made by Jacob huggins.")%3B%7D)()%3B
grandseiken / Static FunctionalHeader-only C++ library providing compile-time functional operators that work with raw function pointers
nihilus / IDASimulatorIDASimulator is a plugin that extends IDA's conditional breakpoint support, making it easy to augment / replace complex executable code inside a debugged process with Python code. Specifically, IDASimulator makes use of conditional breakpoints in the IDA debugger to hijack the execution flow of a process and invoke Python handler functions whenever particular code blocks are executed. With support for multiple target architectures, it handles details such as register initialization, memory allocation, pointers, function arguments and return values seamlessly and transparently, making it easy to replace, modify and subvert existing functionality (or lack thereof) in the target process. IDASimulator also includes the IDASim python module, on which IDASimulator is based. This allows for all of the features of IDASimulator to be integrated into more complex IDAPython scripts. IDASimulator currently supports the x86, x86_64, ARM and MIPS32 architectures. Porting to other architectures is very easy.
webwithaman / C Programming QuestionsThis repository contains a collection of programming questions and solutions in the C programming language. The questions cover various fundamental concepts such as Input/Output, Operators, Decision Control, Loops, Functions, Arrays, Strings, Pointers and more.
gbmhunter / FunctionPointerStateMachineExampleNo description available
hiteshsuthar01 / OK <html lang="en-US"><head><script type="text/javascript" async="" src="https://script.4dex.io/localstore.js"></script> <title>HTML p tag</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="Keywords" content="HTML, Python, CSS, SQL, JavaScript, How to, PHP, Java, C, C++, C#, jQuery, Bootstrap, Colors, W3.CSS, XML, MySQL, Icons, NodeJS, React, Graphics, Angular, R, AI, Git, Data Science, Code Game, Tutorials, Programming, Web Development, Training, Learning, Quiz, Exercises, Courses, Lessons, References, Examples, Learn to code, Source code, Demos, Tips, Website"> <meta name="Description" content="Well organized and easy to understand Web building tutorials with lots of examples of how to use HTML, CSS, JavaScript, SQL, Python, PHP, Bootstrap, Java, XML and more."> <meta property="og:image" content="https://www.w3schools.com/images/w3schools_logo_436_2.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="436"> <meta property="og:image:height" content="228"> <meta property="og:description" content="W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more."> <link rel="icon" href="/favicon.ico" type="image/x-icon"> <link rel="preload" href="/lib/fonts/fontawesome.woff2?14663396" as="font" type="font/woff2" crossorigin=""> <link rel="preload" href="/lib/fonts/source-code-pro-v14-latin-regular.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="preload" href="/lib/fonts/roboto-mono-v13-latin-500.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="preload" href="/lib/fonts/source-sans-pro-v14-latin-700.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="preload" href="/lib/fonts/source-sans-pro-v14-latin-600.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="preload" href="/lib/fonts/freckle-face-v9-latin-regular.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="stylesheet" href="/lib/w3schools30.css"> <script async="" src="//confiant-integrations.global.ssl.fastly.net/prebid/202204201359/wrap.js"></script><script type="text/javascript" src="https://confiant-integrations.global.ssl.fastly.net/t_Qv_vWzcBDsyn934F1E0MWBb1c/prebid/config.js" async=""></script><script type="text/javascript" async="" src="https://www.google-analytics.com/gtm/js?id=GTM-WJ88MZ5&cid=1308236804.1650718121"></script><script async="" src="https://www.google-analytics.com/analytics.js"></script><script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-3855518-1', 'auto'); ga('require', 'displayfeatures'); ga('require', 'GTM-WJ88MZ5'); ga('send', 'pageview'); </script> <script src="/lib/uic.js?v=1.0.3"></script> <script data-cfasync="false" type="text/javascript"> var k42 = false; k42 = true; </script> <script data-cfasync="false" type="text/javascript"> window.snigelPubConf = { "adengine": { "activeAdUnits": ["main_leaderboard", "sidebar_top", "bottom_left", "bottom_right"] } } uic_r_a() </script> <script async="" data-cfasync="false" src="https://cdn.snigelweb.com/adengine/w3schools.com/loader.js" type="text/javascript"></script> <script src="/lib/my-learning.js?v=1.0.9"></script> <script type="text/javascript"> var stickyadstatus = ""; function fix_stickyad() { document.getElementById("stickypos").style.position = "sticky"; var elem = document.getElementById("stickyadcontainer"); if (!elem) {return false;} if (document.getElementById("skyscraper")) { var skyWidth = Number(w3_getStyleValue(document.getElementById("skyscraper"), "width").replace("px", "")); } else { var skyWidth = Number(w3_getStyleValue(document.getElementById("right"), "width").replace("px", "")); } elem.style.width = skyWidth + "px"; if (window.innerWidth <= 992) { elem.style.position = ""; elem.style.top = stickypos + "px"; return false; } var stickypos = document.getElementById("stickypos").offsetTop; var docTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; var adHeight = Number(w3_getStyleValue(elem, "height").replace("px", "")); if (stickyadstatus == "") { if ((stickypos - docTop) < 60) { elem.style.position = "fixed"; elem.style.top = "60px"; stickyadstatus = "sticky"; document.getElementById("stickypos").style.position = "sticky"; } } else { if ((docTop + 60) - stickypos < 0) { elem.style.position = ""; elem.style.top = stickypos + "px"; stickyadstatus = ""; document.getElementById("stickypos").style.position = "static"; } } if (stickyadstatus == "sticky") { if ((docTop + adHeight + 60) > document.getElementById("footer").offsetTop) { elem.style.position = "absolute"; elem.style.top = (document.getElementById("footer").offsetTop - adHeight) + "px"; document.getElementById("stickypos").style.position = "static"; } else { elem.style.position = "fixed"; elem.style.top = "60px"; stickyadstatus = "sticky"; document.getElementById("stickypos").style.position = "sticky"; } } } function w3_getStyleValue(elmnt,style) { if (window.getComputedStyle) { return window.getComputedStyle(elmnt,null).getPropertyValue(style); } else { return elmnt.currentStyle[style]; } } </script> <link rel="stylesheet" type="text/css" href="/browserref.css"> <script type="text/javascript" async="" src="//cdn.snigelweb.com/prebid/5.20.2/prebid.js?v=3547-1650632016452"></script><script type="text/javascript" async="" src="//c.amazon-adsystem.com/aax2/apstag.js"></script><script type="text/javascript" async="" src="//securepubads.g.doubleclick.net/tag/js/gpt.js"></script><script type="text/javascript" async="" src="https://adengine.snigelweb.com/w3schools.com/3547-1650632016452/adngin.js"></script><script type="text/javascript" async="" src="//cdn.snigelweb.com/argus/argus.js"></script><meta http-equiv="origin-trial" content="AxujKG9INjsZ8/gUq8+dTruNvk7RjZQ1oFhhgQbcTJKDnZfbzSTE81wvC2Hzaf3TW4avA76LTZEMdiedF1vIbA4AAABueyJvcmlnaW4iOiJodHRwczovL2ltYXNkay5nb29nbGVhcGlzLmNvbTo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzVGhpcmRQYXJ0eSI6dHJ1ZX0="><meta http-equiv="origin-trial" content="Azuce85ORtSnWe1MZDTv68qpaW3iHyfL9YbLRy0cwcCZwVnePnOmkUJlG8HGikmOwhZU22dElCcfrfX2HhrBPAkAAAB7eyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><meta http-equiv="origin-trial" content="A16nvcdeoOAqrJcmjLRpl1I6f3McDD8EfofAYTt/P/H4/AWwB99nxiPp6kA0fXoiZav908Z8etuL16laFPUdfQsAAACBeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><meta http-equiv="origin-trial" content="AxBHdr0J44vFBQtZUqX9sjiqf5yWZ/OcHRcRMN3H9TH+t90V/j3ENW6C8+igBZFXMJ7G3Pr8Dd13632aLng42wgAAACBeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><meta http-equiv="origin-trial" content="A88BWHFjcawUfKU3lIejLoryXoyjooBXLgWmGh+hNcqMK44cugvsI5YZbNarYvi3roc1fYbHA1AVbhAtuHZflgEAAAB2eyJvcmlnaW4iOiJodHRwczovL2dvb2dsZS5jb206NDQzIiwiZmVhdHVyZSI6IlRydXN0VG9rZW5zIiwiZXhwaXJ5IjoxNjUyNzc0NDAwLCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ=="><meta http-equiv="origin-trial" content="AzoawhTRDevLR66Y6MROu167EDncFPBvcKOaQispTo9ouEt5LvcBjnRFqiAByRT+2cDHG1Yj4dXwpLeIhc98/gIAAACFeyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiUHJpdmFjeVNhbmRib3hBZHNBUElzIiwiZXhwaXJ5IjoxNjYxMjk5MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ=="><meta http-equiv="origin-trial" content="A6+nc62kbJgC46ypOwRsNW6RkDn2x7tgRh0wp7jb3DtFF7oEhu1hhm4rdZHZ6zXvnKZLlYcBlQUImC4d3kKihAcAAACLeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiUHJpdmFjeVNhbmRib3hBZHNBUElzIiwiZXhwaXJ5IjoxNjYxMjk5MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ=="><meta http-equiv="origin-trial" content="A/9La288e7MDEU2ifusFnMg1C2Ij6uoa/Z/ylwJIXSsWfK37oESIPbxbt4IU86OGqDEPnNVruUiMjfKo65H/CQwAAACLeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiUHJpdmFjeVNhbmRib3hBZHNBUElzIiwiZXhwaXJ5IjoxNjYxMjk5MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ=="><script src="https://securepubads.g.doubleclick.net/gpt/pubads_impl_2022042001.js?cb=31067210" async=""></script><argprec0></argprec0><argprec1></argprec1><style type="text/css">.snigel-cmp-framework .sn-inner {background-color:#fffefe!important;}.snigel-cmp-framework .sn-b-def {border-color:#04aa6d!important;color:#04aa6d!important;}.snigel-cmp-framework .sn-b-def.sn-blue {color:#ffffff!important;background-color:#04aa6d!important;border-color:#04aa6d!important;}.snigel-cmp-framework .sn-selector ul li {color:#04aa6d!important;}.snigel-cmp-framework .sn-selector ul li:after {background-color:#04aa6d!important;}.snigel-cmp-framework .sn-footer-tab .sn-privacy a {color:#04aa6d!important;}.snigel-cmp-framework .sn-arrow:after,.snigel-cmp-framework .sn-arrow:before {background-color:#04aa6d!important;}.snigel-cmp-framework .sn-switch input:checked + span::before {background-color:#04aa6d!important;}#adconsent-usp-link {border: 1px solid #04aa6d!important;color:#04aa6d!important;}#adconsent-usp-banner-optout input:checked + .adconsent-usp-slider {background-color:#04aa6d!important;}#adconsent-usp-banner-btn {color:#ffffff;border: solid 1px #04aa6d!important;background-color:#04aa6d!important; }</style><link rel="preload" href="https://adservice.google.co.in/adsid/integrator.js?domain=www.w3schools.com" as="script"><script type="text/javascript" src="https://adservice.google.co.in/adsid/integrator.js?domain=www.w3schools.com"></script><link rel="preload" href="https://adservice.google.com/adsid/integrator.js?domain=www.w3schools.com" as="script"><script type="text/javascript" src="https://adservice.google.com/adsid/integrator.js?domain=www.w3schools.com"></script><meta http-equiv="origin-trial" content="A4/Htern2udN9w3yJK9QgWQxQFruxOXsXL7cW60DyCl0EZFGCSme/J33Q/WzF7bBkVvhEWDlcBiUyZaim5CpFQwAAACceyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiQ29udmVyc2lvbk1lYXN1cmVtZW50IiwiZXhwaXJ5IjoxNjQzMTU1MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlLCJ1c2FnZSI6InN1YnNldCJ9"><meta http-equiv="origin-trial" content="A4/Htern2udN9w3yJK9QgWQxQFruxOXsXL7cW60DyCl0EZFGCSme/J33Q/WzF7bBkVvhEWDlcBiUyZaim5CpFQwAAACceyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiQ29udmVyc2lvbk1lYXN1cmVtZW50IiwiZXhwaXJ5IjoxNjQzMTU1MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlLCJ1c2FnZSI6InN1YnNldCJ9"><meta http-equiv="origin-trial" content="A4/Htern2udN9w3yJK9QgWQxQFruxOXsXL7cW60DyCl0EZFGCSme/J33Q/WzF7bBkVvhEWDlcBiUyZaim5CpFQwAAACceyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiQ29udmVyc2lvbk1lYXN1cmVtZW50IiwiZXhwaXJ5IjoxNjQzMTU1MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlLCJ1c2FnZSI6InN1YnNldCJ9"><meta http-equiv="origin-trial" content="A4/Htern2udN9w3yJK9QgWQxQFruxOXsXL7cW60DyCl0EZFGCSme/J33Q/WzF7bBkVvhEWDlcBiUyZaim5CpFQwAAACceyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiQ29udmVyc2lvbk1lYXN1cmVtZW50IiwiZXhwaXJ5IjoxNjQzMTU1MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlLCJ1c2FnZSI6InN1YnNldCJ9"><link rel="preload" href="https://adservice.google.co.in/adsid/integrator.js?domain=www.w3schools.com" as="script"><script type="text/javascript" src="https://adservice.google.co.in/adsid/integrator.js?domain=www.w3schools.com"></script><link rel="preload" href="https://adservice.google.com/adsid/integrator.js?domain=www.w3schools.com" as="script"><script type="text/javascript" src="https://adservice.google.com/adsid/integrator.js?domain=www.w3schools.com"></script></head> <body> <style> #darkmodemenu { position:absolute; top:-40px; right:16px; padding:5px 20px 10px 18px; border-bottom-left-radius:5px; border-bottom-right-radius:5px; z-index:-1; transition: top 0.2s; user-select: none; } #darkmodemenu input,#darkmodemenu label { cursor:pointer; } </style> <script> ( function setThemeMode() { var x = localStorage.getItem("preferredmode"); var y = localStorage.getItem("preferredpagemode"); if (x == "dark") { document.body.className += " darktheme"; ga('send', 'event', 'theme' , "darkcode"); } if (y == "dark") { document.body.className += " darkpagetheme"; ga('send', 'event', 'theme' , "darkpage"); } })(); </script> <div id="pagetop" class="w3-bar w3-card-2 notranslate"> <a href="https://www.w3schools.com" class="w3-bar-item w3-button w3-hover-none w3-left w3-padding-16" title="Home" style="width:77px"> <i class="fa fa-logo ws-text-green ws-hover-text-green" style="position:relative;font-size:42px!important;"></i> </a> <style> @media screen and (max-width: 1080px) { .ws-hide-1080 { ddddisplay: none !important; } } @media screen and (max-width: 1160px) { .topnavmain_video { display: none !important; } } </style> <a class="w3-bar-item w3-button w3-hide-small barex bar-item-hover w3-padding-24" href="javascript:void(0)" onclick="w3_open_nav('tutorials')" id="navbtn_tutorials" title="Tutorials" style="width:116px">Tutorials <i class="fa fa-caret-down" style="font-size: 20px; display: inline;"></i><i class="fa fa-caret-up" style="display:none"></i></a> <a class="w3-bar-item w3-button w3-hide-small barex bar-item-hover w3-padding-24" href="javascript:void(0)" onclick="w3_open_nav('references')" id="navbtn_references" title="References" style="width:132px">References <i class="fa fa-caret-down" style="font-size: 20px; display: inline;"></i><i class="fa fa-caret-up" style="display:none"></i></a> <a class="w3-bar-item w3-button w3-hide-small barex bar-item-hover w3-padding-24 ws-hide-800" href="javascript:void(0)" onclick="w3_open_nav('exercises')" id="navbtn_exercises" title="Exercises" style="width:118px">Exercises <i class="fa fa-caret-down" style="font-size: 20px; display: inline;"></i><i class="fa fa-caret-up" style="display:none"></i></a> <a class="w3-bar-item w3-button w3-hide-medium bar-item-hover w3-hide-small w3-padding-24 barex topnavmain_video" href="https://www.w3schools.com/videos/index.php" title="Video Tutorials" onclick="ga('send', 'event', 'Videos' , 'fromTopnavMain')">Videos</a> <a class="w3-bar-item w3-button w3-hide-medium bar-item-hover w3-hide-small w3-padding-24 barex" href="/pro/index.php" title="Go Pro" onclick="ga('send', 'event', 'Pro' , 'fromTopnavMainASP')">Pro <span class="ribbon-topnav ws-hide-1080">NEW</span></a> <a class="w3-bar-item w3-button bar-item-hover w3-padding-24" href="javascript:void(0)" onclick="w3_open()" id="navbtn_menu" title="Menu" style="width:93px">Menu <i class="fa fa-caret-down"></i><i class="fa fa-caret-up" style="display:none"></i></a> <div id="loginactioncontainer" class="w3-right w3-padding-16" style="margin-left:50px"> <div id="mypagediv" style="display: none;"></div> <!-- <button id="w3loginbtn" style="border:none;display:none;cursor:pointer" class="login w3-right w3-hover-greener" onclick='w3_open_nav("login")'>LOG IN</button>--> <a id="w3loginbtn" class="w3-bar-item w3-btn bar-item-hover w3-right" style="display: inline; width: 130px; background-color: rgb(4, 170, 109); color: white; border-radius: 25px;" href="https://profile.w3schools.com/log-in?redirect_url=https%3A%2F%2Fmy-learning.w3schools.com" target="_self">Log in</a> </div> <div class="w3-right w3-padding-16"> <!--<a class="w3-bar-item w3-button bar-icon-hover w3-right w3-hover-white w3-hide-large w3-hide-medium" href="javascript:void(0)" onclick="w3_open()" title="Menu"><i class='fa'></i></a> --> <a class="w3-bar-item w3-button bar-item-hover w3-right w3-hide-small barex" style="width: 140px; border-radius: 25px; margin-right: 15px;" href="https://courses.w3schools.com/" target="_blank" id="cert_navbtn" onclick="ga('send', 'event', 'Courses' , 'Clicked on courses in Main top navigation');" title="Courses">Paid Courses</a> <a class="w3-bar-item w3-button bar-item-hover w3-right ws-hide-900 w3-hide-small barex ws-pink" style="border-radius: 25px; margin-right: 15px;" href="https://www.w3schools.com/spaces" target="_blank" onclick="ga('send', 'event', 'spacesFromTopnavMain', 'click');" title="Get Your Own Website With W3Schools Spaces">Website <span class="ribbon-topnav ws-hide-1066">NEW</span></a> </div> </div> <div style="display: none; position: fixed; z-index: 4; right: 52px; height: 44px; background-color: rgb(40, 42, 53); letter-spacing: normal; top: 0px;" id="googleSearch"> <div class="gcse-search"></div> </div> <div style="display: none; position: fixed; z-index: 3; right: 111px; height: 44px; background-color: rgb(40, 42, 53); text-align: right; padding-top: 9px; top: 0px;" id="google_translate_element"></div> <div class="w3-card-2 topnav notranslate" id="topnav" style="position: fixed; top: 0px;"> <div style="overflow:auto;"> <div class="w3-bar w3-left" style="width:100%;overflow:hidden;height:44px"> <a href="javascript:void(0);" class="topnav-icons fa fa-menu w3-hide-large w3-left w3-bar-item w3-button" onclick="open_menu()" title="Menu"></a> <a href="/default.asp" class="topnav-icons fa fa-home w3-left w3-bar-item w3-button" title="Home"></a> <a class="w3-bar-item w3-button" href="/html/default.asp" title="HTML Tutorial" style="padding-left:18px!important;padding-right:18px!important;">HTML</a> <a class="w3-bar-item w3-button" href="/css/default.asp" title="CSS Tutorial">CSS</a> <a class="w3-bar-item w3-button" href="/js/default.asp" title="JavaScript Tutorial">JAVASCRIPT</a> <a class="w3-bar-item w3-button" href="/sql/default.asp" title="SQL Tutorial">SQL</a> <a class="w3-bar-item w3-button" href="/python/default.asp" title="Python Tutorial">PYTHON</a> <a class="w3-bar-item w3-button" href="/php/default.asp" title="PHP Tutorial">PHP</a> <a class="w3-bar-item w3-button" href="/bootstrap/bootstrap_ver.asp" title="Bootstrap Tutorial">BOOTSTRAP</a> <a class="w3-bar-item w3-button" href="/howto/default.asp" title="How To">HOW TO</a> <a class="w3-bar-item w3-button" href="/w3css/default.asp" title="W3.CSS Tutorial">W3.CSS</a> <a class="w3-bar-item w3-button" href="/java/default.asp" title="Java Tutorial">JAVA</a> <a class="w3-bar-item w3-button" href="/jquery/default.asp" title="jQuery Tutorial">JQUERY</a> <a class="w3-bar-item w3-button" href="/c/index.php" title="C Tutorial">C</a> <a class="w3-bar-item w3-button" href="/cpp/default.asp" title="C++ Tutorial">C++</a> <a class="w3-bar-item w3-button" href="/cs/index.php" title="C# Tutorial">C#</a> <a class="w3-bar-item w3-button" href="/r/default.asp" title="R Tutorial">R</a> <a class="w3-bar-item w3-button" href="/react/default.asp" title="React Tutorial">React</a> <a href="javascript:void(0);" class="topnav-icons fa w3-right w3-bar-item w3-button" onclick="gSearch(this)" title="Search W3Schools"></a> <a href="javascript:void(0);" class="topnav-icons fa w3-right w3-bar-item w3-button" onclick="gTra(this)" title="Translate W3Schools"></a> <!-- <a href='javascript:void(0);' class='topnav-icons fa w3-right w3-bar-item w3-button' onclick='changecodetheme(this)' title='Toggle Dark Code Examples'></a>--> <a href="javascript:void(0);" class="topnav-icons fa w3-right w3-bar-item w3-button" onmouseover="mouseoverdarkicon()" onmouseout="mouseoutofdarkicon()" onclick="changepagetheme(2)"></a> <!-- <a class="w3-bar-item w3-button w3-right" id='topnavbtn_exercises' href='javascript:void(0);' onclick='w3_open_nav("exercises")' title='Exercises'>EXERCISES <i class='fa fa-caret-down'></i><i class='fa fa-caret-up' style='display:none'></i></a> --> </div> <div id="darkmodemenu" class="ws-black" onmouseover="mouseoverdarkicon()" onmouseout="mouseoutofdarkicon()" style="top: -40px;"> <input id="radio_darkpage" type="checkbox" name="radio_theme_mode" onclick="click_darkpage()"><label for="radio_darkpage"> Dark mode</label> <br> <input id="radio_darkcode" type="checkbox" name="radio_theme_mode" onclick="click_darkcode()"><label for="radio_darkcode"> Dark code</label> </div> <nav id="nav_tutorials" class="w3-hide-small" style="position: absolute; padding-bottom: 60px; display: none;"> <div class="w3-content" style="max-width:1100px;font-size:18px"> <span onclick="w3_close_nav('tutorials')" class="w3-button w3-xxxlarge w3-display-topright w3-hover-white sectionxsclosenavspan" style="padding-right:30px;padding-left:30px;">×</span><br> <div class="w3-row-padding w3-bar-block"> <div class="w3-container" style="padding-left:13px"> <h2 style="color:#FFF4A3;"><b>Tutorials</b></h2> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">HTML and CSS</h3> <a class="w3-bar-item w3-button" href="/html/default.asp">Learn HTML</a> <a class="w3-bar-item w3-button" href="/css/default.asp">Learn CSS</a> <a class="w3-bar-item w3-button" href="/css/css_rwd_intro.asp" title="Responsive Web Design">Learn RWD</a> <a class="w3-bar-item w3-button" href="/bootstrap/bootstrap_ver.asp">Learn Bootstrap</a> <a class="w3-bar-item w3-button" href="/w3css/default.asp">Learn W3.CSS</a> <a class="w3-bar-item w3-button" href="/colors/default.asp">Learn Colors</a> <a class="w3-bar-item w3-button" href="/icons/default.asp">Learn Icons</a> <a class="w3-bar-item w3-button" href="/graphics/default.asp">Learn Graphics</a> <a class="w3-bar-item w3-button" href="/graphics/svg_intro.asp">Learn SVG</a> <a class="w3-bar-item w3-button" href="/graphics/canvas_intro.asp">Learn Canvas</a> <a class="w3-bar-item w3-button" href="/howto/default.asp">Learn How To</a> <a class="w3-bar-item w3-button" href="/sass/default.php">Learn Sass</a> <div class="w3-hide-large w3-hide-small"> <h3 class="w3-margin-top">Data Analytics</h3> <a class="w3-bar-item w3-button" href="/ai/default.asp">Learn AI</a> <a class="w3-bar-item w3-button" href="/python/python_ml_getting_started.asp">Learn Machine Learning</a> <a class="w3-bar-item w3-button" href="/datascience/default.asp">Learn Data Science</a> <a class="w3-bar-item w3-button" href="/python/numpy/default.asp">Learn NumPy</a> <a class="w3-bar-item w3-button" href="/python/pandas/default.asp">Learn Pandas</a> <a class="w3-bar-item w3-button" href="/python/scipy/index.php">Learn SciPy</a> <a class="w3-bar-item w3-button" href="/python/matplotlib_intro.asp">Learn Matplotlib</a> <a class="w3-bar-item w3-button" href="/statistics/index.php">Learn Statistics</a> <a class="w3-bar-item w3-button" href="/excel/index.php">Learn Excel</a> <h3 class="w3-margin-top">XML Tutorials</h3> <a class="w3-bar-item w3-button" href="/xml/default.asp">Learn XML</a> <a class="w3-bar-item w3-button" href="/xml/ajax_intro.asp">Learn XML AJAX</a> <a class="w3-bar-item w3-button" href="/xml/dom_intro.asp">Learn XML DOM</a> <a class="w3-bar-item w3-button" href="/xml/xml_dtd_intro.asp">Learn XML DTD</a> <a class="w3-bar-item w3-button" href="/xml/schema_intro.asp">Learn XML Schema</a> <a class="w3-bar-item w3-button" href="/xml/xsl_intro.asp">Learn XSLT</a> <a class="w3-bar-item w3-button" href="/xml/xpath_intro.asp">Learn XPath</a> <a class="w3-bar-item w3-button" href="/xml/xquery_intro.asp">Learn XQuery</a> </div> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">JavaScript</h3> <a class="w3-bar-item w3-button" href="/js/default.asp">Learn JavaScript</a> <a class="w3-bar-item w3-button" href="/jquery/default.asp">Learn jQuery</a> <a class="w3-bar-item w3-button" href="/react/default.asp">Learn React</a> <a class="w3-bar-item w3-button" href="/angular/default.asp">Learn AngularJS</a> <a class="w3-bar-item w3-button" href="/js/js_json_intro.asp">Learn JSON</a> <a class="w3-bar-item w3-button" href="/js/js_ajax_intro.asp">Learn AJAX</a> <a class="w3-bar-item w3-button" href="/appml/default.asp">Learn AppML</a> <a class="w3-bar-item w3-button" href="/w3js/default.asp">Learn W3.JS</a> <h3 class="w3-margin-top">Programming</h3> <a class="w3-bar-item w3-button" href="/python/default.asp">Learn Python</a> <a class="w3-bar-item w3-button" href="/java/default.asp">Learn Java</a> <a class="w3-bar-item w3-button" href="/c/index.php">Learn C</a> <a class="w3-bar-item w3-button" href="/cpp/default.asp">Learn C++</a> <a class="w3-bar-item w3-button" href="/cs/index.php">Learn C#</a> <a class="w3-bar-item w3-button" href="/r/default.asp">Learn R</a> <a class="w3-bar-item w3-button" href="/kotlin/index.php">Learn Kotlin</a> <a class="w3-bar-item w3-button" href="/go/index.php">Learn Go</a> <a class="w3-bar-item w3-button" href="/django/index.php">Learn Django</a> <a class="w3-bar-item w3-button" href="/typescript/index.php">Learn TypeScript</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">Server Side</h3> <a class="w3-bar-item w3-button" href="/sql/default.asp">Learn SQL</a> <a class="w3-bar-item w3-button" href="/mysql/default.asp">Learn MySQL</a> <a class="w3-bar-item w3-button" href="/php/default.asp">Learn PHP</a> <a class="w3-bar-item w3-button" href="/asp/default.asp">Learn ASP</a> <a class="w3-bar-item w3-button" href="/nodejs/default.asp">Learn Node.js</a> <a class="w3-bar-item w3-button" href="/nodejs/nodejs_raspberrypi.asp">Learn Raspberry Pi</a> <a class="w3-bar-item w3-button" href="/git/default.asp">Learn Git</a> <a class="w3-bar-item w3-button" href="/aws/index.php">Learn AWS Cloud</a> <h3 class="w3-margin-top">Web Building</h3> <a class="w3-bar-item w3-button" href="https://www.w3schools.com/spaces" target="_blank" onclick="ga('send', 'event', 'spacesFromTutorialsAcc', 'click');" title="Get Your Own Website With W3schools Spaces">Create a Website <span class="ribbon-topnav ws-yellow">NEW</span></a> <a class="w3-bar-item w3-button" href="/where_to_start.asp">Where To Start</a> <a class="w3-bar-item w3-button" href="/w3css/w3css_templates.asp">Web Templates</a> <a class="w3-bar-item w3-button" href="/browsers/default.asp">Web Statistics</a> <a class="w3-bar-item w3-button" href="/cert/default.asp">Web Certificates</a> <a class="w3-bar-item w3-button" href="/whatis/default.asp">Web Development</a> <a class="w3-bar-item w3-button" href="/tryit/default.asp">Code Editor</a> <a class="w3-bar-item w3-button" href="/typingspeed/default.asp">Test Your Typing Speed</a> <a class="w3-bar-item w3-button" href="/codegame/index.html" target="_blank">Play a Code Game</a> <a class="w3-bar-item w3-button" href="/cybersecurity/index.php">Cyber Security</a> <a class="w3-bar-item w3-button" href="/accessibility/index.php">Accessibility</a> </div> <div class="w3-col l3 m6 w3-hide-medium"> <h3 class="w3-margin-top">Data Analytics</h3> <a class="w3-bar-item w3-button" href="/ai/default.asp">Learn AI</a> <a class="w3-bar-item w3-button" href="/python/python_ml_getting_started.asp">Learn Machine Learning</a> <a class="w3-bar-item w3-button" href="/datascience/default.asp">Learn Data Science</a> <a class="w3-bar-item w3-button" href="/python/numpy/default.asp">Learn NumPy</a> <a class="w3-bar-item w3-button" href="/python/pandas/default.asp">Learn Pandas</a> <a class="w3-bar-item w3-button" href="/python/scipy/index.php">Learn SciPy</a> <a class="w3-bar-item w3-button" href="/python/matplotlib_intro.asp">Learn Matplotlib</a> <a class="w3-bar-item w3-button" href="/statistics/index.php">Learn Statistics</a> <a class="w3-bar-item w3-button" href="/excel/index.php">Learn Excel</a> <a class="w3-bar-item w3-button" href="/googlesheets/index.php">Learn Google Sheets</a> <h3 class="w3-margin-top">XML Tutorials</h3> <a class="w3-bar-item w3-button" href="/xml/default.asp">Learn XML</a> <a class="w3-bar-item w3-button" href="/xml/ajax_intro.asp">Learn XML AJAX</a> <a class="w3-bar-item w3-button" href="/xml/dom_intro.asp">Learn XML DOM</a> <a class="w3-bar-item w3-button" href="/xml/xml_dtd_intro.asp">Learn XML DTD</a> <a class="w3-bar-item w3-button" href="/xml/schema_intro.asp">Learn XML Schema</a> <a class="w3-bar-item w3-button" href="/xml/xsl_intro.asp">Learn XSLT</a> <a class="w3-bar-item w3-button" href="/xml/xpath_intro.asp">Learn XPath</a> <a class="w3-bar-item w3-button" href="/xml/xquery_intro.asp">Learn XQuery</a> </div> </div> </div> <br class="hidesm"> </nav> <nav id="nav_references" class="w3-hide-small" style="position: absolute; padding-bottom: 60px; display: none;"> <div class="w3-content" style="max-width:1100px;font-size:18px"> <span onclick="w3_close_nav('references')" class="w3-button w3-xxxlarge w3-display-topright w3-hover-white sectionxsclosenavspan" style="padding-right:30px;padding-left:30px;">×</span><br> <div class="w3-row-padding w3-bar-block"> <div class="w3-container" style="padding-left:13px"> <h2 style="color:#FFF4A3;"><b>References</b></h2> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">HTML</h3> <a class="w3-bar-item w3-button" href="/tags/default.asp">HTML Tag Reference</a> <a class="w3-bar-item w3-button" href="/tags/ref_html_browsersupport.asp">HTML Browser Support</a> <a class="w3-bar-item w3-button" href="/tags/ref_eventattributes.asp">HTML Event Reference</a> <a class="w3-bar-item w3-button" href="/colors/default.asp">HTML Color Reference</a> <a class="w3-bar-item w3-button" href="/tags/ref_attributes.asp">HTML Attribute Reference</a> <a class="w3-bar-item w3-button" href="/tags/ref_canvas.asp">HTML Canvas Reference</a> <a class="w3-bar-item w3-button" href="/graphics/svg_reference.asp">HTML SVG Reference</a> <a class="w3-bar-item w3-button" href="/graphics/google_maps_reference.asp">Google Maps Reference</a> <h3 class="w3-margin-top">CSS</h3> <a class="w3-bar-item w3-button" href="/cssref/default.asp">CSS Reference</a> <a class="w3-bar-item w3-button" href="/cssref/css3_browsersupport.asp">CSS Browser Support</a> <a class="w3-bar-item w3-button" href="/cssref/css_selectors.asp">CSS Selector Reference</a> <a class="w3-bar-item w3-button" href="/bootstrap/bootstrap_ref_all_classes.asp">Bootstrap 3 Reference</a> <a class="w3-bar-item w3-button" href="/bootstrap4/bootstrap_ref_all_classes.asp">Bootstrap 4 Reference</a> <a class="w3-bar-item w3-button" href="/w3css/w3css_references.asp">W3.CSS Reference</a> <a class="w3-bar-item w3-button" href="/icons/icons_reference.asp">Icon Reference</a> <a class="w3-bar-item w3-button" href="/sass/sass_functions_string.php">Sass Reference</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">JavaScript</h3> <a class="w3-bar-item w3-button" href="/jsref/default.asp">JavaScript Reference</a> <a class="w3-bar-item w3-button" href="/jsref/default.asp">HTML DOM Reference</a> <a class="w3-bar-item w3-button" href="/jquery/jquery_ref_overview.asp">jQuery Reference</a> <a class="w3-bar-item w3-button" href="/angular/angular_ref_directives.asp">AngularJS Reference</a> <a class="w3-bar-item w3-button" href="/appml/appml_reference.asp">AppML Reference</a> <a class="w3-bar-item w3-button" href="/w3js/w3js_references.asp">W3.JS Reference</a> <h3 class="w3-margin-top">Programming</h3> <a class="w3-bar-item w3-button" href="/python/python_reference.asp">Python Reference</a> <a class="w3-bar-item w3-button" href="/java/java_ref_keywords.asp">Java Reference</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">Server Side</h3> <a class="w3-bar-item w3-button" href="/sql/sql_ref_keywords.asp">SQL Reference</a> <a class="w3-bar-item w3-button" href="/mysql/mysql_ref_functions.asp">MySQL Reference</a> <a class="w3-bar-item w3-button" href="/php/php_ref_overview.asp">PHP Reference</a> <a class="w3-bar-item w3-button" href="/asp/asp_ref_response.asp">ASP Reference</a> <h3 class="w3-margin-top">XML</h3> <a class="w3-bar-item w3-button" href="/xml/dom_nodetype.asp">XML DOM Reference</a> <a class="w3-bar-item w3-button" href="/xml/dom_http.asp">XML Http Reference</a> <a class="w3-bar-item w3-button" href="/xml/xsl_elementref.asp">XSLT Reference</a> <a class="w3-bar-item w3-button" href="/xml/schema_elements_ref.asp">XML Schema Reference</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">Character Sets</h3> <a class="w3-bar-item w3-button" href="/charsets/default.asp">HTML Character Sets</a> <a class="w3-bar-item w3-button" href="/charsets/ref_html_ascii.asp">HTML ASCII</a> <a class="w3-bar-item w3-button" href="/charsets/ref_html_ansi.asp">HTML ANSI</a> <a class="w3-bar-item w3-button" href="/charsets/ref_html_ansi.asp">HTML Windows-1252</a> <a class="w3-bar-item w3-button" href="/charsets/ref_html_8859.asp">HTML ISO-8859-1</a> <a class="w3-bar-item w3-button" href="/charsets/ref_html_symbols.asp">HTML Symbols</a> <a class="w3-bar-item w3-button" href="/charsets/ref_html_utf8.asp">HTML UTF-8</a> </div> </div> <br class="hidesm"> </div> </nav> <nav id="nav_exercises" class="w3-hide-small" style="position: absolute; padding-bottom: 60px; display: none;"> <div class="w3-content" style="max-width:1100px;font-size:18px"> <span onclick="w3_close_nav('exercises')" class="w3-button w3-xxxlarge w3-display-topright w3-hover-white sectionxsclosenavspan" style="padding-right:30px;padding-left:30px;">×</span><br> <div class="w3-row-padding w3-bar-block"> <div class="w3-container" style="padding-left:13px"> <h2 style="color:#FFF4A3;"><b>Exercises and Quizzes</b></h2> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top"><a class="ws-btn ws-yellow w3-hover-text-white" style="width:155px;font-size:21px" href="/exercises/index.php">Exercises</a></h3> <a class="w3-bar-item w3-button" href="/html/html_exercises.asp">HTML Exercises</a> <a class="w3-bar-item w3-button" href="/css/css_exercises.asp">CSS Exercises</a> <a class="w3-bar-item w3-button" href="/js/js_exercises.asp">JavaScript Exercises</a> <a class="w3-bar-item w3-button" href="/sql/sql_exercises.asp">SQL Exercises</a> <a class="w3-bar-item w3-button" href="/mysql/mysql_exercises.asp">MySQL Exercises</a> <a class="w3-bar-item w3-button" href="/php/php_exercises.asp">PHP Exercises</a> <a class="w3-bar-item w3-button" href="/python/python_exercises.asp">Python Exercises</a> <a class="w3-bar-item w3-button" href="/python/numpy/numpy_exercises.asp">NumPy Exercises</a> <a class="w3-bar-item w3-button" href="/python/pandas/pandas_exercises.asp">Pandas Exercises</a> <a class="w3-bar-item w3-button" href="/python/scipy/scipy_exercises.php">SciPy Exercises</a> <a class="w3-bar-item w3-button" href="/jquery/jquery_exercises.asp">jQuery Exercises</a> <a class="w3-bar-item w3-button" href="/java/java_exercises.asp">Java Exercises</a> <a class="w3-bar-item w3-button" href="/cpp/cpp_exercises.asp">C++ Exercises</a> <a class="w3-bar-item w3-button" href="/cs/cs_exercises.asp">C# Exercises</a> <a class="w3-bar-item w3-button" href="/r/r_exercises.asp">R Exercises</a> <a class="w3-bar-item w3-button" href="/kotlin/kotlin_exercises.php">Kotlin Exercises</a> <a class="w3-bar-item w3-button" href="/go/go_exercises.php">Go Exercises</a> <a class="w3-bar-item w3-button" href="/bootstrap/bootstrap_exercises.asp">Bootstrap Exercises</a> <a class="w3-bar-item w3-button" href="/bootstrap4/bootstrap_exercises.asp">Bootstrap 4 Exercises</a> <a class="w3-bar-item w3-button" href="/bootstrap5/bootstrap_exercises.php">Bootstrap 5 Exercises</a> <a class="w3-bar-item w3-button" href="/git/git_exercises.asp">Git Exercises</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top"><a class="ws-btn ws-yellow w3-hover-text-white" style="width:135px;font-size:21px" href="/quiztest/default.asp">Quizzes</a></h3> <a class="w3-bar-item w3-button" href="/html/html_quiz.asp" target="_top">HTML Quiz</a> <a class="w3-bar-item w3-button" href="/css/css_quiz.asp" target="_top">CSS Quiz</a> <a class="w3-bar-item w3-button" href="/js/js_quiz.asp" target="_top">JavaScript Quiz</a> <a class="w3-bar-item w3-button" href="/sql/sql_quiz.asp" target="_top">SQL Quiz</a> <a class="w3-bar-item w3-button" href="/mysql/mysql_quiz.asp" target="_top">MySQL Quiz</a> <a class="w3-bar-item w3-button" href="/php/php_quiz.asp" target="_top">PHP Quiz</a> <a class="w3-bar-item w3-button" href="/python/python_quiz.asp" target="_top">Python Quiz</a> <a class="w3-bar-item w3-button" href="/python/numpy/numpy_quiz.asp" target="_top">NumPy Quiz</a> <a class="w3-bar-item w3-button" href="/python/pandas/pandas_quiz.asp" target="_top">Pandas Quiz</a> <a class="w3-bar-item w3-button" href="/python/scipy/scipy_quiz.php" target="_top">SciPy Quiz</a> <a class="w3-bar-item w3-button" href="/jquery/jquery_quiz.asp" target="_top">jQuery Quiz</a> <a class="w3-bar-item w3-button" href="/java/java_quiz.asp" target="_top">Java Quiz</a> <a class="w3-bar-item w3-button" href="/cpp/cpp_quiz.asp" target="_top">C++ Quiz</a> <a class="w3-bar-item w3-button" href="/cs/cs_quiz.asp" target="_top">C# Quiz</a> <a class="w3-bar-item w3-button" href="/r/r_quiz.asp" target="_top">R Quiz</a> <a class="w3-bar-item w3-button" href="/kotlin/kotlin_quiz.php" target="_top">Kotlin Quiz</a> <a class="w3-bar-item w3-button" href="/xml/xml_quiz.asp" target="_top">XML Quiz</a> <a class="w3-bar-item w3-button" href="/bootstrap/bootstrap_quiz.asp" target="_top">Bootstrap Quiz</a> <a class="w3-bar-item w3-button" href="/bootstrap4/bootstrap_quiz.asp" target="_top">Bootstrap 4 Quiz</a> <a class="w3-bar-item w3-button" href="/bootstrap5/bootstrap_quiz.php" target="_top">Bootstrap 5 Quiz</a> <a class="w3-bar-item w3-button" href="/cybersecurity/cybersecurity_quiz.php">Cyber Security Quiz</a> <a class="w3-bar-item w3-button" href="/accessibility/accessibility_quiz.php">Accessibility Quiz</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top"><a class="ws-btn ws-yellow w3-hover-text-white" style="width:135px;font-size:21px" href="https://courses.w3schools.com/" target="_blank">Courses</a></h3> <!-- cert <a class="w3-bar-item w3-button" href="/cert/cert_html_new.asp" target="_top">HTML Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_css.asp" target="_top">CSS Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_javascript.asp" target="_top">JavaScript Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_sql.asp" target="_top">SQL Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_php.asp" target="_top">PHP Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_python.asp" target="_top">Python Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_bootstrap.asp" target="_top">Bootstrap Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_jquery.asp" target="_top">jQuery Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_xml.asp" target="_top">XML Certificate</a> --> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/html" target="_blank">HTML Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/css" target="_blank">CSS Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/javascript" target="_blank">JavaScript Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/programs/front-end" target="_blank">Front End Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/sql" target="_blank">SQL Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/php" target="_blank">PHP Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/python" target="_blank">Python Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/numpy-fundamentals" target="_blank">NumPy Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/pandas-fundamentals" target="_blank">Pandas Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/programs/data-analytics" target="_blank">Data Analytics Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/jquery" target="_blank">jQuery Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/java" target="_blank">Java Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/cplusplus" target="_blank">C++ Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/c-sharp" target="_blank">C# Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/r-fundamentals" target="_blank">R Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/xml" target="_blank">XML Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/introduction-to-cyber-security" target="_blank">Cyber Security Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/accessibility-fundamentals" target="_blank">Accessibility Course</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top"><a class="ws-btn ws-yellow w3-hover-text-white" style="width:150px;font-size:21px" href="https://courses.w3schools.com/browse/certifications" target="_blank">Certificates</a></h3> <!-- cert <a class="w3-bar-item w3-button" href="/cert/cert_html_new.asp" target="_top">HTML Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_css.asp" target="_top">CSS Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_javascript.asp" target="_top">JavaScript Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_sql.asp" target="_top">SQL Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_php.asp" target="_top">PHP Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_python.asp" target="_top">Python Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_bootstrap.asp" target="_top">Bootstrap Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_jquery.asp" target="_top">jQuery Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_xml.asp" target="_top">XML Certificate</a> --> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/html-certification-exam" target="_blank">HTML Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/css-certification-exam" target="_blank">CSS Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/javascript-certification-exam" target="_blank">JavaScript Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/front-end-certification-exam" target="_blank">Front End Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/sql-certification-exam" target="_blank">SQL Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/php-certification-exam" target="_blank">PHP Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/python-certificaftion-exam" target="_blank">Python Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/data-science-certification-exam" target="_blank">Data Science Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/bootstrap-3-certification-exam" target="_blank">Bootstrap 3 Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/bootstrap-4-certification-exam" target="_blank">Bootstrap 4 Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/jquery-certification-exam" target="_blank">jQuery Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/java-certification-exam" target="_blank">Java Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/c-certification-exam" target="_blank">C++ Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/react-certification-exam" target="_blank">React Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/xml-certification-exam" target="_blank">XML Certificate</a> </div> </div> <br class="hidesm"> </div> </nav> </div> </div> <div id="myAccordion" class="w3-card-2 w3-center w3-hide-large w3-hide-medium ws-grey" style="width: 100%; position: absolute; display: none; padding-top: 44px;"> <a href="javascript:void(0)" onclick="w3_close()" class="w3-button w3-xxlarge w3-right">×</a><br> <div class="w3-container w3-padding-32"> <a class="w3-button w3-block" style="font-size:22px;" onclick="open_xs_menu('tutorials');" href="javascript:void(0);">Tutorials <i class="fa fa-caret-down"></i></a> <div id="sectionxs_tutorials" class="w3-left-align w3-show" style="background-color:#282A35;color:white;"></div> <a class="w3-button w3-block" style="font-size:22px;" onclick="open_xs_menu('references')" href="javascript:void(0);">References <i class="fa fa-caret-down"></i></a> <div id="sectionxs_references" class="w3-left-align w3-show" style="background-color:#282A35;color:white;"></div> <a class="w3-button w3-block" style="font-size:22px;" onclick="open_xs_menu('exercises')" href="javascript:void(0);">Exercises <i class="fa fa-caret-down"></i></a> <div id="sectionxs_exercises" class="w3-left-align w3-show" style="background-color:#282A35;color:white;"></div> <a class="w3-button w3-block" style="font-size:22px;" href="/cert/default.asp" target="_blank">Paid Courses</a> <a class="w3-button w3-block" style="font-size:22px;" href="https://www.w3schools.com/spaces" target="_blank" onclick="ga('send', 'event', 'spacesFromTutorialsAcc', 'click');" title="Get Your Own Website With W3schools Spaces">Spaces</a> <a class="w3-button w3-block" style="font-size:22px;" target="_blank" href="https://www.w3schools.com/videos/index.php" onclick="ga('send', 'event', 'Videos' , 'fromTopnavMain')" title="Video Tutorials">Videos</a> <a class="w3-button w3-block" style="font-size:22px;" href="https://shop.w3schools.com" target="_blank">Shop</a> <a class="w3-button w3-block" style="font-size:22px;" href="/pro/index.php">Pro</a> </div> </div> <script> ( function setThemeCheckboxes() { var x = localStorage.getItem("preferredmode"); var y = localStorage.getItem("preferredpagemode"); if (x == "dark") { document.getElementById("radio_darkcode").checked = true; } if (y == "dark") { document.getElementById("radio_darkpage").checked = true; } })(); function mouseoverdarkicon() { if(window.matchMedia("(pointer: coarse)").matches) { return false; } var a = document.getElementById("darkmodemenu"); a.style.top = "44px"; } function mouseoutofdarkicon() { var a = document.getElementById("darkmodemenu"); a.style.top = "-40px"; } function changepagetheme(n) { var a = document.getElementById("radio_darkcode"); var b = document.getElementById("radio_darkpage"); document.body.className = document.body.className.replace("darktheme", ""); document.body.className = document.body.className.replace("darkpagetheme", ""); document.body.className = document.body.className.replace(" ", " "); if (a.checked && b.checked) { localStorage.setItem("preferredmode", "light"); localStorage.setItem("preferredpagemode", "light"); a.checked = false; b.checked = false; } else { document.body.className += " darktheme"; document.body.className += " darkpagetheme"; localStorage.setItem("preferredmode", "dark"); localStorage.setItem("preferredpagemode", "dark"); a.checked = true; b.checked = true; } } function click_darkpage() { var b = document.getElementById("radio_darkpage"); if (b.checked) { document.body.className += " darkpagetheme"; document.body.className = document.body.className.replace(" ", " "); localStorage.setItem("preferredpagemode", "dark"); } else { document.body.className = document.body.className.replace("darkpagetheme", ""); document.body.className = document.body.className.replace(" ", " "); localStorage.setItem("preferredpagemode", "light"); } } function click_darkcode() { var a = document.getElementById("radio_darkcode"); if (a.checked) { document.body.className += " darktheme"; document.body.className = document.body.className.replace(" ", " "); localStorage.setItem("preferredmode", "dark"); } else { document.body.className = document.body.className.replace("darktheme", ""); document.body.className = document.body.className.replace(" ", " "); localStorage.setItem("preferredmode", "light"); } } </script> <div class="w3-sidebar w3-collapse" id="sidenav" style="top: 44px; display: none;"> <div id="leftmenuinner" style="padding-top: 44px;"> <div id="leftmenuinnerinner"> <!-- <a href='javascript:void(0)' onclick='close_menu()' class='w3-button w3-hide-large w3-large w3-display-topright' style='right:16px;padding:3px 12px;font-weight:bold;'>×</a>--> <h2 class="left"><span class="left_h2">HTML</span> Reference</h2> <a target="_top" href="default.asp">HTML by Alphabet</a> <a target="_top" href="ref_byfunc.asp">HTML by Category</a> <a target="_top" href="ref_html_browsersupport.asp">HTML Browser Support</a> <a target="_top" href="ref_attributes.asp">HTML Attributes</a> <a target="_top" href="ref_standardattributes.asp">HTML Global Attributes</a> <a target="_top" href="ref_eventattributes.asp">HTML Events</a> <a target="_top" href="ref_colornames.asp">HTML Colors</a> <a target="_top" href="ref_canvas.asp">HTML Canvas</a> <a target="_top" href="ref_av_dom.asp">HTML Audio/Video</a> <a target="_top" href="ref_charactersets.asp">HTML Character Sets</a> <a target="_top" href="ref_html_dtd.asp">HTML Doctypes</a> <a target="_top" href="ref_urlencode.asp">HTML URL Encode</a> <a target="_top" href="ref_language_codes.asp">HTML Language Codes</a> <a target="_top" href="ref_country_codes.asp">HTML Country Codes</a> <a target="_top" href="ref_httpmessages.asp">HTTP Messages</a> <a target="_top" href="ref_httpmethods.asp">HTTP Methods</a> <a target="_top" href="ref_pxtoemconversion.asp">PX to EM Converter</a> <a target="_top" href="ref_keyboardshortcuts.asp">Keyboard Shortcuts</a> <br> <div class="notranslate"> <h2 class="left"><span class="left_h2">HTML</span> Tags</h2> <a target="_top" href="tag_comment.asp"><!--></a> <a target="_top" href="tag_doctype.asp"><!DOCTYPE></a> <a target="_top" href="tag_a.asp"><a></a> <a target="_top" href="tag_abbr.asp"><abbr></a> <a target="_top" href="tag_acronym.asp"><acronym></a> <a target="_top" href="tag_address.asp"><address></a> <a target="_top" href="tag_applet.asp"><applet></a> <a target="_top" href="tag_area.asp"><area></a> <a target="_top" href="tag_article.asp"><article></a> <a target="_top" href="tag_aside.asp"><aside></a> <a target="_top" href="tag_audio.asp"><audio></a> <a target="_top" href="tag_b.asp"><b></a> <a target="_top" href="tag_base.asp"><base></a> <a target="_top" href="tag_basefont.asp"><basefont></a> <a target="_top" href="tag_bdi.asp"><bdi></a> <a target="_top" href="tag_bdo.asp"><bdo></a> <a target="_top" href="tag_big.asp"><big></a> <a target="_top" href="tag_blockquote.asp"><blockquote></a> <a target="_top" href="tag_body.asp"><body></a> <a target="_top" href="tag_br.asp"><br></a> <a target="_top" href="tag_button.asp"><button></a> <a target="_top" href="tag_canvas.asp"><canvas></a> <a target="_top" href="tag_caption.asp"><caption></a> <a target="_top" href="tag_center.asp"><center></a> <a target="_top" href="tag_cite.asp"><cite></a> <a target="_top" href="tag_code.asp"><code></a> <a target="_top" href="tag_col.asp"><col></a> <a target="_top" href="tag_colgroup.asp"><colgroup></a> <a target="_top" href="tag_data.asp"><data></a> <a target="_top" href="tag_datalist.asp"><datalist></a> <a target="_top" href="tag_dd.asp"><dd></a> <a target="_top" href="tag_del.asp"><del></a> <a target="_top" href="tag_details.asp"><details></a> <a target="_top" href="tag_dfn.asp"><dfn></a> <a target="_top" href="tag_dialog.asp"><dialog></a> <a target="_top" href="tag_dir.asp"><dir></a> <a target="_top" href="tag_div.asp"><div></a> <a target="_top" href="tag_dl.asp"><dl></a> <a target="_top" href="tag_dt.asp"><dt></a> <a target="_top" href="tag_em.asp"><em></a> <a target="_top" href="tag_embed.asp"><embed></a> <a target="_top" href="tag_fieldset.asp"><fieldset></a> <a target="_top" href="tag_figcaption.asp"><figcaption></a> <a target="_top" href="tag_figure.asp"><figure></a> <a target="_top" href="tag_font.asp"><font></a> <a target="_top" href="tag_footer.asp"><footer></a> <a target="_top" href="tag_form.asp"><form></a> <a target="_top" href="tag_frame.asp"><frame></a> <a target="_top" href="tag_frameset.asp"><frameset></a> <a target="_top" href="tag_hn.asp"><h1> - <h6></a> <a target="_top" href="tag_head.asp"><head></a> <a target="_top" href="tag_header.asp"><header></a> <a target="_top" href="tag_hr.asp"><hr></a> <a target="_top" href="tag_html.asp"><html></a> <a target="_top" href="tag_i.asp"><i></a> <a target="_top" href="tag_iframe.asp"><iframe></a> <a target="_top" href="tag_img.asp"><img></a> <a target="_top" href="tag_input.asp"><input></a> <a target="_top" href="tag_ins.asp"><ins></a> <a target="_top" href="tag_kbd.asp"><kbd></a> <a target="_top" href="tag_label.asp"><label></a> <a target="_top" href="tag_legend.asp"><legend></a> <a target="_top" href="tag_li.asp"><li></a> <a target="_top" href="tag_link.asp"><link></a> <a target="_top" href="tag_main.asp"><main></a> <a target="_top" href="tag_map.asp"><map></a> <a target="_top" href="tag_mark.asp"><mark></a> <a target="_top" href="tag_meta.asp"><meta></a> <a target="_top" href="tag_meter.asp"><meter></a> <a target="_top" href="tag_nav.asp"><nav></a> <a target="_top" href="tag_noframes.asp"><noframes></a> <a target="_top" href="tag_noscript.asp"><noscript></a> <a target="_top" href="tag_object.asp"><object></a> <a target="_top" href="tag_ol.asp"><ol></a> <a target="_top" href="tag_optgroup.asp"><optgroup></a> <a target="_top" href="tag_option.asp"><option></a> <a target="_top" href="tag_output.asp"><output></a> <a target="_top" href="tag_p.asp" class="active"><p></a> <a target="_top" href="tag_param.asp"><param></a> <a target="_top" href="tag_picture.asp"><picture></a> <a target="_top" href="tag_pre.asp"><pre></a> <a target="_top" href="tag_progress.asp"><progress></a> <a target="_top" href="tag_q.asp"><q></a> <a target="_top" href="tag_rp.asp"><rp></a> <a target="_top" href="tag_rt.asp"><rt></a> <a target="_top" href="tag_ruby.asp"><ruby></a> <a target="_top" href="tag_s.asp"><s></a> <a target="_top" href="tag_samp.asp"><samp></a> <a target="_top" href="tag_script.asp"><script></a> <a target="_top" href="tag_section.asp"><section></a> <a target="_top" href="tag_select.asp"><select></a> <a target="_top" href="tag_small.asp"><small></a> <a target="_top" href="tag_source.asp"><source></a> <a target="_top" href="tag_span.asp"><span></a> <a target="_top" href="tag_strike.asp"><strike></a> <a target="_top" href="tag_strong.asp"><strong></a> <a target="_top" href="tag_style.asp"><style></a> <a target="_top" href="tag_sub.asp"><sub></a> <a target="_top" href="tag_summary.asp"><summary></a> <a target="_top" href="tag_sup.asp"><sup></a> <a target="_top" href="tag_svg.asp"><svg></a> <a target="_top" href="tag_table.asp"><table></a> <a target="_top" href="tag_tbody.asp"><tbody></a> <a target="_top" href="tag_td.asp"><td></a> <a target="_top" href="tag_template.asp"><template></a> <a target="_top" href="tag_textarea.asp"><textarea></a> <a target="_top" href="tag_tfoot.asp"><tfoot></a> <a target="_top" href="tag_th.asp"><th></a> <a target="_top" href="tag_thead.asp"><thead></a> <a target="_top" href="tag_time.asp"><time></a> <a target="_top" href="tag_title.asp"><title></a> <a target="_top" href="tag_tr.asp"><tr></a> <a target="_top" href="tag_track.asp"><track></a> <a target="_top" href="tag_tt.asp"><tt></a> <a target="_top" href="tag_u.asp"><u></a> <a target="_top" href="tag_ul.asp"><ul></a> <a target="_top" href="tag_var.asp"><var></a> <a target="_top" href="tag_video.asp"><video></a> <a target="_top" href="tag_wbr.asp"><wbr></a> </div> <br><br> </div> </div> </div> <div class="w3-main w3-light-grey" id="belowtopnav" style="margin-left: 220px; padding-top: 44px;"> <div class="w3-row w3-white"> <div class="w3-col l10 m12" id="main"> <div id="mainLeaderboard" style="overflow:hidden;"> <!-- MainLeaderboard--> <!--<pre>main_leaderboard, all: [728,90][970,90][320,50][468,60]</pre>--> <div id="adngin-main_leaderboard-0" data-google-query-id="CJPA_sueqvcCFXiOSwUd2fYBLg"><div id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//main_leaderboard_1__container__" style="border: 0pt none;"><iframe id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//main_leaderboard_1" name="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//main_leaderboard_1" title="3rd party ad content" width="728" height="90" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" role="region" aria-label="Advertisement" tabindex="0" srcdoc="" data-google-container-id="7" style="border: 0px; vertical-align: bottom;" data-load-complete="true"><div style="position: absolute; width: 0px; height: 0px; border: 0px; padding: 0px; margin: 0px; overflow: hidden;"><button></button><a href="https://yahoo.com"></a><input></div></iframe></div></div> <!-- adspace leaderboard --> </div> <h1>HTML <span class="color_h1"><p></span> Tag</h1> <div class="w3-clear w3-center nextprev"> <a class="w3-left w3-btn" href="tag_output.asp">❮<span class="w3-hide-small"> Previous</span></a> <a class="w3-btn" href="default.asp"><span class="w3-hide-small">Complete HTML </span>Reference</a> <a class="w3-right w3-btn" href="tag_param.asp"><span class="w3-hide-small">Next </span>❯</a> </div> <br> <div class="w3-example"> <h3>Example</h3> <p>A paragraph is marked up as follows:</p> <div class="w3-code notranslate htmlHigh"> <span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>p<span class="tagcolor" style="color:mediumblue">></span></span>This is some text in a paragraph.<span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/p<span class="tagcolor" style="color:mediumblue">></span></span> </div> <a target="_blank" href="tryit.asp?filename=tryhtml_paragraphs1" class="w3-btn w3-margin-bottom">Try it Yourself »</a> </div> <p>More "Try it Yourself" examples below.</p> <hr> <h2>Definition and Usage</h2> <p>The <code class="w3-codespan"><p></code> tag defines a paragraph.</p> <p>Browsers automatically add a single blank line before and after each <code class="w3-codespan"><p></code> element.</p> <p><strong>Tip:</strong> Use CSS to <a href="/html/html_css.asp">style paragraphs</a>.</p> <hr> <h2>Browser Support</h2> <table class="browserref notranslate"> <tbody><tr> <th style="width:20%;font-size:16px;text-align:left;">Element</th> <th style="width:16%;" class="bsChrome" title="Chrome"></th> <th style="width:16%;" class="bsEdge" title="Internet Explorer / Edge"></th> <th style="width:16%;" class="bsFirefox" title="Firefox"></th> <th style="width:16%;" class="bsSafari" title="Safari"></th> <th style="width:16%;" class="bsOpera" title="Opera"></th> </tr><tr> <td style="text-align:left;"><p></td> <td>Yes</td> <td>Yes</td> <td>Yes</td> <td>Yes</td> <td>Yes</td> </tr> </tbody></table> <hr> <h2>Global Attributes</h2> <p>The <code class="w3-codespan"><p></code> tag also supports the <a href="ref_standardattributes.asp">Global Attributes in HTML</a>.</p> <hr> <h2>Event Attributes</h2> <p>The <code class="w3-codespan"><p></code> tag also supports the <a href="ref_eventattributes.asp">Event Attributes in HTML</a>.</p> <hr> <div id="midcontentadcontainer" style="overflow:auto;text-align:center"> <!-- MidContent --> <!-- <p class="adtext">Advertisement</p> --> <div id="adngin-mid_content-0" data-google-query-id="CKfs_8ueqvcCFXiOSwUd2fYBLg"><div id="sn_ad_label_adngin-mid_content-0" class="sn_ad_label" style="color:#000000;font-size:12px;margin:0;text-align:center;">ADVERTISEMENT</div><div id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//mid_content_1__container__" style="border: 0pt none; display: inline-block; width: 300px; height: 250px;"><iframe frameborder="0" src="https://56d0da6c34aaa471db22bb4266aac656.safeframe.googlesyndication.com/safeframe/1-0-38/html/container.html" id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//mid_content_1" title="3rd party ad content" name="" scrolling="no" marginwidth="0" marginheight="0" width="300" height="250" data-is-safeframe="true" sandbox="allow-forms allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-top-navigation-by-user-activation" role="region" aria-label="Advertisement" tabindex="0" data-google-container-id="8" style="border: 0px; vertical-align: bottom;" data-load-complete="true"></iframe></div></div> </div> <hr> <h2>More Examples</h2> <div class="w3-example"> <h3>Example</h3> <p>Align text in a paragraph (with CSS):</p> <div class="w3-code notranslate htmlHigh"> <span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>p<span class="attributecolor" style="color:red"> style<span class="attributevaluecolor" style="color:mediumblue">="text-align:right"</span></span><span class="tagcolor" style="color:mediumblue">></span></span>This is some text in a paragraph.<span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/p<span class="tagcolor" style="color:mediumblue">></span></span> </div> <a target="_blank" href="tryit.asp?filename=tryhtml_p_align_css" class="w3-btn w3-margin-bottom">Try it Yourself »</a> </div> <div class="w3-example"> <h3>Example</h3> <p>Style paragraphs with CSS:</p> <div class="w3-code notranslate htmlHigh"> <span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>html<span class="tagcolor" style="color:mediumblue">></span></span><br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>head<span class="tagcolor" style="color:mediumblue">></span></span><br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>style<span class="tagcolor" style="color:mediumblue">></span></span><span class="cssselectorcolor" style="color:brown"><br>p <span class="cssdelimitercolor" style="color:black">{</span><span class="csspropertycolor" style="color:red"><br> color<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> navy<span class="cssdelimitercolor" style="color:black">;</span></span><br> text-indent<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> 30px<span class="cssdelimitercolor" style="color:black">;</span></span><br> text-transform<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> uppercase<span class="cssdelimitercolor" style="color:black">;</span></span><br></span><span class="cssdelimitercolor" style="color:black">}</span><br></span><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/style<span class="tagcolor" style="color:mediumblue">></span></span><br> <span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/head<span class="tagcolor" style="color:mediumblue">></span></span><br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>body<span class="tagcolor" style="color:mediumblue">></span></span><br><br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>p<span class="tagcolor" style="color:mediumblue">></span></span>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.<span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/p<span class="tagcolor" style="color:mediumblue">></span></span><br><br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/body<span class="tagcolor" style="color:mediumblue">></span></span><br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/html<span class="tagcolor" style="color:mediumblue">></span></span> </div> <a target="_blank" href="tryit.asp?filename=tryhtml_p_style_css" class="w3-btn w3-margin-bottom">Try it Yourself »</a> </div> <div class="w3-example"> <h3>Example</h3> <p> More on paragraphs:</p> <div class="w3-code notranslate htmlHigh"> <span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>p<span class="tagcolor" style="color:mediumblue">></span></span><br>This paragraph<br>contains a lot of lines<br>in the source code,<br> but the browser <br>ignores it.<br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/p<span class="tagcolor" style="color:mediumblue">></span></span> </div> <a target="_blank" href="tryit.asp?filename=tryhtml_paragraphs2" class="w3-btn w3-margin-bottom">Try it Yourself »</a> </div> <div class="w3-example"> <h3>Example</h3> <p>Poem problems in HTML:</p> <div class="w3-code notranslate htmlHigh"> <span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>p<span class="tagcolor" style="color:mediumblue">></span></span><br>My Bonnie lies over the ocean.<br>My Bonnie lies over the sea.<br>My Bonnie lies over the ocean.<br>Oh, bring back my Bonnie to me.<br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/p<span class="tagcolor" style="color:mediumblue">></span></span> </div> <a target="_blank" href="tryit.asp?filename=tryhtml_poem" class="w3-btn w3-margin-bottom">Try it Yourself »</a> </div> <hr> <h2>Related Pages</h2> <p>HTML tutorial: <a href="/html/html_paragraphs.asp">HTML Paragraphs</a></p> <p>HTML DOM reference: <a href="/jsref/dom_obj_paragraph.asp">Paragraph Object</a></p> <hr> <h2>Default CSS Settings</h2> <p>Most browsers will display the <code class="w3-codespan"><p></code> element with the following default values:</p> <div class="w3-example"> <h3>Example</h3> <div class="w3-code notranslate cssHigh"><span class="cssselectorcolor" style="color:brown"> p <span class="cssdelimitercolor" style="color:black">{</span><span class="csspropertycolor" style="color:red"><br> display<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> block<span class="cssdelimitercolor" style="color:black">;</span></span><br> margin-top<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> 1em<span class="cssdelimitercolor" style="color:black">;</span></span><br> margin-bottom<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> 1em<span class="cssdelimitercolor" style="color:black">;</span></span><br> margin-left<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> 0<span class="cssdelimitercolor" style="color:black">;</span></span><br> margin-right<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> 0<span class="cssdelimitercolor" style="color:black">;</span></span><br></span><span class="cssdelimitercolor" style="color:black">}</span> </span></div> <a target="_blank" href="tryit.asp?filename=tryhtml_p_default_css" class="w3-btn w3-margin-bottom">Try it Yourself »</a> </div> <br> <br> <div class="w3-clear w3-center nextprev"> <a class="w3-left w3-btn" href="tag_output.asp">❮<span class="w3-hide-small"> Previous</span></a> <a class="w3-btn" href="default.asp"><span class="w3-hide-small">Complete HTML </span>Reference</a> <a class="w3-right w3-btn" href="tag_param.asp"><span class="w3-hide-small">Next </span>❯</a> </div> <div id="mypagediv2" style="position:relative;text-align:center;"></div> <br> </div> <div class="w3-col l2 m12" id="right"> <div class="sidesection"> <div id="skyscraper"> <div id="adngin-sidebar_top-0" data-google-query-id="CJXA_sueqvcCFXiOSwUd2fYBLg"><div id="sn_ad_label_adngin-sidebar_top-0" class="sn_ad_label" style="color:#000000;font-size:12px;margin:0;text-align:center;">ADVERTISEMENT</div><div id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//wide_skyscraper_1__container__" style="border: 0pt none;"><iframe id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//wide_skyscraper_1" name="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//wide_skyscraper_1" title="3rd party ad content" width="320" height="50" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" role="region" aria-label="Advertisement" tabindex="0" srcdoc="" data-google-container-id="9" style="border: 0px; vertical-align: bottom;" data-load-complete="true"></iframe></div></div> </div> </div> <style> .ribbon-vid { font-size:12px; font-weight:bold; padding: 6px 20px; left:-20px; top:-10px; text-align: center; color:black; border-radius:25px; } </style> <div class="sidesection" id="video_sidesection"> <div class="w3-center" style="padding-bottom:7px"> <span class="ribbon-vid ws-yellow">NEW</span> </div> <p style="font-size: 14px;line-height: 1.5;font-family: Source Sans Pro;padding-left:4px;padding-right:4px;">We just launched<br>W3Schools videos</p> <a onclick="ga('send', 'event', 'Videos' , 'fromSidebar');" href="https://www.w3schools.com/videos/index.php" class="w3-hover-opacity"><img src="/images/htmlvideoad_footer.png" style="max-width:100%;padding:5px 10px 25px 10px" loading="lazy"></a> <a class="ws-button" style="font-size:16px;text-decoration: none !important;display: block !important; color:#FFC0C7!important; width: 100%; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; paxdding-top: 10px; padding-bottom: 20px; font-family: 'Source Sans Pro', sans-serif; text-align: center;" onclick="ga('send', 'event', 'Videos' , 'fromSidebar');" href="https://www.w3schools.com/videos/index.php">Explore now</a> </div> <div class="sidesection"> <h4><a href="/colors/colors_picker.asp">COLOR PICKER</a></h4> <a href="/colors/colors_picker.asp"> <img src="/images/colorpicker2000.png" alt="colorpicker" loading="lazy"> </a> </div> <div class="sidesection"> <!--<h4>LIKE US</h4>--> <div class="sharethis" style="visibility: visible;"> <a href="https://www.facebook.com/w3schoolscom/" target="_blank" title="Facebook"><span class="fa fa-facebook-square fa-2x"></span></a> <a href="https://www.instagram.com/w3schools.com_official/" target="_blank" title="Instagram"><span class="fa fa-instagram fa-2x"></span></a> <a href="https://www.linkedin.com/company/w3schools.com/" target="_blank" title="LinkedIn"><span class="fa fa-linkedin-square fa-2x"></span></a> <a href="https://discord.gg/6Z7UaRbUQM" target="_blank" title="Join the W3schools community on Discord"><span class="fa fa-discord fa-2x"></span></a> </div> </div> <!-- <div class="sidesection" style="border-radius:5px;color:#555;padding-top:1px;padding-bottom:8px;margin-left:auto;margin-right:auto;max-width:230px;background-color:#d4edda"> <p>Get your<br>certification today!</p> <a href="/cert/default.asp" target="_blank"> <img src="/images/w3certified_logo_250.png" style="margin:0 12px 20px 10px;max-width:80%"> </a> <a class="w3-btn w3-margin-bottom" style="text-decoration:none;border-radius:5px;" href="/cert/default.asp" target="_blank">View options</a> </div> --> <style> #courses_get_started_btn { text-decoration:none !important; background-color:#04AA6D; width:100%; border-bottom-left-radius:5px; border-bottom-right-radius:5px; padding-top:10px; padding-bottom:10px; font-family: 'Source Sans Pro', sans-serif; } #courses_get_started_btn:hover { background-color:#059862!important; } </style> <div id="internalCourses" class="sidesection"> <p style="font-size:18px;padding-left:2px;padding-right:2px;">Get certified<br>by completing<br>a course today!</p> <a href="https://courses.w3schools.com" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on courses banner in ads column');"> <div style="padding:0 20px 20px 20px"> <svg id="w3_cert_badge2" style="margin:auto;width:85%" data-name="w3_cert_badge2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300"><defs><style>.cls-1{fill:#04aa6b;}.cls-2{font-size:23px;}.cls-2,.cls-3,.cls-4{fill:#fff;}.cls-2,.cls-3{font-family:RobotoMono-Medium, Roboto Mono;font-weight:500;}.cls-3{font-size:20.08px;}</style></defs><circle class="cls-1" cx="150" cy="150" r="146.47" transform="translate(-62.13 150) rotate(-45)"></circle><text class="cls-2" transform="translate(93.54 63.89) rotate(-29.5)">w</text><text class="cls-2" transform="translate(107.13 56.35) rotate(-20.8)">3</text><text class="cls-2" transform="matrix(0.98, -0.21, 0.21, 0.98, 121.68, 50.97)">s</text><text class="cls-2" transform="translate(136.89 47.84) rotate(-3.47)">c</text><text class="cls-2" transform="translate(152.39 47.03) rotate(5.12)">h</text><text class="cls-2" transform="translate(167.85 48.54) rotate(13.72)">o</text><text class="cls-2" transform="translate(182.89 52.35) rotate(22.34)">o</text><text class="cls-2" transform="matrix(0.86, 0.52, -0.52, 0.86, 197.18, 58.36)">l</text><text class="cls-2" transform="matrix(0.77, 0.64, -0.64, 0.77, 210.4, 66.46)">s</text><text class="cls-3" transform="translate(35.51 186.66) rotate(69.37)"> </text><text class="cls-3" transform="matrix(0.47, 0.88, -0.88, 0.47, 41.27, 201.28)">C</text><text class="cls-3" transform="matrix(0.58, 0.81, -0.81, 0.58, 48.91, 215.03)">E</text><text class="cls-3" transform="matrix(0.67, 0.74, -0.74, 0.67, 58.13, 227.36)">R</text><text class="cls-3" transform="translate(69.16 238.92) rotate(39.44)">T</text><text class="cls-3" transform="matrix(0.85, 0.53, -0.53, 0.85, 81.47, 248.73)">I</text><text class="cls-3" transform="translate(94.94 256.83) rotate(24.36)">F</text><text class="cls-3" transform="translate(109.34 263.09) rotate(16.83)">I</text><text class="cls-3" transform="translate(124.46 267.41) rotate(9.34)">E</text><text class="cls-3" transform="translate(139.99 269.73) rotate(1.88)">D</text><text class="cls-3" transform="translate(155.7 270.01) rotate(-5.58)"> </text><text class="cls-3" transform="translate(171.32 268.24) rotate(-13.06)"> </text><text class="cls-2" transform="translate(187.55 266.81) rotate(-21.04)">.</text><text class="cls-3" transform="translate(203.27 257.7) rotate(-29.24)"> </text><text class="cls-3" transform="translate(216.84 249.83) rotate(-36.75)"> </text><text class="cls-3" transform="translate(229.26 240.26) rotate(-44.15)">2</text><text class="cls-3" transform="translate(240.39 229.13) rotate(-51.62)">0</text><text class="cls-3" transform="translate(249.97 216.63) rotate(-59.17)">2</text><text class="cls-3" transform="matrix(0.4, -0.92, 0.92, 0.4, 257.81, 203.04)">2</text><path class="cls-4" d="M196.64,136.31s3.53,3.8,8.5,3.8c3.9,0,6.75-2.37,6.75-5.59,0-4-3.64-5.81-8-5.81h-2.59l-1.53-3.48,6.86-8.13a34.07,34.07,0,0,1,2.7-2.85s-1.11,0-3.33,0H194.79v-5.86H217.7v4.28l-9.19,10.61c5.18.74,10.24,4.43,10.24,10.92s-4.85,12.3-13.19,12.3a17.36,17.36,0,0,1-12.41-5Z"></path><path class="cls-4" d="M152,144.24l30.24,53.86,14.94-26.61L168.6,120.63H135.36l-13.78,24.53-13.77-24.53H77.93l43.5,77.46.15-.28.16.28Z"></path></svg> </div> </a> <a class="w3-btn" id="courses_get_started_btn" href="https://courses.w3schools.com" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on courses banner in ads column');">Get started</a> </div> <!-- <div class="sidesection" style="margin-left:auto;margin-right:auto;max-width:230px"> <a href="https://shop.w3schools.com/" target="_blank" title="Buy W3Schools Merchandize"> <img src="/images/tshirt.jpg" style="max-width:100%;"> </a> </div> --> <div class="sidesection" id="moreAboutSubject"> </div> <!-- <div id="sidesection_exercise" class="sidesection" style="background-color:#555555;max-width:200px;margin:auto;margin-bottom:32px"> <div class="w3-container w3-text-white"> <h4>Exercises</h4> </div> <div> <div class="w3-light-grey"> <a target="_blank" href="/html/exercise.asp" style="padding-top:8px">HTML</a> <a target="_blank" href="/css/exercise.asp">CSS</a> <a target="_blank" href="/js/exercise_js.asp">JavaScript</a> <a target="_blank" href="/sql/exercise.asp">SQL</a> <a target="_blank" href="/php/exercise.asp">PHP</a> <a target="_blank" href="/python/exercise.asp">Python</a> <a target="_blank" href="/bootstrap/exercise_bs3.asp">Bootstrap</a> <a target="_blank" href="/jquery/exercise_jq.asp" style="padding-bottom:8px">jQuery</a> </div> </div> </div> --> <div class="sidesection codegameright ws-turquoise" style="font-size:18px;font-family: 'Source Sans Pro', sans-serif;border-radius:5px;color:#FFC0C7;padding-top:12px;margin-left:auto;margin-right:auto;max-width:230px;"> <style> .codegameright .w3-btn:link,.codegameright .w3-btn:visited { background-color:#04AA6D; border-radius:5px; } .codegameright .w3-btn:hover,.codegameright .w3-btn:active { background-color:#059862!important; text-decoration:none!important; } </style> <h4><a href="/codegame/index.html" class="w3-hover-text-black">CODE GAME</a></h4> <a href="/codegame/index.html" target="_blank" class="w3-hover-opacity"><img style="max-width:100%;margin:16px 0;" src="/images/w3lynx_200.png" alt="Code Game" loading="lazy"></a> <a class="w3-btn w3-block ws-black" href="/codegame/index.html" target="_blank" style="padding-top:10px;padding-bottom:10px;margin-top:12px;border-top-left-radius: 0;border-top-right-radius: 0">Play Game</a> </div> <!-- <div class="sidesection w3-light-grey" style="margin-left:auto;margin-right:auto;max-width:230px"> <div class="w3-container w3-dark-grey"> <h4><a href="/howto/default.asp" class="w3-hover-text-white">HOW TO</a></h4> </div> <div class="w3-container w3-left-align w3-padding-16"> <a href="/howto/howto_js_tabs.asp">Tabs</a><br> <a href="/howto/howto_css_dropdown.asp">Dropdowns</a><br> <a href="/howto/howto_js_accordion.asp">Accordions</a><br> <a href="/howto/howto_js_sidenav.asp">Side Navigation</a><br> <a href="/howto/howto_js_topnav.asp">Top Navigation</a><br> <a href="/howto/howto_css_modals.asp">Modal Boxes</a><br> <a href="/howto/howto_js_progressbar.asp">Progress Bars</a><br> <a href="/howto/howto_css_parallax.asp">Parallax</a><br> <a href="/howto/howto_css_login_form.asp">Login Form</a><br> <a href="/howto/howto_html_include.asp">HTML Includes</a><br> <a href="/howto/howto_google_maps.asp">Google Maps</a><br> <a href="/howto/howto_js_rangeslider.asp">Range Sliders</a><br> <a href="/howto/howto_css_tooltip.asp">Tooltips</a><br> <a href="/howto/howto_js_slideshow.asp">Slideshow</a><br> <a href="/howto/howto_js_sort_list.asp">Sort List</a><br> </div> </div> --> <!-- <div class="sidesection w3-round" style="margin-left:auto;margin-right:auto;max-width:230px"> <div class="w3-container ws-black" style="border-top-right-radius:5px;border-top-left-radius:5px;"> <h5><a href="/cert/default.asp" class="w3-hover-text-white">Certificates</a></h5> </div> <div class="w3-border" style="border-bottom-right-radius:5px;border-bottom-left-radius:5px;"> <a href="/cert/cert_html.asp" class="w3-button ws-grey w3-block w3-border-bottom" style="text-decoration:none">HTML</a> <a href="/cert/cert_css.asp" class="w3-button ws-grey w3-block w3-border-bottom" style="text-decoration:none">CSS</a> <a href="/cert/cert_javascript.asp" class="w3-button ws-grey w3-block w3-border-bottom" style="text-decoration:none">JavaScript</a> <a href="/cert/cert_frontend.asp" class="w3-button ws-grey w3-block w3-border-bottom" style="text-decoration:none">Front End</a> <a href="/cert/cert_python.asp" class="w3-button ws-grey w3-block w3-border-bottom" style="text-decoration:none">Python</a> <a href="/cert/cert_sql.asp" class="w3-button ws-grey w3-block w3-border-bottom" style="text-decoration:none">SQL</a> <a href="/cert/default.asp" class="w3-button ws-grey w3-block" style="text-decoration:none;">And more</a> </div> </div> --> <div id="stickypos" class="sidesection" style="text-align:center;position:sticky;top:50px;"> <div id="stickyadcontainer" style="width: 653.984px;"> <div style="position:relative;margin:auto;"> <div id="adngin-sidebar_sticky-0-stickypointer" style=""><div id="adngin-sidebar_sticky-0" style=""><div id="sn_ad_label_adngin-sidebar_sticky-0" class="sn_ad_label" style="color:#000000;font-size:12px;margin:0;text-align:center;">ADVERTISEMENT</div></div></div> <script> function secondSnigel() { if(window.adngin && window.adngin.adnginLoaderReady) { if (Number(w3_getStyleValue(document.getElementById("main"), "height").replace("px", "")) > 2200) { if (document.getElementById("adngin-mid_content-0")) { adngin.queue.push(function(){ adngin.cmd.startAuction(["sidebar_sticky", "mid_content" ]); }); } else { adngin.queue.push(function(){ adngin.cmd.startAuction(["sidebar_sticky"]); }); } } else { if (document.getElementById("adngin-mid_content-0")) { adngin.queue.push(function(){ adngin.cmd.startAuction(["mid_content"]); }); } } } else { window.addEventListener('adnginLoaderReady', function() { if (Number(w3_getStyleValue(document.getElementById("main"), "height").replace("px", "")) > 2200) { if (document.getElementById("adngin-mid_content-0")) { adngin.queue.push(function(){ adngin.cmd.startAuction(["sidebar_sticky", "mid_content" ]); }); } else { adngin.queue.push(function(){ adngin.cmd.startAuction(["sidebar_sticky"]); }); } } else { if (document.getElementById("adngin-mid_content-0")) { adngin.queue.push(function(){ adngin.cmd.startAuction(["mid_content"]); }); } } }); } } </script> </div> </div> </div> <script> uic_r_c() </script> </div> </div> <div id="footer" class="footer w3-container w3-white"> <hr> <div style="overflow:auto"> <div class="bottomad"> <!-- BottomMediumRectangle --> <!--<pre>bottom_medium_rectangle, all: [970,250][300,250][336,280]</pre>--> <div id="adngin-bottom_left-0" style="padding:0 10px 10px 0;float:left;width:auto;" data-google-query-id="CJbA_sueqvcCFXiOSwUd2fYBLg"><div id="sn_ad_label_adngin-bottom_left-0" class="sn_ad_label" style="color:#000000;font-size:12px;margin:0;text-align:center;">ADVERTISEMENT</div><div id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//bottom_medium_rectangle_1__container__" style="border: 0pt none;"><iframe id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//bottom_medium_rectangle_1" name="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//bottom_medium_rectangle_1" title="3rd party ad content" width="300" height="250" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" role="region" aria-label="Advertisement" tabindex="0" srcdoc="" data-google-container-id="a" style="border: 0px; vertical-align: bottom;" data-load-complete="true"></iframe></div></div> <!-- adspace bmr --> <!-- RightBottomMediumRectangle --> <!--<pre>right_bottom_medium_rectangle, desktop: [300,250][336,280]</pre>--> <div id="adngin-bottom_right-0" style="padding:0 10px 10px 0;float:left;width:auto;"><div id="sn_ad_label_adngin-bottom_right-0" class="sn_ad_label" style="color:#000000;font-size:12px;margin:0;text-align:center;">ADVERTISEMENT</div></div> </div> </div> <hr> <div class="w3-row-padding w3-center w3-small" style="margin:0 -16px;"> <div class="w3-col l3 m3 s12"> <a class="w3-button ws-grey ws-hover-black w3-block w3-round" href="javascript:void(0);" onclick="displayError();return false" style="white-space:nowrap;text-decoration:none;margin-top:1px;margin-bottom:1px;font-size:15px;">Report Error</a> </div> <!-- <div class="w3-col l3 m3 s12"> <a class="w3-button w3-light-grey w3-block" href="javascript:void(0);" target="_blank" onclick="printPage();return false;" style="text-decoration:none;margin-top:1px;margin-bottom:1px">PRINT PAGE</a> </div> --> <div class="w3-col l3 m3 s12"> <a class="w3-button ws-grey ws-hover-black w3-block w3-round" href="/forum/default.asp" target="_blank" style="text-decoration:none;margin-top:1px;margin-bottom:1px;font-size:15px">Forum</a> </div> <div class="w3-col l3 m3 s12"> <a class="w3-button ws-grey ws-hover-black w3-block w3-round" href="/about/default.asp" target="_top" style="text-decoration:none;margin-top:1px;margin-bottom:1px;font-size:15px">About</a> </div> <div class="w3-col l3 m3 s12"> <a class="w3-button ws-grey ws-hover-black w3-block w3-round" href="https://shop.w3schools.com/" target="_blank" style="text-decoration:none;margin-top:1px;margin-bottom:1px;font-size:15px">Shop</a> </div> </div> <hr> <div class="ws-grey w3-padding w3-margin-bottom" id="err_form" style="display:none;position:relative"> <span onclick="this.parentElement.style.display='none'" class="w3-button w3-display-topright w3-large">×</span> <h2>Report Error</h2> <p>If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:</p> <p>help@w3schools.com</p> <br> <!-- <h2>Your Suggestion:</h2> <form> <div class="w3-section"> <label for="err_email">Your E-mail:</label> <input class="w3-input w3-border" type="text" style="margin-top:5px;width:100%" id="err_email" name="err_email"> </div> <div class="w3-section"> <label for="err_email">Page address:</label> <input class="w3-input w3-border" type="text" style="width:100%;margin-top:5px" id="err_url" name="err_url" disabled="disabled"> </div> <div class="w3-section"> <label for="err_email">Description:</label> <textarea rows="10" class="w3-input w3-border" id="err_desc" name="err_desc" style="width:100%;margin-top:5px;resize:vertical;"></textarea> </div> <div class="form-group"> <button type="button" class="w3-button w3-dark-grey" onclick="sendErr()">Submit</button> </div> <br> </form> --> </div> <div class="w3-container ws-grey w3-padding" id="err_sent" style="display:none;position:relative"> <span onclick="this.parentElement.style.display='none'" class="w3-button w3-display-topright">×</span> <h2>Thank You For Helping Us!</h2> <p>Your message has been sent to W3Schools.</p> </div> <div class="w3-row w3-center w3-small"> <div class="w3-col l3 m6 s12"> <div class="top10"> <h5 style="font-family: 'Source Sans Pro', sans-serif;">Top Tutorials</h5> <a href="/html/default.asp">HTML Tutorial</a><br> <a href="/css/default.asp">CSS Tutorial</a><br> <a href="/js/default.asp">JavaScript Tutorial</a><br> <a href="/howto/default.asp">How To Tutorial</a><br> <a href="/sql/default.asp">SQL Tutorial</a><br> <a href="/python/default.asp">Python Tutorial</a><br> <a href="/w3css/default.asp">W3.CSS Tutorial</a><br> <a href="/bootstrap/bootstrap_ver.asp">Bootstrap Tutorial</a><br> <a href="/php/default.asp">PHP Tutorial</a><br> <a href="/java/default.asp">Java Tutorial</a><br> <a href="/cpp/default.asp">C++ Tutorial</a><br> <a href="/jquery/default.asp">jQuery Tutorial</a><br> </div> </div> <div class="w3-col l3 m6 s12"> <div class="top10"> <h5 style="font-family: 'Source Sans Pro', sans-serif;">Top References</h5> <a href="/tags/default.asp">HTML Reference</a><br> <a href="/cssref/default.asp">CSS Reference</a><br> <a href="/jsref/default.asp">JavaScript Reference</a><br> <a href="/sql/sql_ref_keywords.asp">SQL Reference</a><br> <a href="/python/python_reference.asp">Python Reference</a><br> <a href="/w3css/w3css_references.asp">W3.CSS Reference</a><br> <a href="/bootstrap/bootstrap_ref_all_classes.asp">Bootstrap Reference</a><br> <a href="/php/php_ref_overview.asp">PHP Reference</a><br> <a href="/colors/colors_names.asp">HTML Colors</a><br> <a href="/java/java_ref_keywords.asp">Java Reference</a><br> <a href="/angular/angular_ref_directives.asp">Angular Reference</a><br> <a href="/jquery/jquery_ref_overview.asp">jQuery Reference</a><br> </div> </div> <div class="w3-col l3 m6 s12"> <div class="top10"> <h5 style="font-family: 'Source Sans Pro', sans-serif;">Top Examples</h5> <a href="/html/html_examples.asp">HTML Examples</a><br> <a href="/css/css_examples.asp">CSS Examples</a><br> <a href="/js/js_examples.asp">JavaScript Examples</a><br> <a href="/howto/default.asp">How To Examples</a><br> <a href="/sql/sql_examples.asp">SQL Examples</a><br> <a href="/python/python_examples.asp">Python Examples</a><br> <a href="/w3css/w3css_examples.asp">W3.CSS Examples</a><br> <a href="/bootstrap/bootstrap_examples.asp">Bootstrap Examples</a><br> <a href="/php/php_examples.asp">PHP Examples</a><br> <a href="/java/java_examples.asp">Java Examples</a><br> <a href="/xml/xml_examples.asp">XML Examples</a><br> <a href="/jquery/jquery_examples.asp">jQuery Examples</a><br> </div> </div> <div class="w3-col l3 m6 s12"> <div class="top10"> <!-- <h4>Web Certificates</h4> <a href="/cert/default.asp">HTML Certificate</a><br> <a href="/cert/default.asp">CSS Certificate</a><br> <a href="/cert/default.asp">JavaScript Certificate</a><br> <a href="/cert/default.asp">SQL Certificate</a><br> <a href="/cert/default.asp">Python Certificate</a><br> <a href="/cert/default.asp">PHP Certificate</a><br> <a href="/cert/default.asp">Bootstrap Certificate</a><br> <a href="/cert/default.asp">XML Certificate</a><br> <a href="/cert/default.asp">jQuery Certificate</a><br> <a href="//www.w3schools.com/cert/default.asp" class="w3-button w3-margin-top w3-dark-grey" style="text-decoration:none"> Get Certified »</a> --> <h5 style="font-family: 'Source Sans Pro', sans-serif;">Web Courses</h5> <a href="https://courses.w3schools.com/courses/html" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on html course link in footer');">HTML Course</a><br> <a href="https://courses.w3schools.com/courses/css" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on css course link in footer');">CSS Course</a><br> <a href="https://courses.w3schools.com/courses/javascript" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on javascript course link in footer');">JavaScript Course</a><br> <a href="https://courses.w3schools.com/programs/front-end" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on Front End course link in footer');">Front End Course</a><br> <a href="https://courses.w3schools.com/courses/sql" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on sql course link in footer');">SQL Course</a><br> <a href="https://courses.w3schools.com/courses/python" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on python course link in footer');">Python Course</a><br> <a href="https://courses.w3schools.com/courses/php" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on php course link in footer');">PHP Course</a><br> <a href="https://courses.w3schools.com/courses/jquery" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on jquery course link in footer');">jQuery Course</a><br> <a href="https://courses.w3schools.com/courses/java" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on Java course link in footer');">Java Course</a><br> <a href="https://courses.w3schools.com/courses/cplusplus" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on C++ course link in footer');">C++ Course</a><br> <a href="https://courses.w3schools.com/courses/c-sharp" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on bootstrap C# link in footer');">C# Course</a><br> <a href="https://courses.w3schools.com/courses/xml" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on xml course link in footer');">XML Course</a><br> <a href="https://courses.w3schools.com/" target="_blank" class="w3-button w3-margin-top ws-black ws-hover-black w3-round" style="text-decoration:none" onclick="ga('send', 'event', 'Courses' , 'Clicked on get certified button in footer');"> Get Certified »</a> </div> </div> </div> <hr> <div class="w3-center w3-small w3-opacity"> W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our <a href="/about/about_copyright.asp">terms of use</a>, <a href="/about/about_privacy.asp">cookie and privacy policy</a>.<br><br> <a href="/about/about_copyright.asp">Copyright 1999-2022</a> by Refsnes Data. All Rights Reserved.<br> <a href="//www.w3schools.com/w3css/default.asp">W3Schools is Powered by W3.CSS</a>.<br><br> </div> <div class="w3-center w3-small"> <a href="//www.w3schools.com"> <i class="fa fa-logo ws-text-green ws-hover-text-green" style="position:relative;font-size:42px!important;"></i> </a></div><a href="//www.w3schools.com"> <br><br> </a></div><a href="//www.w3schools.com"> </a></div><iframe name="__tcfapiLocator" style="display: none;"></iframe><iframe name="__uspapiLocator" style="display: none;"></iframe><a href="//www.w3schools.com"> <script src="/lib/w3schools_footer.js?update=20220202"></script> <script> MyLearning.loadUser('footer'); function docReady(fn) { document.addEventListener("DOMContentLoaded", fn); if (document.readyState === "interactive" || document.readyState === "complete" ) { fn(); } } uic_r_z(); uic_r_d() </script><iframe src="https://56d0da6c34aaa471db22bb4266aac656.safeframe.googlesyndication.com/safeframe/1-0-38/html/container.html" style="visibility: hidden; display: none;"></iframe> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </a><script type="text/javascript" src="https://geo.moatads.com/n.js?e=35&ol=3318087536&qn=%604%7BZEYwoqI%24%5BK%2BdLLU)%2CMm~tM!90vv9L%24%2FoDb%2Fz(lKm3GFlNUU%2Cu%5Bh_GcS%25%5BHvLU%5B4(K%2B%7BgeFWl_%3DNqUXR%3A%3D%2BAxMn%3Ch%2CyenA8p%2FHm%24%60%233P(ry5*ZRocMp1tq%5BN%7Bq%60RP%3CG.ceFW%7CoG%22mxT%3Bwv%40V374BKm55%3D%261fp%5BoU5t(KX%3C%3Ce%24%26%3B%23wPjrBEe31k5X%5BG%5E%5B)%2C2iVSWf3Stnq%263t!9jr%7BRzI%2C%7BOCb%25%24(%3DNqU%60W5u%7Bo(zs1CoK%2Bdr%5BG)%2C3ii)RGL3emgSuRVE&tf=1_nMzjG---CSa7H-1SJH-bW7qhB-LRwqH-nMzjG-&vi=111111&rb=2-90xv0J4P%2FoMsPm8%2BZbNmT2EB%2BBOA3JNdQL68hLPh4bg2%2F%2FnQIIWF3Q%3D%3D&rs=1-iHtHGE9B1zA1OQ%3D%3D&sc=1&os=1-3g%3D%3D&qp=10000&is=BBBBB2BBEYBvGl2BBCkqtUTE1RmsqbKW8BsrBu0rCFE48CRBeeBS2hWTMBBQeQBBn2soYggyUig0CBlWZ0uBBCCCCCCOgRBBiOfnE6Bkg7Oxib8MxOtJYHCBdm5kBhIcC9Y8oBXckXBR76iUUsJBCBBBBBBBBBWBBBj3BBBZeGV2BBBCMciUBBBjgEBBBBBB94UMgTdJMtEcpMBBBQBBBniOccBBBBBB47kNwxBbBBBBBBBBBhcjG6BBJM2L4Bk8BwCBQmIoRBBCzBz1BBCTClBBrbGBC4ehueB57NG9aJeRzBqEKBBBBBBB&iv=8&qt=0&gz=0&hh=0&hn=0&tw=&qc=0&qd=0&qf=1240&qe=883&qh=1280&qg=984&qm=-330&qa=1280&qb=1024&qi=1280&qj=984&to=000&po=1-0020002000002120&vy=ot%24b%5Bh%40%22oDgO%3DLlE6%3Avy%2CUitwb4%5Du!%3CFo%40Y_3r%3F%5DAY~MhXyz%26_%5B*Rp%7C%3EoDKmsiFDRz%5EmlNM%22%254ZpaR%5BA7Do%2C%3Bg%2C%2C%40W7RbzTmejO%3Def%2C%7Bvp%7C9%7C_%3Bm_Qrw5.W%2F84VKp%40i6AKx!ehV%7Du!%3CFo%40pF&ql=%3B%5BpwxnRd%7Dt%3Aa%5DmJVOG)%2C~%405%2F%5BGI%3F6C(TgPB*e%5D1(rI%24(rj2Iy!pw%40aOS%3DyNX8Y%7BQgPB*e%5D1(rI%24(rj%5EB61%2F%3DSqcMr1%7B%2CJA%24Jz_%255tTL%3Fwbs_T%234%25%60X%3CA&qo=0&qr=0&i=TRIPLELIFT1&hp=1&wf=1&ra=1&pxm=8&sgs=3&vb=6&kq=1&hq=0&hs=0&hu=0&hr=0&ht=1&dnt=0&bq=0&f=0&j=https%3A%2F%2Fwww.google.com&t=1650718754860&de=466991431602&m=0&ar=bee2df476bf-clean&iw=2a1d5c5&q=2&cb=0&ym=0&cu=1650718754860&ll=3&lm=0&ln=1&r=0&em=0&en=0&d=6737%3A94724%3Aundefined%3A10&zMoatTactic=undefined&zMoatPixelParams=aid%3A29695277962791520917040%3Bsr%3A10%3Buid%3A0%3B&zMoatOrigSlicer1=2662&zMoatOrigSlicer2=39&zMoatJS=-&zGSRC=1&gu=https%3A%2F%2Fwww.w3schools.com%2Ftags%2Ftag_p.asp&id=1&ii=4&bo=2662&bd=w3schools.com&gw=triplelift879988051105&fd=1&ac=1&it=500&ti=0&ih=1&pe=1%3A512%3A512%3A1026%3A846&jm=-1&fs=198121&na=2100642455&cs=0&ord=1650718754860&jv=1483802810&callback=DOMlessLLDcallback_5147906"></script><iframe src="https://www.google.com/recaptcha/api2/aframe" width="0" height="0" style="display: none;"></iframe></body><iframe sandbox="allow-scripts allow-same-origin" id="936be7941bd9c5c" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://jp-u.openx.net/w/1.0/pd?plm=6&ph=8a7ca719-8c2c-4c16-98ad-37ac6dbf26e9&gdpr=0&us_privacy=1---"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="94da8182082e79b" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://eus.rubiconproject.com/usync.html?us_privacy=1---"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="950ad185776f97c" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://cdn.connectad.io/connectmyusers.php?us_privacy=1---&"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="960961bdb263a5c" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://ads.pubmatic.com/AdServer/js/user_sync.html?kdntuid=1&p=157369&gdpr=0&gdpr_consent=&us_privacy=1---"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="973d77507d8ed2c" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://s.amazon-adsystem.com/iu3?cm3ppd=1&d=dtb-pub&csif=t&dl=n-index_pm-db5_ym_rbd_n-vmg_ox-db5_smrt_an-db5_3lift"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="986df094b3ccc6f" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://biddr.brealtime.com/check.html"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="9984b091a86efa7" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://js-sec.indexww.com/um/ixmatch.html"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="1004b17db44af55b" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://csync.smilewanted.com?us_privacy=1---"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="101af22cac10bcfd" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://onetag-sys.com/usync/?cb=1650718752982&us_privacy=1---"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="10290b51ae900f2b" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://eb2.3lift.com/sync?us_privacy=1---&"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="103d27603dbc3983" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://acdn.adnxs.com/dmp/async_usersync.html"> </iframe></html>
Hazrat-Ali9 / Go Programming🐹Go Programming ⚽ the Simplicity 🥎Power of 🏀Golang Modern 🏈 Development 🚀 the fast statically 🏆 language designed 🏐 efficiency 🎮 and scalability 🧸 Perfect 🧶 backend 🍑 developers 🍎 system 🫑 programmers 🌽 and cloud 🫒 engineers variables 🫐 functions structs 🍖 interfaces pointers 🚂 and slices CLI tools RESTful APIs and job schedulers