mirror of https://github.com/bjornbytes/lovr.git
SteamVR Input
This commit is contained in:
parent
c20554645e
commit
7c2a119324
|
@ -1 +1 @@
|
|||
Subproject commit 5d0574bf6473130d25dd296ad30206ccd148590b
|
||||
Subproject commit b72abcebff7e6c6c70ce8ac8f6a09b70d44397e2
|
|
@ -57,10 +57,8 @@ const char* DeviceButtons[] = {
|
|||
|
||||
const char* DeviceAxes[] = {
|
||||
[AXIS_TRIGGER] = "trigger",
|
||||
[AXIS_THUMBSTICK_X] = "thumbstick/x",
|
||||
[AXIS_THUMBSTICK_Y] = "thumbstick/y",
|
||||
[AXIS_TOUCHPAD_X] = "touchpad/x",
|
||||
[AXIS_TOUCHPAD_Y] = "touchpad/y",
|
||||
[AXIS_THUMBSTICK] = "thumbstick",
|
||||
[AXIS_TOUCHPAD] = "touchpad",
|
||||
[AXIS_PINCH] = "pinch",
|
||||
[AXIS_GRIP] = "grip",
|
||||
NULL
|
||||
|
@ -418,11 +416,22 @@ int l_lovrHeadsetIsTouched(lua_State* L) {
|
|||
int l_lovrHeadsetGetAxis(lua_State* L) {
|
||||
Device device = luax_optdevice(L, 1);
|
||||
DeviceAxis axis = luaL_checkoption(L, 2, NULL, DeviceAxes);
|
||||
float value;
|
||||
float value[3];
|
||||
FOREACH_TRACKING_DRIVER(driver) {
|
||||
if (driver->getAxis(device, axis, &value)) {
|
||||
lua_pushnumber(L, value);
|
||||
return 1;
|
||||
if (driver->getAxis(device, axis, value)) {
|
||||
switch (axis) {
|
||||
case MAX_AXES:
|
||||
case AXIS_TRIGGER:
|
||||
case AXIS_PINCH:
|
||||
case AXIS_GRIP:
|
||||
lua_pushnumber(L, value[0]);
|
||||
return 1;
|
||||
case AXIS_THUMBSTICK:
|
||||
case AXIS_TOUCHPAD:
|
||||
lua_pushnumber(L, value[0]);
|
||||
lua_pushnumber(L, value[1]);
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
|
|
@ -122,7 +122,7 @@ static bool desktop_isTouched(Device device, DeviceButton button, bool* touched)
|
|||
return false;
|
||||
}
|
||||
|
||||
static bool desktop_getAxis(Device device, DeviceAxis axis, float* value) {
|
||||
static bool desktop_getAxis(Device device, DeviceAxis axis, vec3 value) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -33,7 +33,8 @@ typedef enum {
|
|||
DEVICE_TRACKER_1,
|
||||
DEVICE_TRACKER_2,
|
||||
DEVICE_TRACKER_3,
|
||||
DEVICE_TRACKER_4
|
||||
DEVICE_TRACKER_4,
|
||||
MAX_DEVICES
|
||||
} Device;
|
||||
|
||||
typedef enum {
|
||||
|
@ -46,17 +47,17 @@ typedef enum {
|
|||
BUTTON_B,
|
||||
BUTTON_X,
|
||||
BUTTON_Y,
|
||||
BUTTON_PROXIMITY
|
||||
BUTTON_PROXIMITY,
|
||||
MAX_BUTTONS
|
||||
} DeviceButton;
|
||||
|
||||
typedef enum {
|
||||
AXIS_TRIGGER,
|
||||
AXIS_THUMBSTICK_X,
|
||||
AXIS_THUMBSTICK_Y,
|
||||
AXIS_TOUCHPAD_X,
|
||||
AXIS_TOUCHPAD_Y,
|
||||
AXIS_THUMBSTICK,
|
||||
AXIS_TOUCHPAD,
|
||||
AXIS_PINCH,
|
||||
AXIS_GRIP
|
||||
AXIS_GRIP,
|
||||
MAX_AXES
|
||||
} DeviceAxis;
|
||||
|
||||
typedef enum {
|
||||
|
|
|
@ -252,7 +252,7 @@ static bool oculus_isTouched(Device device, DeviceButton button, bool* touched)
|
|||
}
|
||||
}
|
||||
|
||||
static bool oculus_getAxis(Device device, DeviceAxis axis, float* value) {
|
||||
static bool oculus_getAxis(Device device, DeviceAxis axis, vec3* value) {
|
||||
if (device != DEVICE_HAND_LEFT && device != DEVICE_HAND_RIGHT) {
|
||||
return false;
|
||||
}
|
||||
|
@ -263,8 +263,10 @@ static bool oculus_getAxis(Device device, DeviceAxis axis, float* value) {
|
|||
switch (axis) {
|
||||
case AXIS_GRIP: return *value = is->HandTriggerNoDeadzone[hand], true;
|
||||
case AXIS_TRIGGER: return *value = is->IndexTriggerNoDeadzone[hand], true;
|
||||
case AXIS_THUMBSTICK_X: return *value = is->ThumbstickNoDeadzone[hand].x, true;
|
||||
case AXIS_THUMBSTICK_Y: return *value = is->ThumbstickNoDeadzone[hand].y, true;
|
||||
case AXIS_THUMBSTICK:
|
||||
value[0] = is->ThumbstickNoDeadzone[hand].x;
|
||||
value[1] = is->ThumbstickNoDeadzone[hand].y;
|
||||
return true;
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -131,16 +131,21 @@ static bool vrapi_isTouched(Device device, DeviceButton button, bool* touched) {
|
|||
return buttonCheck(bridgeLovrMobileData.updateData.goButtonTouch, device, button, touched);
|
||||
}
|
||||
|
||||
static int vrapi_getAxis(Device device, DeviceAxis axis, float* x, float* y, float* z) {
|
||||
static int vrapi_getAxis(Device device, DeviceAxis axis, float* value) {
|
||||
if (device != DEVICE_HAND) {
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (axis) {
|
||||
case AXIS_TOUCHPAD_X: return *value = (bridgeLovrMobileData.updateData.goTrackpad.x - 160.f) / 160.f, true;
|
||||
case AXIS_TOUCHPAD_Y: return *value = (bridgeLovrMobileData.updateData.goTrackpad.y - 160.f) / 160.f, true;
|
||||
case AXIS_TRIGGER: return *value = bridgeLovrMobileData.updateData.goButtonDown ? 1.f : 0.f, true;
|
||||
default: return false;
|
||||
case AXIS_TOUCHPAD:
|
||||
value[0] = (bridgeLovrMobileData.updateData.goTrackpad.x - 160.f) / 160.f, true;
|
||||
value[1] = (bridgeLovrMobileData.updateData.goTrackpad.y - 160.f) / 160.f, true;
|
||||
return true;
|
||||
case AXIS_TRIGGER:
|
||||
value[0] = bridgeLovrMobileData.updateData.goButtonDown ? 1.f : 0.f;
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
#include "headset/headset.h"
|
||||
#include "resources/actions.json.h"
|
||||
#include "resources/bindings_vive.json.h"
|
||||
#include "resources/bindings_knuckles.json.h"
|
||||
#include "event/event.h"
|
||||
#include "filesystem/filesystem.h"
|
||||
#include "graphics/graphics.h"
|
||||
#include "graphics/canvas.h"
|
||||
#include "lib/maf.h"
|
||||
|
@ -24,6 +28,42 @@ extern void VR_ShutdownInternal();
|
|||
extern bool VR_IsHmdPresent();
|
||||
extern intptr_t VR_GetGenericInterface(const char* pchInterfaceVersion, EVRInitError* peError);
|
||||
extern bool VR_IsRuntimeInstalled();
|
||||
|
||||
typedef enum {
|
||||
eBone_Root = 0,
|
||||
eBone_Wrist,
|
||||
eBone_Thumb0,
|
||||
eBone_Thumb1,
|
||||
eBone_Thumb2,
|
||||
eBone_Thumb3,
|
||||
eBone_IndexFinger0,
|
||||
eBone_IndexFinger1,
|
||||
eBone_IndexFinger2,
|
||||
eBone_IndexFinger3,
|
||||
eBone_IndexFinger4,
|
||||
eBone_MiddleFinger0,
|
||||
eBone_MiddleFinger1,
|
||||
eBone_MiddleFinger2,
|
||||
eBone_MiddleFinger3,
|
||||
eBone_MiddleFinger4,
|
||||
eBone_RingFinger0,
|
||||
eBone_RingFinger1,
|
||||
eBone_RingFinger2,
|
||||
eBone_RingFinger3,
|
||||
eBone_RingFinger4,
|
||||
eBone_PinkyFinger0,
|
||||
eBone_PinkyFinger1,
|
||||
eBone_PinkyFinger2,
|
||||
eBone_PinkyFinger3,
|
||||
eBone_PinkyFinger4,
|
||||
eBone_Aux_Thumb,
|
||||
eBone_Aux_IndexFinger,
|
||||
eBone_Aux_MiddleFinger,
|
||||
eBone_Aux_RingFinger,
|
||||
eBone_Aux_PinkyFinger,
|
||||
eBone_Count
|
||||
} OpenVRBone;
|
||||
|
||||
#define HEADSET k_unTrackedDeviceIndex_Hmd
|
||||
#define INVALID_DEVICE k_unTrackedDeviceIndexInvalid
|
||||
|
||||
|
@ -32,7 +72,15 @@ static struct {
|
|||
struct VR_IVRCompositor_FnTable* compositor;
|
||||
struct VR_IVRChaperone_FnTable* chaperone;
|
||||
struct VR_IVRRenderModels_FnTable* renderModels;
|
||||
TrackedDevicePose_t poses[16];
|
||||
struct VR_IVRInput_FnTable* input;
|
||||
VRActionSetHandle_t actionSet;
|
||||
VRActionHandle_t poseActions[MAX_DEVICES];
|
||||
VRActionHandle_t buttonActions[2][MAX_BUTTONS];
|
||||
VRActionHandle_t touchActions[2][MAX_BUTTONS];
|
||||
VRActionHandle_t axisActions[2][MAX_AXES];
|
||||
VRActionHandle_t skeletonActions[2];
|
||||
VRActionHandle_t hapticActions[2];
|
||||
TrackedDevicePose_t renderPose;
|
||||
RenderModel_t* deviceModels[16];
|
||||
RenderModel_TextureMap_t* deviceTextures[16];
|
||||
Canvas* canvas;
|
||||
|
@ -80,12 +128,86 @@ static bool openvr_init(float offset, int msaa) {
|
|||
sprintf(buffer, "FnTable:%s", IVRCompositor_Version), state.compositor = (struct VR_IVRCompositor_FnTable*) VR_GetGenericInterface(buffer, &vrError);
|
||||
sprintf(buffer, "FnTable:%s", IVRChaperone_Version), state.chaperone = (struct VR_IVRChaperone_FnTable*) VR_GetGenericInterface(buffer, &vrError);
|
||||
sprintf(buffer, "FnTable:%s", IVRRenderModels_Version), state.renderModels = (struct VR_IVRRenderModels_FnTable*) VR_GetGenericInterface(buffer, &vrError);
|
||||
sprintf(buffer, "FnTable:%s", IVRInput_Version), state.input = (struct VR_IVRInput_FnTable*) VR_GetGenericInterface(buffer, &vrError);
|
||||
|
||||
if (!state.system || !state.compositor || !state.chaperone || !state.renderModels) {
|
||||
if (!state.system || !state.compositor || !state.chaperone || !state.renderModels || !state.input) {
|
||||
VR_ShutdownInternal();
|
||||
return false;
|
||||
}
|
||||
|
||||
// Find the location of the action manifest, create it if it doesn't exist or isn't in the save directory
|
||||
const char* actionManifestLocation = lovrFilesystemGetRealDirectory("actions.json");
|
||||
if (!actionManifestLocation || strcmp(actionManifestLocation, lovrFilesystemGetSaveDirectory())) {
|
||||
if (lovrFilesystemWrite("actions.json", (const char*) actions_json, actions_json_len, false) != actions_json_len) { return VR_ShutdownInternal(), false; }
|
||||
if (lovrFilesystemWrite("bindings_vive.json", (const char*) bindings_vive_json, bindings_vive_json_len, false) != bindings_vive_json_len) { return VR_ShutdownInternal(), false; }
|
||||
if (lovrFilesystemWrite("bindings_knuckles.json", (const char*) bindings_knuckles_json, bindings_knuckles_json_len, false) != bindings_knuckles_json_len) { return VR_ShutdownInternal(), false; }
|
||||
}
|
||||
|
||||
char path[LOVR_PATH_MAX];
|
||||
snprintf(path, sizeof(path), "%s%cactions.json", lovrFilesystemGetSaveDirectory(), lovrDirSep);
|
||||
state.input->SetActionManifestPath(path);
|
||||
state.input->GetActionSetHandle("/actions/lovr", &state.actionSet);
|
||||
|
||||
state.input->GetActionHandle("/actions/lovr/in/headPose", &state.poseActions[DEVICE_HEAD]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftHandPose", &state.poseActions[DEVICE_HAND_LEFT]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightHandPose", &state.poseActions[DEVICE_HAND_RIGHT]);
|
||||
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftTriggerDown", &state.buttonActions[0][BUTTON_TRIGGER]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftThumbstickDown", &state.buttonActions[0][BUTTON_THUMBSTICK]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftTouchpadDown", &state.buttonActions[0][BUTTON_TOUCHPAD]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftGripDown", &state.buttonActions[0][BUTTON_GRIP]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftMenuDown", &state.buttonActions[0][BUTTON_MENU]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftADown", &state.buttonActions[0][BUTTON_A]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftBDown", &state.buttonActions[0][BUTTON_B]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftXDown", &state.buttonActions[0][BUTTON_X]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftYDown", &state.buttonActions[0][BUTTON_Y]);
|
||||
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightTriggerDown", &state.buttonActions[1][BUTTON_TRIGGER]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightThumbstickDown", &state.buttonActions[1][BUTTON_THUMBSTICK]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightTouchpadDown", &state.buttonActions[1][BUTTON_TOUCHPAD]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightGripDown", &state.buttonActions[1][BUTTON_GRIP]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightMenuDown", &state.buttonActions[1][BUTTON_MENU]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightADown", &state.buttonActions[1][BUTTON_A]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightBDown", &state.buttonActions[1][BUTTON_B]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightXDown", &state.buttonActions[1][BUTTON_X]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightYDown", &state.buttonActions[1][BUTTON_Y]);
|
||||
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftTriggerTouch", &state.touchActions[0][BUTTON_TRIGGER]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftThumbstickTouch", &state.touchActions[0][BUTTON_THUMBSTICK]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftTouchpadTouch", &state.touchActions[0][BUTTON_TOUCHPAD]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftGripTouch", &state.touchActions[0][BUTTON_GRIP]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftMenuTouch", &state.touchActions[0][BUTTON_MENU]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftATouch", &state.touchActions[0][BUTTON_A]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftBTouch", &state.touchActions[0][BUTTON_B]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftXTouch", &state.touchActions[0][BUTTON_X]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftYTouch", &state.touchActions[0][BUTTON_Y]);
|
||||
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightTriggerTouch", &state.touchActions[1][BUTTON_TRIGGER]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightThumbstickTouch", &state.touchActions[1][BUTTON_THUMBSTICK]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightTouchpadTouch", &state.touchActions[1][BUTTON_TOUCHPAD]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightGripTouch", &state.touchActions[1][BUTTON_GRIP]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightMenuTouch", &state.touchActions[1][BUTTON_MENU]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightATouch", &state.touchActions[1][BUTTON_A]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightBTouch", &state.touchActions[1][BUTTON_B]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightXTouch", &state.touchActions[1][BUTTON_X]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightYTouch", &state.touchActions[1][BUTTON_Y]);
|
||||
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftTriggerAxis", &state.axisActions[0][AXIS_TRIGGER]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftThumbstickAxis", &state.axisActions[0][AXIS_THUMBSTICK]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftTouchpadAxis", &state.axisActions[0][AXIS_TOUCHPAD]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftGripAxis", &state.axisActions[0][AXIS_GRIP]);
|
||||
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightTriggerAxis", &state.axisActions[1][AXIS_TRIGGER]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightThumbstickAxis", &state.axisActions[1][AXIS_THUMBSTICK]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightTouchpadAxis", &state.axisActions[1][AXIS_TOUCHPAD]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightGripAxis", &state.axisActions[1][AXIS_GRIP]);
|
||||
|
||||
state.input->GetActionHandle("/actions/lovr/in/leftHandSkeleton", &state.skeletonActions[0]);
|
||||
state.input->GetActionHandle("/actions/lovr/in/rightHandSkeleton", &state.skeletonActions[1]);
|
||||
|
||||
state.input->GetActionHandle("/actions/lovr/out/leftHandBZZ", &state.hapticActions[0]);
|
||||
state.input->GetActionHandle("/actions/lovr/out/rightHandBZZ", &state.hapticActions[1]);
|
||||
|
||||
openvr_getName(buffer, sizeof(buffer));
|
||||
state.rift = !strncmp(buffer, "Oculus", sizeof(buffer));
|
||||
state.clipNear = 0.1f;
|
||||
|
@ -175,123 +297,134 @@ static const float* openvr_getBoundsGeometry(int* count) {
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static bool getTransform(unsigned int index, mat4 transform) {
|
||||
TrackedDevicePose_t pose = state.poses[index];
|
||||
if (!pose.bPoseIsValid || !pose.bDeviceIsConnected) {
|
||||
static bool getTransform(Device device, mat4 transform) {
|
||||
if (!state.poseActions[device]) {
|
||||
return false;
|
||||
} else {
|
||||
mat4_fromMat34(transform, pose.mDeviceToAbsoluteTracking.m);
|
||||
transform[13] += state.offset;
|
||||
return true;
|
||||
}
|
||||
|
||||
InputPoseActionData_t actionData;
|
||||
state.input->GetPoseActionData(state.poseActions[device], state.compositor->GetTrackingSpace(), 0.f, &actionData, sizeof(actionData), 0);
|
||||
mat4_fromMat34(transform, actionData.pose.mDeviceToAbsoluteTracking.m);
|
||||
transform[13] += state.offset;
|
||||
return actionData.bActive;
|
||||
}
|
||||
|
||||
static bool openvr_getPose(Device device, vec3 position, quat orientation) {
|
||||
float transform[16];
|
||||
TrackedDeviceIndex_t index = getDeviceIndex(device);
|
||||
if (index == INVALID_DEVICE || !getTransform(index, transform)) {
|
||||
if (getTransform(device, transform)) {
|
||||
mat4_getPosition(transform, position);
|
||||
mat4_getOrientation(transform, orientation);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool openvr_getBonePose(Device device, DeviceBone bone, vec3 position, quat orientation) {
|
||||
if (device != DEVICE_HAND_LEFT && device != DEVICE_HAND_RIGHT) {
|
||||
return false;
|
||||
}
|
||||
|
||||
float transform[16];
|
||||
if (!getTransform(device, transform)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
InputSkeletalActionData_t actionData;
|
||||
state.input->GetSkeletalActionData(state.skeletonActions[device - DEVICE_HAND_LEFT], &actionData, sizeof(actionData));
|
||||
|
||||
if (!actionData.bActive) {
|
||||
return false;
|
||||
}
|
||||
|
||||
VRBoneTransform_t bones[31];
|
||||
EVRSkeletalTransformSpace transformSpace = EVRSkeletalTransformSpace_VRSkeletalTransformSpace_Model;
|
||||
EVRSkeletalMotionRange motionRange = EVRSkeletalMotionRange_VRSkeletalMotionRange_WithController;
|
||||
state.input->GetSkeletalBoneData(state.skeletonActions[device - DEVICE_HAND_LEFT], transformSpace, motionRange, bones, sizeof(bones) / sizeof(bones[0]));
|
||||
|
||||
int index;
|
||||
switch (bone) {
|
||||
case BONE_THUMB_1: index = eBone_Thumb0; break;
|
||||
case BONE_THUMB_2: index = eBone_Thumb1; break;
|
||||
case BONE_THUMB_3: index = eBone_Thumb2; break;
|
||||
case BONE_THUMB: index = eBone_Thumb3; break;
|
||||
case BONE_INDEX_1: index = eBone_IndexFinger0; break;
|
||||
case BONE_INDEX_2: index = eBone_IndexFinger1; break;
|
||||
case BONE_INDEX_3: index = eBone_IndexFinger2; break;
|
||||
case BONE_INDEX_4: index = eBone_IndexFinger3; break;
|
||||
case BONE_INDEX: index = eBone_IndexFinger4; break;
|
||||
case BONE_MIDDLE_1: index = eBone_MiddleFinger0; break;
|
||||
case BONE_MIDDLE_2: index = eBone_MiddleFinger1; break;
|
||||
case BONE_MIDDLE_3: index = eBone_MiddleFinger2; break;
|
||||
case BONE_MIDDLE_4: index = eBone_MiddleFinger3; break;
|
||||
case BONE_MIDDLE: index = eBone_MiddleFinger4; break;
|
||||
case BONE_RING_1: index = eBone_RingFinger0; break;
|
||||
case BONE_RING_2: index = eBone_RingFinger1; break;
|
||||
case BONE_RING_3: index = eBone_RingFinger2; break;
|
||||
case BONE_RING_4: index = eBone_RingFinger3; break;
|
||||
case BONE_RING: index = eBone_RingFinger4; break;
|
||||
case BONE_PINKY_1: index = eBone_PinkyFinger0; break;
|
||||
case BONE_PINKY_2: index = eBone_PinkyFinger1; break;
|
||||
case BONE_PINKY_3: index = eBone_PinkyFinger2; break;
|
||||
case BONE_PINKY_4: index = eBone_PinkyFinger3; break;
|
||||
case BONE_PINKY: index = eBone_PinkyFinger4; break;
|
||||
default: return false;
|
||||
}
|
||||
|
||||
VRBoneTransform_t* b = &bones[index];
|
||||
mat4_translate(transform, b->position.v[0], b->position.v[1], b->position.v[2]);
|
||||
mat4_rotateQuat(transform, (float[4]) { b->orientation.x, b->orientation.y, b->orientation.z, b->orientation.w });
|
||||
mat4_getPosition(transform, position);
|
||||
mat4_getOrientation(transform, orientation);
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool openvr_getBonePose(Device device, DeviceBone bone, vec3 position, quat orientation) {
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool openvr_getVelocity(Device device, vec3 velocity, vec3 angularVelocity) {
|
||||
TrackedDeviceIndex_t index = getDeviceIndex(device);
|
||||
TrackedDevicePose_t* pose = &state.poses[device];
|
||||
if (index == INVALID_DEVICE || !pose->bPoseIsValid || !pose->bDeviceIsConnected) {
|
||||
if (!state.poseActions[device]) {
|
||||
return false;
|
||||
}
|
||||
|
||||
vec3_init(velocity, pose->vVelocity.v);
|
||||
vec3_init(angularVelocity, pose->vAngularVelocity.v);
|
||||
return true;
|
||||
InputPoseActionData_t actionData;
|
||||
state.input->GetPoseActionData(state.poseActions[device], state.compositor->GetTrackingSpace(), 0.f, &actionData, sizeof(actionData), 0);
|
||||
vec3_init(velocity, actionData.pose.vVelocity.v);
|
||||
vec3_init(angularVelocity, actionData.pose.vAngularVelocity.v);
|
||||
return actionData.bActive;
|
||||
}
|
||||
|
||||
static bool openvr_getAcceleration(Device device, vec3 acceleration, vec3 angularAcceleration) {
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool getButtonState(Device device, DeviceButton button, bool touch, bool* value) {
|
||||
VRControllerState_t input;
|
||||
|
||||
if (device == DEVICE_HEAD && button == BUTTON_PROXIMITY && !touch) {
|
||||
if (!state.system->GetControllerState(HEADSET, &input, sizeof(input))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return *value = (input.ulButtonPressed >> EVRButtonId_k_EButton_ProximitySensor) & 1, true;
|
||||
static bool getButtonState(Device device, DeviceButton button, VRActionHandle_t actions[2][MAX_BUTTONS], bool* value) {
|
||||
if (device != DEVICE_HAND_LEFT && device != DEVICE_HAND_RIGHT) {
|
||||
return false;
|
||||
}
|
||||
|
||||
TrackedDeviceIndex_t index = getDeviceIndex(device);
|
||||
if (index != INVALID_DEVICE || state.system->GetControllerState(index, &input, sizeof(input))) {
|
||||
uint64_t mask = touch ? input.ulButtonTouched : input.ulButtonPressed;
|
||||
|
||||
if (state.rift) {
|
||||
switch (button) {
|
||||
case BUTTON_TRIGGER: return *value = (mask >> EVRButtonId_k_EButton_Axis1) & 1, true;
|
||||
case BUTTON_GRIP: return *value = (mask >> EVRButtonId_k_EButton_Axis2) & 1, true;
|
||||
case BUTTON_A: return *value = (mask >> EVRButtonId_k_EButton_A) & 1, device == DEVICE_HAND_RIGHT;
|
||||
case BUTTON_B: return *value = (mask >> EVRButtonId_k_EButton_ApplicationMenu) & 1, device == DEVICE_HAND_RIGHT;
|
||||
case BUTTON_X: return *value = (mask >> EVRButtonId_k_EButton_A) & 1, device == DEVICE_HAND_LEFT;
|
||||
case BUTTON_Y: return *value = (mask >> EVRButtonId_k_EButton_ApplicationMenu) & 1, device == DEVICE_HAND_LEFT;
|
||||
default: return false;
|
||||
}
|
||||
} else {
|
||||
switch (button) {
|
||||
case BUTTON_TRIGGER: return *value = (mask >> EVRButtonId_k_EButton_SteamVR_Trigger) & 1, true;
|
||||
case BUTTON_TOUCHPAD: return *value = (mask >> EVRButtonId_k_EButton_SteamVR_Touchpad) & 1, true;
|
||||
case BUTTON_MENU: return *value = (mask >> EVRButtonId_k_EButton_ApplicationMenu) & 1, true;
|
||||
case BUTTON_GRIP: return *value = (mask >> EVRButtonId_k_EButton_Grip) & 1, true;
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
InputDigitalActionData_t actionData;
|
||||
state.input->GetDigitalActionData(actions[device - DEVICE_HAND_LEFT][button], &actionData, sizeof(actionData), 0);
|
||||
return *value = actionData.bState, actionData.bActive;
|
||||
}
|
||||
|
||||
static bool openvr_isDown(Device device, DeviceButton button, bool* down) {
|
||||
return getButtonState(device, button, false, down);
|
||||
return getButtonState(device, button, state.buttonActions, down);
|
||||
}
|
||||
|
||||
static bool openvr_isTouched(Device device, DeviceButton button, bool* touched) {
|
||||
return getButtonState(device, button, true, touched);
|
||||
return getButtonState(device, button, state.touchActions, touched);
|
||||
}
|
||||
|
||||
static bool openvr_getAxis(Device device, DeviceAxis axis, float* value) {
|
||||
TrackedDeviceIndex_t index = getDeviceIndex(device);
|
||||
|
||||
VRControllerState_t input;
|
||||
if (index != INVALID_DEVICE || state.system->GetControllerState(index, &input, sizeof(input))) {
|
||||
switch (axis) {
|
||||
case AXIS_TRIGGER: return *value = input.rAxis[1].x, true;
|
||||
case AXIS_GRIP: return *value = input.rAxis[2].x, state.rift;
|
||||
case AXIS_TOUCHPAD_X: return *value = input.rAxis[0].x, !state.rift;
|
||||
case AXIS_TOUCHPAD_Y: return *value = input.rAxis[0].y, !state.rift;
|
||||
case AXIS_THUMBSTICK_X: return *value = input.rAxis[0].x, state.rift;
|
||||
case AXIS_THUMBSTICK_Y: return *value = input.rAxis[0].y, state.rift;
|
||||
default: return false;
|
||||
}
|
||||
static bool openvr_getAxis(Device device, DeviceAxis axis, vec3 value) {
|
||||
if (device != DEVICE_HAND_LEFT && device != DEVICE_HAND_RIGHT) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
InputAnalogActionData_t actionData;
|
||||
state.input->GetAnalogActionData(state.axisActions[device - DEVICE_HAND_LEFT][axis], &actionData, sizeof(actionData), 0);
|
||||
return vec3_set(value, actionData.x, actionData.y, actionData.z), actionData.bActive;
|
||||
}
|
||||
|
||||
static bool openvr_vibrate(Device device, float strength, float duration, float frequency) {
|
||||
if (duration <= 0) return false;
|
||||
|
||||
TrackedDeviceIndex_t index = getDeviceIndex(device);
|
||||
if (index == INVALID_DEVICE) return false;
|
||||
|
||||
unsigned short uSeconds = (unsigned short) (duration * 1e6f + .5f);
|
||||
state.system->TriggerHapticPulse(index, 0, uSeconds);
|
||||
if (duration <= 0 || (device != DEVICE_HAND_LEFT && device != DEVICE_HAND_RIGHT)) return false;
|
||||
state.input->TriggerHapticVibrationAction(state.hapticActions[device - DEVICE_HAND_LEFT], 0.f, duration, frequency, strength, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -417,7 +550,7 @@ static void openvr_renderTo(void (*callback)(void*), void* userdata) {
|
|||
Camera camera = { .canvas = state.canvas, .viewMatrix = { MAT4_IDENTITY, MAT4_IDENTITY } };
|
||||
|
||||
float head[16], eye[16];
|
||||
getTransform(HEADSET, head);
|
||||
mat4_fromMat34(head, state.renderPose.mDeviceToAbsoluteTracking.m);
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
EVREye vrEye = (i == 0) ? EVREye_Eye_Left : EVREye_Eye_Right;
|
||||
|
@ -443,7 +576,9 @@ static void openvr_renderTo(void (*callback)(void*), void* userdata) {
|
|||
}
|
||||
|
||||
static void openvr_update(float dt) {
|
||||
state.compositor->WaitGetPoses(state.poses, 16, NULL, 0);
|
||||
state.compositor->WaitGetPoses(&state.renderPose, 1, NULL, 0);
|
||||
VRActiveActionSet_t activeActionSet = { .ulActionSet = state.actionSet };
|
||||
state.input->UpdateActionState(&activeActionSet, sizeof(activeActionSet), 1);
|
||||
|
||||
struct VREvent_t vrEvent;
|
||||
while (state.system->PollNextEvent(&vrEvent, sizeof(vrEvent))) {
|
||||
|
|
|
@ -60,8 +60,7 @@ typedef enum {
|
|||
ACTION_TRIGGER_AXIS,
|
||||
ACTION_TRACKPAD_DOWN,
|
||||
ACTION_TRACKPAD_TOUCH,
|
||||
ACTION_TRACKPAD_X,
|
||||
ACTION_TRACKPAD_Y,
|
||||
ACTION_TRACKPAD_AXIS,
|
||||
ACTION_MENU_DOWN,
|
||||
ACTION_MENU_TOUCH,
|
||||
ACTION_GRIP_DOWN,
|
||||
|
@ -77,8 +76,7 @@ static XrActionCreateInfo defaultActions[MAX_ACTIONS] = {
|
|||
[ACTION_TRIGGER_DOWN] = action("triggerDown", "Trigger Down", XR_INPUT_ACTION_TYPE_BOOLEAN, 2),
|
||||
[ACTION_TRIGGER_TOUCH] = action("triggerTouch", "Trigger Touch", XR_INPUT_ACTION_TYPE_BOOLEAN, 2),
|
||||
[ACTION_TRIGGER_AXIS] = action("triggerAxis", "Trigger Axis", XR_INPUT_ACTION_TYPE_VECTOR1F, 2),
|
||||
[ACTION_TRACKPAD_X] = action("trackpadX", "Trackpad X", XR_INPUT_ACTION_TYPE_VECTOR1F, 2),
|
||||
[ACTION_TRACKPAD_Y] = action("trackpadY", "Trackpad Y", XR_INPUT_ACTION_TYPE_VECTOR1F, 2),
|
||||
[ACTION_TRACKPAD_AXIS] = action("trackpadAxis", "Trackpad Axis", XR_INPUT_ACTION_TYPE_VECTOR2F, 2),
|
||||
[ACTION_MENU_DOWN] = action("menuDown", "Menu Down", XR_INPUT_ACTION_TYPE_BOOLEAN, 2),
|
||||
[ACTION_MENU_TOUCH] = action("menuTouch", "Menu Touch", XR_INPUT_ACTION_TYPE_BOOLEAN, 2),
|
||||
[ACTION_GRIP_DOWN] = action("gripDown", "Grip Down", XR_INPUT_ACTION_TYPE_BOOLEAN, 2),
|
||||
|
@ -106,10 +104,8 @@ static const char* defaultBindings[MAX_PROFILES][MAX_ACTIONS][2] = {
|
|||
[ACTION_TRIGGER_DOWN][1] = "/user/hand/right/input/trigger/click",
|
||||
[ACTION_TRIGGER_AXIS][0] = "/user/hand/left/input/trigger/value",
|
||||
[ACTION_TRIGGER_AXIS][1] = "/user/hand/right/input/trigger/value",
|
||||
[ACTION_TRACKPAD_X][0] = "/user/hand/left/input/trackpad/x",
|
||||
[ACTION_TRACKPAD_X][1] = "/user/hand/right/input/trackpad/x",
|
||||
[ACTION_TRACKPAD_Y][0] = "/user/hand/left/input/trackpad/y",
|
||||
[ACTION_TRACKPAD_Y][1] = "/user/hand/right/input/trackpad/y",
|
||||
[ACTION_TRACKPAD_AXIS][0] = "/user/hand/left/input/trackpad",
|
||||
[ACTION_TRACKPAD_AXIS][1] = "/user/hand/right/input/trackpad",
|
||||
[ACTION_MENU_DOWN][0] = "/user/hand/left/input/menu/click",
|
||||
[ACTION_MENU_DOWN][1] = "/user/hand/right/input/menu/click",
|
||||
[ACTION_GRIP_DOWN][0] = "/user/hand/left/input/grip/click",
|
||||
|
@ -126,10 +122,8 @@ static const char* defaultBindings[MAX_PROFILES][MAX_ACTIONS][2] = {
|
|||
[ACTION_TRIGGER_TOUCH][1] = "/user/hand/right/input/trigger/touch",
|
||||
[ACTION_TRIGGER_AXIS][0] = "/user/hand/left/input/trigger/value",
|
||||
[ACTION_TRIGGER_AXIS][1] = "/user/hand/right/input/trigger/value",
|
||||
[ACTION_TRACKPAD_X][0] = "/user/hand/left/input/trackpad/x",
|
||||
[ACTION_TRACKPAD_X][1] = "/user/hand/right/input/trackpad/x",
|
||||
[ACTION_TRACKPAD_Y][0] = "/user/hand/left/input/trackpad/y",
|
||||
[ACTION_TRACKPAD_Y][1] = "/user/hand/right/input/trackpad/y",
|
||||
[ACTION_TRACKPAD_AXIS][0] = "/user/hand/left/input/trackpad",
|
||||
[ACTION_TRACKPAD_AXIS][1] = "/user/hand/right/input/trackpad",
|
||||
[ACTION_MENU_DOWN][0] = "/user/hand/left/input/menu/click",
|
||||
[ACTION_MENU_DOWN][1] = "/user/hand/right/input/menu/click",
|
||||
[ACTION_MENU_TOUCH][0] = "/user/hand/left/input/menu/touch",
|
||||
|
@ -148,10 +142,8 @@ static const char* defaultBindings[MAX_PROFILES][MAX_ACTIONS][2] = {
|
|||
[ACTION_HAND_POSE][1] = "/user/hand/right/input/pointer/pose",
|
||||
[ACTION_TRIGGER_DOWN][0] = "/user/hand/left/input/trigger/click",
|
||||
[ACTION_TRIGGER_DOWN][1] = "/user/hand/right/input/trigger/click",
|
||||
[ACTION_TRACKPAD_X][0] = "/user/hand/left/input/trackpad/x",
|
||||
[ACTION_TRACKPAD_X][1] = "/user/hand/right/input/trackpad/x",
|
||||
[ACTION_TRACKPAD_Y][0] = "/user/hand/left/input/trackpad/y",
|
||||
[ACTION_TRACKPAD_Y][1] = "/user/hand/right/input/trackpad/y"
|
||||
[ACTION_TRACKPAD_AXIS][0] = "/user/hand/left/input/trackpad",
|
||||
[ACTION_TRACKPAD_AXIS][1] = "/user/hand/right/input/trackpad"
|
||||
},
|
||||
[PROFILE_KNUCKLES] = {
|
||||
[ACTION_HAND_POSE][0] = "/user/hand/left/input/pointer/pose",
|
||||
|
@ -162,10 +154,8 @@ static const char* defaultBindings[MAX_PROFILES][MAX_ACTIONS][2] = {
|
|||
[ACTION_TRIGGER_TOUCH][1] = "/user/hand/right/input/trigger/touch",
|
||||
[ACTION_TRIGGER_AXIS][0] = "/user/hand/left/input/trigger/value",
|
||||
[ACTION_TRIGGER_AXIS][1] = "/user/hand/right/input/trigger/value",
|
||||
[ACTION_TRACKPAD_X][0] = "/user/hand/left/input/trackpad/x",
|
||||
[ACTION_TRACKPAD_X][1] = "/user/hand/right/input/trackpad/x",
|
||||
[ACTION_TRACKPAD_Y][0] = "/user/hand/left/input/trackpad/y",
|
||||
[ACTION_TRACKPAD_Y][1] = "/user/hand/right/input/trackpad/y",
|
||||
[ACTION_TRACKPAD_AXIS][0] = "/user/hand/left/input/trackpad",
|
||||
[ACTION_TRACKPAD_AXIS][1] = "/user/hand/right/input/trackpad",
|
||||
[ACTION_GRIP_AXIS][0] = "/user/hand/left/input/grip/value",
|
||||
[ACTION_GRIP_AXIS][1] = "/user/hand/right/input/grip/value",
|
||||
[ACTION_VIBRATE][0] = "/user/hand/left/output/vibrate",
|
||||
|
@ -529,8 +519,7 @@ static bool openxr_getAxis(Device device, DeviceAxis axis, float* value) {
|
|||
Action type;
|
||||
switch (axis) {
|
||||
case AXIS_TRIGGER: type = ACTION_TRIGGER_AXIS; break;
|
||||
case AXIS_TOUCHPAD_X: type = ACTION_TRACKPAD_X; break;
|
||||
case AXIS_TOUCHPAD_Y: type = ACTION_TRACKPAD_Y; break;
|
||||
case AXIS_TOUCHPAD: type = ACTION_TRACKPAD_AXIS; break;
|
||||
case AXIS_GRIP: type = ACTION_GRIP_AXIS; break;
|
||||
default: return false;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,118 @@
|
|||
{
|
||||
"action_sets" : [
|
||||
{ "name" : "/actions/lovr", "usage" : "leftright" }
|
||||
],
|
||||
"actions" : [
|
||||
{ "name" : "/actions/lovr/in/headPose", "type" : "pose" },
|
||||
{ "name" : "/actions/lovr/in/leftHandPose", "type" : "pose" },
|
||||
{ "name" : "/actions/lovr/in/rightHandPose", "type" : "pose" },
|
||||
{ "name" : "/actions/lovr/in/leftTriggerDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftTriggerTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftTriggerAxis", "type" : "vector1" },
|
||||
{ "name" : "/actions/lovr/in/leftTouchpadDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftTouchpadTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftTouchpadAxis", "type" : "vector2" },
|
||||
{ "name" : "/actions/lovr/in/leftThumbstickDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftThumbstickTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftThumbstickAxis", "type" : "vector2" },
|
||||
{ "name" : "/actions/lovr/in/leftGripDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftGripTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftGripAxis", "type" : "vector1" },
|
||||
{ "name" : "/actions/lovr/in/leftMenuDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftMenuTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftADown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftATouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftBDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftBTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftXDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftXTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftYDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftYTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightTriggerDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightTriggerTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightTriggerAxis", "type" : "vector1" },
|
||||
{ "name" : "/actions/lovr/in/rightTouchpadDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightTouchpadTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightTouchpadAxis", "type" : "vector2" },
|
||||
{ "name" : "/actions/lovr/in/rightThumbstickDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightThumbstickTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightThumbstickAxis", "type" : "vector2" },
|
||||
{ "name" : "/actions/lovr/in/rightGripDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightGripTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightGripAxis", "type" : "vector1" },
|
||||
{ "name" : "/actions/lovr/in/rightMenuDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightMenuTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightADown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightATouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightBDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightBTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightXDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightXTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightYDown", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/rightYTouch", "type" : "boolean" },
|
||||
{ "name" : "/actions/lovr/in/leftHandSkeleton", "skeleton" : "/skeleton/hand/left", "type" : "skeleton" },
|
||||
{ "name" : "/actions/lovr/in/rightHandSkeleton", "skeleton" : "/skeleton/hand/right", "type" : "skeleton" },
|
||||
{ "name" : "/actions/lovr/out/leftHandBZZ", "type" : "vibration" },
|
||||
{ "name" : "/actions/lovr/out/rightHandBZZ", "type" : "vibration" }
|
||||
],
|
||||
"default_bindings" : [
|
||||
{ "binding_url" : "bindings_vive.json", "controller_type" : "vive_controller" },
|
||||
{ "binding_url" : "bindings_knuckles.json", "controller_type" : "knuckles" }
|
||||
],
|
||||
"localization" : [
|
||||
{
|
||||
"/actions/lovr/in/headPose": "Head Pose",
|
||||
"/actions/lovr/in/leftHandPose": "Left Hand Pose",
|
||||
"/actions/lovr/in/rightHandPose": "Right Hand Pose",
|
||||
"/actions/lovr/in/leftTriggerDown": "Left Trigger Press",
|
||||
"/actions/lovr/in/leftTriggerTouch": "Left Trigger Touch",
|
||||
"/actions/lovr/in/leftTriggerAxis": "Left Trigger Axis",
|
||||
"/actions/lovr/in/leftTouchpadDown": "Left Touchpad Press",
|
||||
"/actions/lovr/in/leftTouchpadTouch": "Left Touchpad Touch",
|
||||
"/actions/lovr/in/leftTouchpadAxis": "Left Touchpad Axis",
|
||||
"/actions/lovr/in/leftThumbstickDown": "Left Thumbstick Press",
|
||||
"/actions/lovr/in/leftThumbstickTouch": "Left Thumbstick Touch",
|
||||
"/actions/lovr/in/leftThumbstickAxis": "Left Thumbstick Axis",
|
||||
"/actions/lovr/in/leftGripDown": "Left Grip Press",
|
||||
"/actions/lovr/in/leftGripTouch": "Left Grip Touch",
|
||||
"/actions/lovr/in/leftGripAxis": "Left Grip Axis",
|
||||
"/actions/lovr/in/leftMenuDown": "Left Menu Press",
|
||||
"/actions/lovr/in/leftMenuTouch": "Left Menu Touch",
|
||||
"/actions/lovr/in/leftADown": "Left A Press",
|
||||
"/actions/lovr/in/leftATouch": "Left A Touch",
|
||||
"/actions/lovr/in/leftBDown": "Left B Press",
|
||||
"/actions/lovr/in/leftBTouch": "Left B Touch",
|
||||
"/actions/lovr/in/leftXDown": "Left X Press",
|
||||
"/actions/lovr/in/leftXTouch": "Left X Touch",
|
||||
"/actions/lovr/in/leftYDown": "Left Y Press",
|
||||
"/actions/lovr/in/leftYTouch": "Left Y Touch",
|
||||
"/actions/lovr/in/rightTriggerDown": "Right Trigger Press",
|
||||
"/actions/lovr/in/rightTriggerTouch": "Right Trigger Touch",
|
||||
"/actions/lovr/in/rightTriggerAxis": "Right Trigger Axis",
|
||||
"/actions/lovr/in/rightTouchpadDown": "Right Touchpad Press",
|
||||
"/actions/lovr/in/rightTouchpadTouch": "Right Touchpad Touch",
|
||||
"/actions/lovr/in/rightTouchpadAxis": "Right Touchpad Axis",
|
||||
"/actions/lovr/in/rightThumbstickDown": "Right Thumbstick Press",
|
||||
"/actions/lovr/in/rightThumbstickTouch": "Right Thumbstick Touch",
|
||||
"/actions/lovr/in/rightThumbstickAxis": "Right Thumbstick Axis",
|
||||
"/actions/lovr/in/rightGripDown": "Right Grip Press",
|
||||
"/actions/lovr/in/rightGripTouch": "Right Grip Touch",
|
||||
"/actions/lovr/in/rightGripAxis": "Right Grip Axis",
|
||||
"/actions/lovr/in/rightMenuDown": "Right Menu Press",
|
||||
"/actions/lovr/in/rightMenuTouch": "Right Menu Touch",
|
||||
"/actions/lovr/in/rightADown": "Right A Press",
|
||||
"/actions/lovr/in/rightATouch": "Right A Touch",
|
||||
"/actions/lovr/in/rightBDown": "Right B Press",
|
||||
"/actions/lovr/in/rightBTouch": "Right B Touch",
|
||||
"/actions/lovr/in/rightXDown": "Right X Press",
|
||||
"/actions/lovr/in/rightXTouch": "Right X Touch",
|
||||
"/actions/lovr/in/rightYDown": "Right Y Press",
|
||||
"/actions/lovr/in/rightYTouch": "Right Y Touch",
|
||||
"/actions/lovr/in/leftHandSkeleton": "Left Hand Skeleton",
|
||||
"/actions/lovr/in/rightHandSkeleton": "Right Hand Skeleton",
|
||||
"/actions/lovr/out/leftHandBZZ": "Left Hand BZZ",
|
||||
"/actions/lovr/out/rightHandBZZ": "Right Hand BZZ",
|
||||
"language_tag" : "en"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,610 @@
|
|||
unsigned char actions_json[] = {
|
||||
0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x5f, 0x73, 0x65, 0x74, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x5b, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x75, 0x73, 0x61,
|
||||
0x67, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x65, 0x66, 0x74, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x5d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x22, 0x20, 0x3a, 0x20, 0x5b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76,
|
||||
0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x73,
|
||||
0x65, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x70, 0x6f, 0x73, 0x65, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66,
|
||||
0x74, 0x48, 0x61, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x65, 0x22, 0x2c, 0x20,
|
||||
0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x70, 0x6f,
|
||||
0x73, 0x65, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76,
|
||||
0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x48, 0x61,
|
||||
0x6e, 0x64, 0x50, 0x6f, 0x73, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79,
|
||||
0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x70, 0x6f, 0x73, 0x65, 0x22,
|
||||
0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69,
|
||||
0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
|
||||
0x72, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61,
|
||||
0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b,
|
||||
0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x72, 0x69, 0x67,
|
||||
0x67, 0x65, 0x72, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x20, 0x22,
|
||||
0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f,
|
||||
0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c,
|
||||
0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54,
|
||||
0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x78, 0x69, 0x73, 0x22, 0x2c,
|
||||
0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x76,
|
||||
0x65, 0x63, 0x74, 0x6f, 0x72, 0x31, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66,
|
||||
0x74, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64, 0x44, 0x6f, 0x77,
|
||||
0x6e, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f,
|
||||
0x6c, 0x65, 0x66, 0x74, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64,
|
||||
0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61,
|
||||
0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b,
|
||||
0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x6f, 0x75, 0x63,
|
||||
0x68, 0x70, 0x61, 0x64, 0x41, 0x78, 0x69, 0x73, 0x22, 0x2c, 0x20, 0x22,
|
||||
0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x76, 0x65, 0x63,
|
||||
0x74, 0x6f, 0x72, 0x32, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c,
|
||||
0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54,
|
||||
0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x44, 0x6f, 0x77,
|
||||
0x6e, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f,
|
||||
0x6c, 0x65, 0x66, 0x74, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69,
|
||||
0x63, 0x6b, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x20, 0x22, 0x74,
|
||||
0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c,
|
||||
0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x68,
|
||||
0x75, 0x6d, 0x62, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x41, 0x78, 0x69, 0x73,
|
||||
0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x22, 0x20, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c,
|
||||
0x65, 0x66, 0x74, 0x47, 0x72, 0x69, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x22,
|
||||
0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65,
|
||||
0x66, 0x74, 0x47, 0x72, 0x69, 0x70, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22,
|
||||
0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65,
|
||||
0x66, 0x74, 0x47, 0x72, 0x69, 0x70, 0x41, 0x78, 0x69, 0x73, 0x22, 0x2c,
|
||||
0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x76,
|
||||
0x65, 0x63, 0x74, 0x6f, 0x72, 0x31, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66,
|
||||
0x74, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x2c, 0x20,
|
||||
0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f,
|
||||
0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74,
|
||||
0x4d, 0x65, 0x6e, 0x75, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x20,
|
||||
0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f,
|
||||
0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74,
|
||||
0x41, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61,
|
||||
0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b,
|
||||
0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x41, 0x54, 0x6f, 0x75,
|
||||
0x63, 0x68, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20,
|
||||
0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e,
|
||||
0x2f, 0x6c, 0x65, 0x66, 0x74, 0x42, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x2c,
|
||||
0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62,
|
||||
0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66,
|
||||
0x74, 0x42, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x20, 0x22, 0x74,
|
||||
0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c,
|
||||
0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x58, 0x44,
|
||||
0x6f, 0x77, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22,
|
||||
0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69,
|
||||
0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x58, 0x54, 0x6f, 0x75, 0x63, 0x68,
|
||||
0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c,
|
||||
0x65, 0x66, 0x74, 0x59, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x2c, 0x20, 0x22,
|
||||
0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f,
|
||||
0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c,
|
||||
0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x59,
|
||||
0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61,
|
||||
0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b,
|
||||
0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x72, 0x69,
|
||||
0x67, 0x67, 0x65, 0x72, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x2c, 0x20, 0x22,
|
||||
0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f,
|
||||
0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c,
|
||||
0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74,
|
||||
0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x6f, 0x75, 0x63, 0x68,
|
||||
0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41,
|
||||
0x78, 0x69, 0x73, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x31, 0x22,
|
||||
0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69,
|
||||
0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x75, 0x63, 0x68,
|
||||
0x70, 0x61, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x74,
|
||||
0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c,
|
||||
0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54,
|
||||
0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64, 0x54, 0x6f, 0x75, 0x63, 0x68,
|
||||
0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64,
|
||||
0x41, 0x78, 0x69, 0x73, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32,
|
||||
0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20,
|
||||
0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f,
|
||||
0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x68, 0x75, 0x6d,
|
||||
0x62, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x2c,
|
||||
0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62,
|
||||
0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67,
|
||||
0x68, 0x74, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69, 0x63, 0x6b,
|
||||
0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61,
|
||||
0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b,
|
||||
0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x68, 0x75,
|
||||
0x6d, 0x62, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x41, 0x78, 0x69, 0x73, 0x22,
|
||||
0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x22, 0x20, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69,
|
||||
0x67, 0x68, 0x74, 0x47, 0x72, 0x69, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x22,
|
||||
0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69,
|
||||
0x67, 0x68, 0x74, 0x47, 0x72, 0x69, 0x70, 0x54, 0x6f, 0x75, 0x63, 0x68,
|
||||
0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x47, 0x72, 0x69, 0x70, 0x41, 0x78, 0x69, 0x73,
|
||||
0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x31, 0x22, 0x20, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x6f, 0x77, 0x6e,
|
||||
0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x6e, 0x75, 0x54, 0x6f, 0x75, 0x63,
|
||||
0x68, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f,
|
||||
0x72, 0x69, 0x67, 0x68, 0x74, 0x41, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x2c,
|
||||
0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62,
|
||||
0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67,
|
||||
0x68, 0x74, 0x41, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x20, 0x22,
|
||||
0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f,
|
||||
0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c,
|
||||
0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74,
|
||||
0x42, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61,
|
||||
0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b,
|
||||
0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x42, 0x54, 0x6f,
|
||||
0x75, 0x63, 0x68, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22,
|
||||
0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69,
|
||||
0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x58, 0x44, 0x6f, 0x77, 0x6e,
|
||||
0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x58, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c,
|
||||
0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62,
|
||||
0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67,
|
||||
0x68, 0x74, 0x59, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x74,
|
||||
0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c,
|
||||
0x65, 0x61, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x59,
|
||||
0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61,
|
||||
0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b,
|
||||
0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x48, 0x61, 0x6e, 0x64,
|
||||
0x53, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x22, 0x2c, 0x20, 0x22,
|
||||
0x73, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x2f, 0x73, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x2f, 0x68,
|
||||
0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x22, 0x2c, 0x20, 0x22,
|
||||
0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x73, 0x6b, 0x65,
|
||||
0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f,
|
||||
0x6e, 0x22, 0x2c, 0x20, 0x22, 0x73, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f,
|
||||
0x6e, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x73, 0x6b, 0x65, 0x6c, 0x65,
|
||||
0x74, 0x6f, 0x6e, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x72, 0x69, 0x67,
|
||||
0x68, 0x74, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x73, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x22,
|
||||
0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x6f,
|
||||
0x75, 0x74, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x42,
|
||||
0x5a, 0x5a, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x76, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20,
|
||||
0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f,
|
||||
0x6f, 0x75, 0x74, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x48, 0x61, 0x6e,
|
||||
0x64, 0x42, 0x5a, 0x5a, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x76, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x5d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x22, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
|
||||
0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x5b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x62, 0x69,
|
||||
0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x76,
|
||||
0x69, 0x76, 0x65, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x2c, 0x20, 0x22,
|
||||
0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x74,
|
||||
0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x76, 0x69, 0x76, 0x65,
|
||||
0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22,
|
||||
0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22,
|
||||
0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73,
|
||||
0x5f, 0x6b, 0x6e, 0x75, 0x63, 0x6b, 0x6c, 0x65, 0x73, 0x2e, 0x6a, 0x73,
|
||||
0x6f, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
|
||||
0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x6b, 0x6e, 0x75, 0x63, 0x6b, 0x6c, 0x65, 0x73, 0x22, 0x20,
|
||||
0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x5d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x22,
|
||||
0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x5b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69,
|
||||
0x6e, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x73, 0x65, 0x22, 0x3a,
|
||||
0x20, 0x22, 0x48, 0x65, 0x61, 0x64, 0x20, 0x50, 0x6f, 0x73, 0x65, 0x22,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f,
|
||||
0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x50,
|
||||
0x6f, 0x73, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x4c, 0x65, 0x66, 0x74, 0x20,
|
||||
0x48, 0x61, 0x6e, 0x64, 0x20, 0x50, 0x6f, 0x73, 0x65, 0x22, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e,
|
||||
0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x50, 0x6f,
|
||||
0x73, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20,
|
||||
0x48, 0x61, 0x6e, 0x64, 0x20, 0x50, 0x6f, 0x73, 0x65, 0x22, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e,
|
||||
0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
|
||||
0x44, 0x6f, 0x77, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x4c, 0x65, 0x66, 0x74,
|
||||
0x20, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, 0x50, 0x72, 0x65,
|
||||
0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x72,
|
||||
0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x3a,
|
||||
0x20, 0x22, 0x4c, 0x65, 0x66, 0x74, 0x20, 0x54, 0x72, 0x69, 0x67, 0x67,
|
||||
0x65, 0x72, 0x20, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f,
|
||||
0x6c, 0x65, 0x66, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41,
|
||||
0x78, 0x69, 0x73, 0x22, 0x3a, 0x20, 0x22, 0x4c, 0x65, 0x66, 0x74, 0x20,
|
||||
0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, 0x41, 0x78, 0x69, 0x73,
|
||||
0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x6f, 0x75, 0x63,
|
||||
0x68, 0x70, 0x61, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x3a, 0x20, 0x22,
|
||||
0x4c, 0x65, 0x66, 0x74, 0x20, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61,
|
||||
0x64, 0x20, 0x50, 0x72, 0x65, 0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c,
|
||||
0x65, 0x66, 0x74, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64, 0x54,
|
||||
0x6f, 0x75, 0x63, 0x68, 0x22, 0x3a, 0x20, 0x22, 0x4c, 0x65, 0x66, 0x74,
|
||||
0x20, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64, 0x20, 0x54, 0x6f,
|
||||
0x75, 0x63, 0x68, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c,
|
||||
0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54,
|
||||
0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64, 0x41, 0x78, 0x69, 0x73, 0x22,
|
||||
0x3a, 0x20, 0x22, 0x4c, 0x65, 0x66, 0x74, 0x20, 0x54, 0x6f, 0x75, 0x63,
|
||||
0x68, 0x70, 0x61, 0x64, 0x20, 0x41, 0x78, 0x69, 0x73, 0x22, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e,
|
||||
0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74,
|
||||
0x69, 0x63, 0x6b, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x4c,
|
||||
0x65, 0x66, 0x74, 0x20, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69,
|
||||
0x63, 0x6b, 0x20, 0x50, 0x72, 0x65, 0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f,
|
||||
0x6c, 0x65, 0x66, 0x74, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69,
|
||||
0x63, 0x6b, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x3a, 0x20, 0x22, 0x4c,
|
||||
0x65, 0x66, 0x74, 0x20, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69,
|
||||
0x63, 0x6b, 0x20, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f,
|
||||
0x6c, 0x65, 0x66, 0x74, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69,
|
||||
0x63, 0x6b, 0x41, 0x78, 0x69, 0x73, 0x22, 0x3a, 0x20, 0x22, 0x4c, 0x65,
|
||||
0x66, 0x74, 0x20, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69, 0x63,
|
||||
0x6b, 0x20, 0x41, 0x78, 0x69, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65,
|
||||
0x66, 0x74, 0x47, 0x72, 0x69, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x3a,
|
||||
0x20, 0x22, 0x4c, 0x65, 0x66, 0x74, 0x20, 0x47, 0x72, 0x69, 0x70, 0x20,
|
||||
0x50, 0x72, 0x65, 0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66,
|
||||
0x74, 0x47, 0x72, 0x69, 0x70, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x3a,
|
||||
0x20, 0x22, 0x4c, 0x65, 0x66, 0x74, 0x20, 0x47, 0x72, 0x69, 0x70, 0x20,
|
||||
0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66,
|
||||
0x74, 0x47, 0x72, 0x69, 0x70, 0x41, 0x78, 0x69, 0x73, 0x22, 0x3a, 0x20,
|
||||
0x22, 0x4c, 0x65, 0x66, 0x74, 0x20, 0x47, 0x72, 0x69, 0x70, 0x20, 0x41,
|
||||
0x78, 0x69, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c,
|
||||
0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x4d,
|
||||
0x65, 0x6e, 0x75, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x4c,
|
||||
0x65, 0x66, 0x74, 0x20, 0x4d, 0x65, 0x6e, 0x75, 0x20, 0x50, 0x72, 0x65,
|
||||
0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x4d, 0x65,
|
||||
0x6e, 0x75, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x3a, 0x20, 0x22, 0x4c,
|
||||
0x65, 0x66, 0x74, 0x20, 0x4d, 0x65, 0x6e, 0x75, 0x20, 0x54, 0x6f, 0x75,
|
||||
0x63, 0x68, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x41, 0x44,
|
||||
0x6f, 0x77, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x4c, 0x65, 0x66, 0x74, 0x20,
|
||||
0x41, 0x20, 0x50, 0x72, 0x65, 0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c,
|
||||
0x65, 0x66, 0x74, 0x41, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x3a, 0x20,
|
||||
0x22, 0x4c, 0x65, 0x66, 0x74, 0x20, 0x41, 0x20, 0x54, 0x6f, 0x75, 0x63,
|
||||
0x68, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76,
|
||||
0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x42, 0x44, 0x6f,
|
||||
0x77, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x4c, 0x65, 0x66, 0x74, 0x20, 0x42,
|
||||
0x20, 0x50, 0x72, 0x65, 0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65,
|
||||
0x66, 0x74, 0x42, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x3a, 0x20, 0x22,
|
||||
0x4c, 0x65, 0x66, 0x74, 0x20, 0x42, 0x20, 0x54, 0x6f, 0x75, 0x63, 0x68,
|
||||
0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x58, 0x44, 0x6f, 0x77,
|
||||
0x6e, 0x22, 0x3a, 0x20, 0x22, 0x4c, 0x65, 0x66, 0x74, 0x20, 0x58, 0x20,
|
||||
0x50, 0x72, 0x65, 0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66,
|
||||
0x74, 0x58, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x3a, 0x20, 0x22, 0x4c,
|
||||
0x65, 0x66, 0x74, 0x20, 0x58, 0x20, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f,
|
||||
0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x59, 0x44, 0x6f, 0x77, 0x6e,
|
||||
0x22, 0x3a, 0x20, 0x22, 0x4c, 0x65, 0x66, 0x74, 0x20, 0x59, 0x20, 0x50,
|
||||
0x72, 0x65, 0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74,
|
||||
0x59, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x3a, 0x20, 0x22, 0x4c, 0x65,
|
||||
0x66, 0x74, 0x20, 0x59, 0x20, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69,
|
||||
0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67,
|
||||
0x65, 0x72, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x52, 0x69,
|
||||
0x67, 0x68, 0x74, 0x20, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20,
|
||||
0x50, 0x72, 0x65, 0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67,
|
||||
0x68, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x6f, 0x75,
|
||||
0x63, 0x68, 0x22, 0x3a, 0x20, 0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20,
|
||||
0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, 0x54, 0x6f, 0x75, 0x63,
|
||||
0x68, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76,
|
||||
0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x72,
|
||||
0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x78, 0x69, 0x73, 0x22, 0x3a, 0x20,
|
||||
0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x54, 0x72, 0x69, 0x67, 0x67,
|
||||
0x65, 0x72, 0x20, 0x41, 0x78, 0x69, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64,
|
||||
0x44, 0x6f, 0x77, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x52, 0x69, 0x67, 0x68,
|
||||
0x74, 0x20, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64, 0x20, 0x50,
|
||||
0x72, 0x65, 0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64, 0x54, 0x6f, 0x75,
|
||||
0x63, 0x68, 0x22, 0x3a, 0x20, 0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20,
|
||||
0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64, 0x20, 0x54, 0x6f, 0x75,
|
||||
0x63, 0x68, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54,
|
||||
0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64, 0x41, 0x78, 0x69, 0x73, 0x22,
|
||||
0x3a, 0x20, 0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x54, 0x6f, 0x75,
|
||||
0x63, 0x68, 0x70, 0x61, 0x64, 0x20, 0x41, 0x78, 0x69, 0x73, 0x22, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69,
|
||||
0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x68, 0x75, 0x6d, 0x62,
|
||||
0x73, 0x74, 0x69, 0x63, 0x6b, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x3a, 0x20,
|
||||
0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x54, 0x68, 0x75, 0x6d, 0x62,
|
||||
0x73, 0x74, 0x69, 0x63, 0x6b, 0x20, 0x50, 0x72, 0x65, 0x73, 0x73, 0x22,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f,
|
||||
0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x68, 0x75, 0x6d,
|
||||
0x62, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22,
|
||||
0x3a, 0x20, 0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x54, 0x68, 0x75,
|
||||
0x6d, 0x62, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x20, 0x54, 0x6f, 0x75, 0x63,
|
||||
0x68, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76,
|
||||
0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x68,
|
||||
0x75, 0x6d, 0x62, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x41, 0x78, 0x69, 0x73,
|
||||
0x22, 0x3a, 0x20, 0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x54, 0x68,
|
||||
0x75, 0x6d, 0x62, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x20, 0x41, 0x78, 0x69,
|
||||
0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76,
|
||||
0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x47, 0x72,
|
||||
0x69, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x52, 0x69,
|
||||
0x67, 0x68, 0x74, 0x20, 0x47, 0x72, 0x69, 0x70, 0x20, 0x50, 0x72, 0x65,
|
||||
0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x47,
|
||||
0x72, 0x69, 0x70, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x3a, 0x20, 0x22,
|
||||
0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x47, 0x72, 0x69, 0x70, 0x20, 0x54,
|
||||
0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x47, 0x72, 0x69, 0x70, 0x41, 0x78, 0x69, 0x73, 0x22, 0x3a, 0x20,
|
||||
0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x47, 0x72, 0x69, 0x70, 0x20,
|
||||
0x41, 0x78, 0x69, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x3a, 0x20,
|
||||
0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x4d, 0x65, 0x6e, 0x75, 0x20,
|
||||
0x50, 0x72, 0x65, 0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67,
|
||||
0x68, 0x74, 0x4d, 0x65, 0x6e, 0x75, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22,
|
||||
0x3a, 0x20, 0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x4d, 0x65, 0x6e,
|
||||
0x75, 0x20, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x41, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x3a, 0x20,
|
||||
0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x41, 0x20, 0x50, 0x72, 0x65,
|
||||
0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x41,
|
||||
0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x3a, 0x20, 0x22, 0x52, 0x69, 0x67,
|
||||
0x68, 0x74, 0x20, 0x41, 0x20, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69,
|
||||
0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x42, 0x44, 0x6f, 0x77, 0x6e,
|
||||
0x22, 0x3a, 0x20, 0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x42, 0x20,
|
||||
0x50, 0x72, 0x65, 0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67,
|
||||
0x68, 0x74, 0x42, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x3a, 0x20, 0x22,
|
||||
0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x42, 0x20, 0x54, 0x6f, 0x75, 0x63,
|
||||
0x68, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76,
|
||||
0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x58, 0x44,
|
||||
0x6f, 0x77, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x52, 0x69, 0x67, 0x68, 0x74,
|
||||
0x20, 0x58, 0x20, 0x50, 0x72, 0x65, 0x73, 0x73, 0x22, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f,
|
||||
0x72, 0x69, 0x67, 0x68, 0x74, 0x58, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22,
|
||||
0x3a, 0x20, 0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x58, 0x20, 0x54,
|
||||
0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x59, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x52, 0x69,
|
||||
0x67, 0x68, 0x74, 0x20, 0x59, 0x20, 0x50, 0x72, 0x65, 0x73, 0x73, 0x22,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f,
|
||||
0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x59, 0x54, 0x6f, 0x75,
|
||||
0x63, 0x68, 0x22, 0x3a, 0x20, 0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20,
|
||||
0x59, 0x20, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c,
|
||||
0x65, 0x66, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x6b, 0x65, 0x6c, 0x65,
|
||||
0x74, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x4c, 0x65, 0x66, 0x74, 0x20,
|
||||
0x48, 0x61, 0x6e, 0x64, 0x20, 0x53, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f,
|
||||
0x6e, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76,
|
||||
0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x48, 0x61,
|
||||
0x6e, 0x64, 0x53, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x22, 0x3a,
|
||||
0x20, 0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x48, 0x61, 0x6e, 0x64,
|
||||
0x20, 0x53, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x22, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x6f, 0x75,
|
||||
0x74, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x42, 0x5a,
|
||||
0x5a, 0x22, 0x3a, 0x20, 0x22, 0x4c, 0x65, 0x66, 0x74, 0x20, 0x48, 0x61,
|
||||
0x6e, 0x64, 0x20, 0x42, 0x5a, 0x5a, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x6f, 0x75, 0x74, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x42, 0x5a, 0x5a, 0x22,
|
||||
0x3a, 0x20, 0x22, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, 0x48, 0x61, 0x6e,
|
||||
0x64, 0x20, 0x42, 0x5a, 0x5a, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
|
||||
0x5f, 0x74, 0x61, 0x67, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x65, 0x6e, 0x22,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x5d,
|
||||
0x0d, 0x0a, 0x7d, 0x0d, 0x0a
|
||||
};
|
||||
unsigned int actions_json_len = 7277;
|
|
@ -0,0 +1,155 @@
|
|||
{
|
||||
"action_manifest_version" : 0,
|
||||
"alias_info" : {},
|
||||
"bindings" : {
|
||||
"/actions/lovr" : {
|
||||
"haptics" : [
|
||||
{ "output" : "/actions/lovr/out/leftHandBZZ", "path" : "/user/hand/left/output/haptic" },
|
||||
{ "output" : "/actions/lovr/out/rightHandBZZ", "path" : "/user/hand/right/output/haptic" }
|
||||
],
|
||||
"poses" : [
|
||||
{ "output" : "/actions/lovr/in/leftHandPose", "path" : "/user/hand/left/pose/raw" },
|
||||
{ "output" : "/actions/lovr/in/rightHandPose", "path" : "/user/hand/right/pose/raw" }
|
||||
],
|
||||
"skeleton" : [
|
||||
{ "output" : "/actions/lovr/in/leftHandSkeleton", "path" : "/user/hand/left/input/skeleton/left" },
|
||||
{ "output" : "/actions/lovr/in/rightHandSkeleton", "path" : "/user/hand/right/input/skeleton/right" }
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/leftTriggerDown" },
|
||||
"pull" : { "output" : "/actions/lovr/in/leftTriggerAxis" },
|
||||
"touch" : { "output" : "/actions/lovr/in/leftTriggerTouch" }
|
||||
},
|
||||
"mode" : "trigger",
|
||||
"path" : "/user/hand/left/input/trigger"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"position" : { "output" : "/actions/lovr/in/leftTouchpadAxis" },
|
||||
"touch" : { "output" : "/actions/lovr/in/leftTouchpadTouch" }
|
||||
},
|
||||
"mode" : "trackpad",
|
||||
"path" : "/user/hand/left/input/trackpad"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"pull" : { "output" : "/actions/lovr/in/leftGripAxis" },
|
||||
"touch" : { "output" : "/actions/lovr/in/leftGripTouch" }
|
||||
},
|
||||
"mode" : "trigger",
|
||||
"path" : "/user/hand/left/input/grip"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/rightTriggerDown" },
|
||||
"pull" : { "output" : "/actions/lovr/in/rightTriggerAxis" },
|
||||
"touch" : { "output" : "/actions/lovr/in/rightTriggerTouch" }
|
||||
},
|
||||
"mode" : "trigger",
|
||||
"path" : "/user/hand/right/input/trigger"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"position" : { "output" : "/actions/lovr/in/rightTouchpadAxis" },
|
||||
"touch" : { "output" : "/actions/lovr/in/rightTouchpadTouch" }
|
||||
},
|
||||
"mode" : "trackpad",
|
||||
"path" : "/user/hand/right/input/trackpad"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"pull" : { "output" : "/actions/lovr/in/rightGripAxis" },
|
||||
"touch" : { "output" : "/actions/lovr/in/rightGripTouch" }
|
||||
},
|
||||
"mode" : "trigger",
|
||||
"path" : "/user/hand/right/input/grip"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/leftThumbstickDown" },
|
||||
"position" : { "output" : "/actions/lovr/in/leftThumbstickAxis" },
|
||||
"touch" : { "output" : "/actions/lovr/in/leftThumbstickTouch" }
|
||||
},
|
||||
"mode" : "joystick",
|
||||
"path" : "/user/hand/left/input/thumbstick"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/leftBDown" },
|
||||
"touch" : { "output" : "/actions/lovr/in/leftBTouch" }
|
||||
},
|
||||
"mode" : "button",
|
||||
"path" : "/user/hand/left/input/b"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/leftADown" },
|
||||
"touch" : { "output" : "/actions/lovr/in/leftATouch" }
|
||||
},
|
||||
"mode" : "button",
|
||||
"path" : "/user/hand/left/input/a"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/rightThumbstickDown" },
|
||||
"position" : { "output" : "/actions/lovr/in/rightThumbstickAxis" },
|
||||
"touch" : { "output" : "/actions/lovr/in/rightThumbstickTouch" }
|
||||
},
|
||||
"mode" : "joystick",
|
||||
"path" : "/user/hand/right/input/thumbstick"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/rightBDown" },
|
||||
"touch" : { "output" : "/actions/lovr/in/rightBTouch" }
|
||||
},
|
||||
"mode" : "button",
|
||||
"path" : "/user/hand/right/input/b"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/rightADown" },
|
||||
"touch" : { "output" : "/actions/lovr/in/rightATouch" }
|
||||
},
|
||||
"mode" : "button",
|
||||
"path" : "/user/hand/right/input/a"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/leftTouchpadDown" }
|
||||
},
|
||||
"mode" : "button",
|
||||
"path" : "/user/hand/left/input/trackpad"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/rightTouchpadDown" }
|
||||
},
|
||||
"mode" : "button",
|
||||
"path" : "/user/hand/right/input/trackpad"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/leftGripDown" }
|
||||
},
|
||||
"mode" : "button",
|
||||
"path" : "/user/hand/left/input/grip"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/rightGripDown" }
|
||||
},
|
||||
"mode" : "button",
|
||||
"path" : "/user/hand/right/input/grip"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"controller_type" : "knuckles",
|
||||
"description" : "",
|
||||
"name" : "Index Controller Bindings",
|
||||
"options" : {},
|
||||
"simulated_actions" : []
|
||||
}
|
|
@ -0,0 +1,530 @@
|
|||
unsigned char bindings_knuckles_json[] = {
|
||||
0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x76,
|
||||
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x3a, 0x20, 0x30, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x22, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f,
|
||||
0x69, 0x6e, 0x66, 0x6f, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x22, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67,
|
||||
0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x68, 0x61, 0x70,
|
||||
0x74, 0x69, 0x63, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x5b, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b,
|
||||
0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x6f, 0x75, 0x74, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x48,
|
||||
0x61, 0x6e, 0x64, 0x42, 0x5a, 0x5a, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61,
|
||||
0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72,
|
||||
0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f, 0x6f,
|
||||
0x75, 0x74, 0x70, 0x75, 0x74, 0x2f, 0x68, 0x61, 0x70, 0x74, 0x69, 0x63,
|
||||
0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74,
|
||||
0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x6f, 0x75,
|
||||
0x74, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x42,
|
||||
0x5a, 0x5a, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e,
|
||||
0x64, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2f, 0x6f, 0x75, 0x74, 0x70,
|
||||
0x75, 0x74, 0x2f, 0x68, 0x61, 0x70, 0x74, 0x69, 0x63, 0x22, 0x20, 0x7d,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x70, 0x6f, 0x73, 0x65, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x5b, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74,
|
||||
0x48, 0x61, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x65, 0x22, 0x2c, 0x20, 0x22,
|
||||
0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73,
|
||||
0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74,
|
||||
0x2f, 0x70, 0x6f, 0x73, 0x65, 0x2f, 0x72, 0x61, 0x77, 0x22, 0x20, 0x7d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69,
|
||||
0x67, 0x68, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x65, 0x22,
|
||||
0x2c, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x2f, 0x70, 0x6f, 0x73, 0x65, 0x2f, 0x72, 0x61,
|
||||
0x77, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f,
|
||||
0x6e, 0x22, 0x20, 0x3a, 0x20, 0x5b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6f,
|
||||
0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f,
|
||||
0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x53,
|
||||
0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x70,
|
||||
0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65,
|
||||
0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f,
|
||||
0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x73, 0x6b, 0x65, 0x6c, 0x65, 0x74,
|
||||
0x6f, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x22, 0x20, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f,
|
||||
0x6e, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64,
|
||||
0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74,
|
||||
0x2f, 0x73, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x2f, 0x72, 0x69,
|
||||
0x67, 0x68, 0x74, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||
0x65, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x5b, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22,
|
||||
0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x72, 0x69, 0x67,
|
||||
0x67, 0x65, 0x72, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x75, 0x6c, 0x6c,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75,
|
||||
0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c,
|
||||
0x65, 0x66, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x78,
|
||||
0x69, 0x73, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c,
|
||||
0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54,
|
||||
0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22,
|
||||
0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x6c,
|
||||
0x65, 0x66, 0x74, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x74, 0x72,
|
||||
0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74,
|
||||
0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65,
|
||||
0x66, 0x74, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64, 0x41, 0x78,
|
||||
0x69, 0x73, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c,
|
||||
0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54,
|
||||
0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64, 0x54, 0x6f, 0x75, 0x63, 0x68,
|
||||
0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x70, 0x61, 0x64, 0x22, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64,
|
||||
0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f,
|
||||
0x74, 0x72, 0x61, 0x63, 0x6b, 0x70, 0x61, 0x64, 0x22, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e,
|
||||
0x70, 0x75, 0x74, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x75, 0x6c, 0x6c, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66,
|
||||
0x74, 0x47, 0x72, 0x69, 0x70, 0x41, 0x78, 0x69, 0x73, 0x22, 0x20, 0x7d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x6f,
|
||||
0x75, 0x63, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75,
|
||||
0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69,
|
||||
0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x47, 0x72, 0x69, 0x70, 0x54, 0x6f,
|
||||
0x75, 0x63, 0x68, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61,
|
||||
0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f, 0x69, 0x6e, 0x70, 0x75,
|
||||
0x74, 0x2f, 0x67, 0x72, 0x69, 0x70, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75,
|
||||
0x74, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x44, 0x6f, 0x77, 0x6e,
|
||||
0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x70, 0x75, 0x6c, 0x6c, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22,
|
||||
0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x72, 0x69,
|
||||
0x67, 0x67, 0x65, 0x72, 0x41, 0x78, 0x69, 0x73, 0x22, 0x20, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x6f, 0x75,
|
||||
0x63, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74,
|
||||
0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e,
|
||||
0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
|
||||
0x72, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f,
|
||||
0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x74, 0x72, 0x69, 0x67, 0x67,
|
||||
0x65, 0x72, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61,
|
||||
0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72,
|
||||
0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2f,
|
||||
0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
|
||||
0x72, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70,
|
||||
0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x3a, 0x20, 0x7b,
|
||||
0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54,
|
||||
0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64, 0x41, 0x78, 0x69, 0x73, 0x22,
|
||||
0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x74, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22,
|
||||
0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x75,
|
||||
0x63, 0x68, 0x70, 0x61, 0x64, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20,
|
||||
0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x74,
|
||||
0x72, 0x61, 0x63, 0x6b, 0x70, 0x61, 0x64, 0x22, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x74,
|
||||
0x72, 0x61, 0x63, 0x6b, 0x70, 0x61, 0x64, 0x22, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70,
|
||||
0x75, 0x74, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x75, 0x6c, 0x6c, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x47, 0x72, 0x69, 0x70, 0x41, 0x78, 0x69, 0x73, 0x22, 0x20, 0x7d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x6f,
|
||||
0x75, 0x63, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75,
|
||||
0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69,
|
||||
0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x47, 0x72, 0x69, 0x70, 0x54,
|
||||
0x6f, 0x75, 0x63, 0x68, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f, 0x64, 0x65,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
|
||||
0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68,
|
||||
0x61, 0x6e, 0x64, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2f, 0x69, 0x6e,
|
||||
0x70, 0x75, 0x74, 0x2f, 0x67, 0x72, 0x69, 0x70, 0x22, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e,
|
||||
0x70, 0x75, 0x74, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65,
|
||||
0x66, 0x74, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69, 0x63, 0x6b,
|
||||
0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70,
|
||||
0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f,
|
||||
0x6c, 0x65, 0x66, 0x74, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69,
|
||||
0x63, 0x6b, 0x41, 0x78, 0x69, 0x73, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x6f, 0x75, 0x63, 0x68,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75,
|
||||
0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c,
|
||||
0x65, 0x66, 0x74, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69, 0x63,
|
||||
0x6b, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f,
|
||||
0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x6a, 0x6f, 0x79, 0x73, 0x74,
|
||||
0x69, 0x63, 0x6b, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70,
|
||||
0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65,
|
||||
0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f,
|
||||
0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x73,
|
||||
0x74, 0x69, 0x63, 0x6b, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20, 0x3a, 0x20, 0x7b,
|
||||
0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x42, 0x44,
|
||||
0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74,
|
||||
0x42, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f,
|
||||
0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f,
|
||||
0x6e, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x74,
|
||||
0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f,
|
||||
0x68, 0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f, 0x69, 0x6e,
|
||||
0x70, 0x75, 0x74, 0x2f, 0x62, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74,
|
||||
0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c,
|
||||
0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x41,
|
||||
0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66,
|
||||
0x74, 0x41, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20, 0x7d, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d,
|
||||
0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74,
|
||||
0x6f, 0x6e, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61,
|
||||
0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72,
|
||||
0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f, 0x69,
|
||||
0x6e, 0x70, 0x75, 0x74, 0x2f, 0x61, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75,
|
||||
0x74, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x44,
|
||||
0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75,
|
||||
0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69,
|
||||
0x63, 0x6b, 0x41, 0x78, 0x69, 0x73, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x6f, 0x75, 0x63, 0x68,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75,
|
||||
0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x74, 0x69,
|
||||
0x63, 0x6b, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20, 0x7d, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d,
|
||||
0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x6a, 0x6f, 0x79, 0x73,
|
||||
0x74, 0x69, 0x63, 0x6b, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73,
|
||||
0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x74, 0x68, 0x75, 0x6d,
|
||||
0x62, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75,
|
||||
0x74, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
|
||||
0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x42, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x6f, 0x75, 0x63, 0x68,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75,
|
||||
0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x42, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20,
|
||||
0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62,
|
||||
0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75,
|
||||
0x73, 0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x72, 0x69, 0x67,
|
||||
0x68, 0x74, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x62, 0x22, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x6c, 0x69, 0x63,
|
||||
0x6b, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70,
|
||||
0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f,
|
||||
0x72, 0x69, 0x67, 0x68, 0x74, 0x41, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20,
|
||||
0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74,
|
||||
0x6f, 0x75, 0x63, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f,
|
||||
0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f,
|
||||
0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x41, 0x54, 0x6f, 0x75,
|
||||
0x63, 0x68, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64,
|
||||
0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74,
|
||||
0x2f, 0x61, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22,
|
||||
0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x6f, 0x75, 0x63,
|
||||
0x68, 0x70, 0x61, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x6d, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x75, 0x74,
|
||||
0x74, 0x6f, 0x6e, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70,
|
||||
0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65,
|
||||
0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f,
|
||||
0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x70,
|
||||
0x61, 0x64, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22,
|
||||
0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x75,
|
||||
0x63, 0x68, 0x70, 0x61, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x75,
|
||||
0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73,
|
||||
0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x74, 0x72, 0x61, 0x63,
|
||||
0x6b, 0x70, 0x61, 0x64, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20, 0x3a, 0x20, 0x7b,
|
||||
0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x47, 0x72,
|
||||
0x69, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f,
|
||||
0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f,
|
||||
0x6e, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x74,
|
||||
0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f,
|
||||
0x68, 0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f, 0x69, 0x6e,
|
||||
0x70, 0x75, 0x74, 0x2f, 0x67, 0x72, 0x69, 0x70, 0x22, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e,
|
||||
0x70, 0x75, 0x74, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69,
|
||||
0x67, 0x68, 0x74, 0x47, 0x72, 0x69, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x22,
|
||||
0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x72, 0x69,
|
||||
0x67, 0x68, 0x74, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x67, 0x72,
|
||||
0x69, 0x70, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
|
||||
0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x6b, 0x6e, 0x75, 0x63, 0x6b, 0x6c, 0x65, 0x73, 0x22, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x22, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x20, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e,
|
||||
0x67, 0x73, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x70,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x22, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61,
|
||||
0x74, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x5b, 0x5d, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a
|
||||
};
|
||||
unsigned int bindings_knuckles_json_len = 6322;
|
|
@ -0,0 +1,90 @@
|
|||
{
|
||||
"action_manifest_version" : 0,
|
||||
"alias_info" : {},
|
||||
"app_key" : "system.generated.lovr.exe",
|
||||
"bindings" : {
|
||||
"/actions/lovr" : {
|
||||
"haptics" : [
|
||||
{ "output" : "/actions/lovr/out/leftHandBZZ", "path" : "/user/hand/left/output/haptic" },
|
||||
{ "output" : "/actions/lovr/out/rightHandBZZ", "path" : "/user/hand/right/output/haptic" }
|
||||
],
|
||||
"poses" : [
|
||||
{ "output" : "/actions/lovr/in/leftHandPose", "path" : "/user/hand/left/pose/raw" },
|
||||
{ "output" : "/actions/lovr/in/rightHandPose", "path" : "/user/hand/right/pose/raw" }
|
||||
],
|
||||
"skeleton" : [
|
||||
{ "output" : "/actions/lovr/in/leftHandSkeleton", "path" : "/user/hand/left/input/skeleton/left" },
|
||||
{ "output" : "/actions/lovr/in/rightHandSkeleton", "path" : "/user/hand/right/input/skeleton/right" }
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/leftGripDown" }
|
||||
},
|
||||
"mode" : "button",
|
||||
"path" : "/user/hand/left/input/grip"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/leftMenuDown" }
|
||||
},
|
||||
"mode" : "button",
|
||||
"path" : "/user/hand/left/input/application_menu"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/leftTriggerDown" },
|
||||
"pull" : { "output" : "/actions/lovr/in/leftTriggerAxis" }
|
||||
},
|
||||
"mode" : "trigger",
|
||||
"path" : "/user/hand/left/input/trigger"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/leftTouchpadDown" },
|
||||
"position" : { "output" : "/actions/lovr/in/leftTouchpadAxis" },
|
||||
"touch" : { "output" : "/actions/lovr/in/leftTouchpadTouch" }
|
||||
},
|
||||
"mode" : "trackpad",
|
||||
"path" : "/user/hand/left/input/trackpad"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/rightGripDown" }
|
||||
},
|
||||
"mode" : "button",
|
||||
"path" : "/user/hand/right/input/grip"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/rightMenuDown" }
|
||||
},
|
||||
"mode" : "button",
|
||||
"path" : "/user/hand/right/input/application_menu"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/rightTriggerDown" },
|
||||
"pull" : { "output" : "/actions/lovr/in/rightTriggerAxis" }
|
||||
},
|
||||
"mode" : "trigger",
|
||||
"path" : "/user/hand/right/input/trigger"
|
||||
},
|
||||
{
|
||||
"inputs" : {
|
||||
"click" : { "output" : "/actions/lovr/in/rightTouchpadDown" },
|
||||
"position" : { "output" : "/actions/lovr/in/rightTouchpadAxis" },
|
||||
"touch" : { "output" : "/actions/lovr/in/rightTouchpadTouch" }
|
||||
},
|
||||
"mode" : "trackpad",
|
||||
"path" : "/user/hand/right/input/trackpad"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"controller_type" : "vive_controller",
|
||||
"description" : "",
|
||||
"name" : "Vive Bindings",
|
||||
"options" : {},
|
||||
"simulated_actions" : []
|
||||
}
|
|
@ -0,0 +1,304 @@
|
|||
unsigned char bindings_vive_json[] = {
|
||||
0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x76,
|
||||
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x3a, 0x20, 0x30, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x22, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f,
|
||||
0x69, 0x6e, 0x66, 0x6f, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x22, 0x61, 0x70, 0x70, 0x5f, 0x6b, 0x65, 0x79,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e,
|
||||
0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x6c, 0x6f,
|
||||
0x76, 0x72, 0x2e, 0x65, 0x78, 0x65, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x22, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76,
|
||||
0x72, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x68, 0x61, 0x70, 0x74, 0x69, 0x63,
|
||||
0x73, 0x22, 0x20, 0x3a, 0x20, 0x5b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6f,
|
||||
0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f,
|
||||
0x6f, 0x75, 0x74, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x48, 0x61, 0x6e, 0x64,
|
||||
0x42, 0x5a, 0x5a, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61,
|
||||
0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f, 0x6f, 0x75, 0x74, 0x70,
|
||||
0x75, 0x74, 0x2f, 0x68, 0x61, 0x70, 0x74, 0x69, 0x63, 0x22, 0x20, 0x7d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x6f, 0x75, 0x74, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x42, 0x5a, 0x5a, 0x22,
|
||||
0x2c, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x2f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2f,
|
||||
0x68, 0x61, 0x70, 0x74, 0x69, 0x63, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x6f,
|
||||
0x73, 0x65, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x5b, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20,
|
||||
0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76,
|
||||
0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x48, 0x61, 0x6e,
|
||||
0x64, 0x50, 0x6f, 0x73, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x74,
|
||||
0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f,
|
||||
0x68, 0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f, 0x70, 0x6f,
|
||||
0x73, 0x65, 0x2f, 0x72, 0x61, 0x77, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c,
|
||||
0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74,
|
||||
0x48, 0x61, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x65, 0x22, 0x2c, 0x20, 0x22,
|
||||
0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73,
|
||||
0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x2f, 0x70, 0x6f, 0x73, 0x65, 0x2f, 0x72, 0x61, 0x77, 0x22, 0x20,
|
||||
0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x5d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x73, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x5b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70,
|
||||
0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f,
|
||||
0x6c, 0x65, 0x66, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x6b, 0x65, 0x6c,
|
||||
0x65, 0x74, 0x6f, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68,
|
||||
0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f, 0x69, 0x6e, 0x70,
|
||||
0x75, 0x74, 0x2f, 0x73, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x2f,
|
||||
0x6c, 0x65, 0x66, 0x74, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20,
|
||||
0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76,
|
||||
0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x48, 0x61,
|
||||
0x6e, 0x64, 0x53, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x22, 0x2c,
|
||||
0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x72, 0x69,
|
||||
0x67, 0x68, 0x74, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x73, 0x6b,
|
||||
0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74,
|
||||
0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x5d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x5b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x6c, 0x69,
|
||||
0x63, 0x6b, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74,
|
||||
0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e,
|
||||
0x2f, 0x6c, 0x65, 0x66, 0x74, 0x47, 0x72, 0x69, 0x70, 0x44, 0x6f, 0x77,
|
||||
0x6e, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20,
|
||||
0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f,
|
||||
0x6c, 0x65, 0x66, 0x74, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x67,
|
||||
0x72, 0x69, 0x70, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20,
|
||||
0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76,
|
||||
0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x4d, 0x65, 0x6e,
|
||||
0x75, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f, 0x64,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e,
|
||||
0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68,
|
||||
0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f, 0x69, 0x6e, 0x70,
|
||||
0x75, 0x74, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x6e, 0x75, 0x22, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70,
|
||||
0x75, 0x74, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66,
|
||||
0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x44, 0x6f, 0x77, 0x6e,
|
||||
0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x70, 0x75, 0x6c, 0x6c, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22,
|
||||
0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72,
|
||||
0x2f, 0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x72, 0x69, 0x67,
|
||||
0x67, 0x65, 0x72, 0x41, 0x78, 0x69, 0x73, 0x22, 0x20, 0x7d, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d,
|
||||
0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x74, 0x72, 0x69, 0x67,
|
||||
0x67, 0x65, 0x72, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70,
|
||||
0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65,
|
||||
0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f,
|
||||
0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
|
||||
0x72, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63,
|
||||
0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f,
|
||||
0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f,
|
||||
0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x6f, 0x75, 0x63, 0x68,
|
||||
0x70, 0x61, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x6f, 0x73, 0x69,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f,
|
||||
0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f,
|
||||
0x69, 0x6e, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x6f, 0x75, 0x63, 0x68,
|
||||
0x70, 0x61, 0x64, 0x41, 0x78, 0x69, 0x73, 0x22, 0x20, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x6f, 0x75, 0x63,
|
||||
0x68, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70,
|
||||
0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f,
|
||||
0x6c, 0x65, 0x66, 0x74, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64,
|
||||
0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f, 0x64,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x70,
|
||||
0x61, 0x64, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61,
|
||||
0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72,
|
||||
0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x6c, 0x65, 0x66, 0x74, 0x2f, 0x69,
|
||||
0x6e, 0x70, 0x75, 0x74, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x70, 0x61,
|
||||
0x64, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63,
|
||||
0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f,
|
||||
0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f,
|
||||
0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x47, 0x72, 0x69, 0x70,
|
||||
0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f, 0x64, 0x65,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61,
|
||||
0x6e, 0x64, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2f, 0x69, 0x6e, 0x70,
|
||||
0x75, 0x74, 0x2f, 0x67, 0x72, 0x69, 0x70, 0x22, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
|
||||
0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x70,
|
||||
0x75, 0x74, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67,
|
||||
0x68, 0x74, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20,
|
||||
0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x62,
|
||||
0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x70, 0x61, 0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75,
|
||||
0x73, 0x65, 0x72, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x72, 0x69, 0x67,
|
||||
0x68, 0x74, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x61, 0x70, 0x70,
|
||||
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x6e,
|
||||
0x75, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x20, 0x3a,
|
||||
0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63,
|
||||
0x6c, 0x69, 0x63, 0x6b, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f,
|
||||
0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f,
|
||||
0x69, 0x6e, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x72, 0x69, 0x67,
|
||||
0x67, 0x65, 0x72, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x75, 0x6c, 0x6c,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75,
|
||||
0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41,
|
||||
0x78, 0x69, 0x73, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22,
|
||||
0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x74, 0x68, 0x22,
|
||||
0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x61,
|
||||
0x6e, 0x64, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2f, 0x69, 0x6e, 0x70,
|
||||
0x75, 0x74, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x6c, 0x69, 0x63,
|
||||
0x6b, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70,
|
||||
0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f,
|
||||
0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61,
|
||||
0x64, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74,
|
||||
0x70, 0x75, 0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e,
|
||||
0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70,
|
||||
0x61, 0x64, 0x41, 0x78, 0x69, 0x73, 0x22, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x6f, 0x75, 0x63, 0x68,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x6f, 0x75, 0x74, 0x70, 0x75,
|
||||
0x74, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x76, 0x72, 0x2f, 0x69, 0x6e, 0x2f, 0x72,
|
||||
0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x61, 0x64,
|
||||
0x54, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x6f, 0x64,
|
||||
0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x70,
|
||||
0x61, 0x64, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61,
|
||||
0x74, 0x68, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x2f, 0x75, 0x73, 0x65, 0x72,
|
||||
0x2f, 0x68, 0x61, 0x6e, 0x64, 0x2f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2f,
|
||||
0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x70,
|
||||
0x61, 0x64, 0x22, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0d, 0x0a,
|
||||
0x20, 0x20, 0x20, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
|
||||
0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22,
|
||||
0x76, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
|
||||
0x6c, 0x65, 0x72, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x22, 0x64,
|
||||
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20,
|
||||
0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x22, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x56, 0x69, 0x76, 0x65,
|
||||
0x20, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x2c, 0x0d,
|
||||
0x0a, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x22, 0x20, 0x3a, 0x20, 0x7b, 0x7d, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x22, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x20, 0x3a, 0x20, 0x5b, 0x5d,
|
||||
0x0d, 0x0a, 0x7d, 0x0d, 0x0a
|
||||
};
|
||||
unsigned int bindings_vive_json_len = 3605;
|
|
@ -252,25 +252,33 @@ var LibraryLOVR = {
|
|||
if (gamepad.id.startsWith('OpenVR')) {
|
||||
switch (axis) {
|
||||
case C.AXIS_TRIGGER: HEAPF32[value >> 2] = gamepad.buttons[1].value; return true;
|
||||
case C.AXIS_TRACKPAD_X: HEAPF32[value >> 2] = gamepad.axes[0]; return true;
|
||||
case C.AXIS_TRACKPAD_Y: HEAPF32[value >> 2] = gamepad.axes[1]; return true;
|
||||
case C.AXIS_TRACKPAD:
|
||||
HEAPF32[value >> 2 + 0] = gamepad.axes[0];
|
||||
HEAPF32[value >> 2 + 1] = gamepad.axes[1];
|
||||
return true;
|
||||
default: return false;
|
||||
}
|
||||
} else if (gamepad.id.startsWith('Oculus')) {
|
||||
switch (axis) {
|
||||
case C.AXIS_TRIGGER: HEAPF32[value >> 2] = gamepad.buttons[1].value; return true;
|
||||
case C.AXIS_GRIP: HEAPF32[value >> 2] = gamepad.buttons[2].value; return true;
|
||||
case C.AXIS_THUMBSTICK_X: HEAPF32[value >> 2] = gamepad.axes[0]; return true;
|
||||
case C.AXIS_THUMBSTICK_Y: HEAPF32[value >> 2] = gamepad.axes[1]; return true;
|
||||
case C.AXIS_THUMBSTICK:
|
||||
HEAPF32[value >> 2 + 0] = gamepad.axes[0];
|
||||
HEAPF32[value >> 2 + 1] = gamepad.axes[1];
|
||||
return true;
|
||||
default: return false;
|
||||
}
|
||||
} else if (gamepad.id.startsWith('Spatial Controller')) {
|
||||
switch (axis) {
|
||||
case C.AXIS_TRIGGER: HEAPF32[value >> 2] = gamepad.buttons[0].value; return true;
|
||||
case C.AXIS_THUMBSTICK_X: HEAPF32[value >> 2] = gamepad.axes[0]; return true;
|
||||
case C.AXIS_THUMBSTICK_Y: HEAPF32[value >> 2] = gamepad.axes[1]; return true;
|
||||
case C.AXIS_TRACKPAD_X: HEAPF32[value >> 2] = gamepad.axes[2]; return true;
|
||||
case C.AXIS_TRACKPAD_Y: HEAPF32[value >> 2] = gamepad.axes[3]; return true;
|
||||
case C.AXIS_THUMBSTICK:
|
||||
HEAPF32[value >> 2 + 0] = gamepad.axes[0];
|
||||
HEAPF32[value >> 2 + 1] = gamepad.axes[1];
|
||||
return true;
|
||||
case C.AXIS_TRACKPAD:
|
||||
HEAPF32[value >> 2 + 0] = gamepad.axes[2];
|
||||
HEAPF32[value >> 2 + 1] = gamepad.axes[3];
|
||||
return true;
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
@ -306,10 +314,8 @@ var LibraryLOVR = {
|
|||
|
||||
// DeviceAxis
|
||||
AXIS_TRIGGER: 0,
|
||||
AXIS_THUMBSTICK_X: 1,
|
||||
AXIS_THUMBSTICK_Y: 2,
|
||||
AXIS_TRACKPAD_X: 3,
|
||||
AXIS_TRACKPAD_Y: 4,
|
||||
AXIS_THUMBSTICK: 1,
|
||||
AXIS_TRACKPAD: 2,
|
||||
AXIS_PINCH: 5,
|
||||
AXIS_GRIP: 6
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue