sudoku.cpp Example File
sudoku/sudoku.cpp// // Statemachine code from reading SCXML file 'sudoku.scxml' // Created by: The Qt SCXML Compiler version 1 (Qt 5.12.6) // WARNING! All changes made in this file will be lost! // #include "sudoku.h" #include <qscxmlinvokableservice.h> #include <qscxmltabledata.h> #include <QScxmlEcmaScriptDataModel> #if !defined(Q_QSCXMLC_OUTPUT_REVISION) #error "The header file 'sudoku.scxml' doesn't include <qscxmltabledata.h>." #elif Q_QSCXMLC_OUTPUT_REVISION != 1 #error "This file was generated using the qscxmlc from 5.12.6. It" #error "cannot be used with the include files from this version of Qt." #error "(The qscxmlc has changed too much.)" #endif struct Sudoku::Data: private QScxmlTableData { Data(Sudoku &stateMachine) : stateMachine(stateMachine) {} void init() { stateMachine.setTableData(this); stateMachine.setDataModel(&dataModel); } QString name() const override final { return string(0); } QScxmlExecutableContent::ContainerId initialSetup() const override final { return 80; } QScxmlExecutableContent::InstructionId *instructions() const override final { return theInstructions; } QScxmlExecutableContent::StringId *dataNames(int *count) const override final { *count = 3; return dataIds; } QScxmlExecutableContent::EvaluatorInfo evaluatorInfo(QScxmlExecutableContent::EvaluatorId evaluatorId) const override final { Q_ASSERT(evaluatorId >= 0); Q_ASSERT(evaluatorId < 8); return evaluators[evaluatorId]; } QScxmlExecutableContent::AssignmentInfo assignmentInfo(QScxmlExecutableContent::EvaluatorId assignmentId) const override final { Q_ASSERT(assignmentId >= 0); Q_ASSERT(assignmentId < 2); return assignments[assignmentId]; } QScxmlExecutableContent::ForeachInfo foreachInfo(QScxmlExecutableContent::EvaluatorId foreachId) const override final { Q_ASSERT(foreachId >= 0); Q_ASSERT(foreachId < 0); return foreaches[foreachId]; } QString string(QScxmlExecutableContent::StringId id) const override final { Q_ASSERT(id >= QScxmlExecutableContent::NoString); Q_ASSERT(id < 36); if (id == QScxmlExecutableContent::NoString) return QString(); return QString({static_cast<QStringData*>(strings.data + id)}); } const qint32 *stateMachineTable() const override final { return theStateMachineTable; } QScxmlInvokableServiceFactory *serviceFactory(int id) const override final; Sudoku &stateMachine; QScxmlEcmaScriptDataModel dataModel; static QScxmlExecutableContent::ParameterInfo param(QScxmlExecutableContent::StringId name, QScxmlExecutableContent::EvaluatorId expr, QScxmlExecutableContent::StringId location) { QScxmlExecutableContent::ParameterInfo p; p.name = name; p.expr = expr; p.location = location; return p; } static QScxmlExecutableContent::InvokeInfo invoke( QScxmlExecutableContent::StringId id, QScxmlExecutableContent::StringId prefix, QScxmlExecutableContent::EvaluatorId expr, QScxmlExecutableContent::StringId location, QScxmlExecutableContent::StringId context, QScxmlExecutableContent::ContainerId finalize, bool autoforward) { QScxmlExecutableContent::InvokeInfo i; i.id = id; i.prefix = prefix; i.expr = expr; i.location = location; i.context = context; i.finalize = finalize; i.autoforward = autoforward; return i; } static qint32 theInstructions[]; static QScxmlExecutableContent::StringId dataIds[]; static QScxmlExecutableContent::EvaluatorInfo evaluators[]; static QScxmlExecutableContent::AssignmentInfo assignments[]; static QScxmlExecutableContent::ForeachInfo foreaches[]; static const qint32 theStateMachineTable[]; static struct Strings { QArrayData data[36]; qunicodechar stringdata[9931]; } strings; }; Sudoku::Sudoku(QObject *parent) : QScxmlStateMachine(&staticMetaObject, parent) , data(new Data(*this)) { qRegisterMetaType<Sudoku *>(); data->init(); } Sudoku::~Sudoku() { delete data; } QScxmlInvokableServiceFactory *Sudoku::Data::serviceFactory(int id) const { Q_UNUSED(id); Q_UNREACHABLE(); } qint32 Sudoku::Data::theInstructions[] = { 2, 1, 4, 1, 2, 4, 2, 1, 4, 7, 0, 4, 2, 2, 1, 4, 1, 2, 4, 2, 1, 22, 9, 1, 0, 2, 1, 16, 1, 14, 6, 1, 9, 1, 2, 2, 1, 4, 1, 2, 4, 10, 4, 18, 1, 4, 6, 3, 4, 18, 1, 4, 6, 4, 4, 18, 1, 22, 3, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 2, 28, 5, -1, 5, 6, -1, 1, 4, 8, 1, 6, 7 }; QScxmlExecutableContent::StringId Sudoku::Data::dataIds[] = { 5, 28, 33 }; QScxmlExecutableContent::EvaluatorInfo Sudoku::Data::evaluators[] = { { 12, 13 }, { 14, 15 }, { 16, 17 }, { 20, 21 }, { 24, 25 }, { 28, 29 }, { 5, 30 }, { 34, 35 } }; QScxmlExecutableContent::AssignmentInfo Sudoku::Data::assignments[] = { { 5, 6, 7 }, { 28, 31, 32 } }; QScxmlExecutableContent::ForeachInfo Sudoku::Data::foreaches[] = { { -1, -1, -1, -1 } }; #define STR_LIT(idx, ofs, len) \ Q_STATIC_STRING_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ qptrdiff(offsetof(Strings, stringdata) + ofs * sizeof(qunicodechar) - idx * sizeof(QArrayData)) \ ) Sudoku::Data::Strings Sudoku::Data::strings = {{ STR_LIT(0, 0, 6), STR_LIT(1, 7, 4), STR_LIT(2, 12, 7), STR_LIT(3, 20, 4), STR_LIT(4, 25, 5), STR_LIT(5, 31, 9), STR_LIT(6, 41, 21), STR_LIT(7, 63, 83), STR_LIT(8, 147, 5), STR_LIT(9, 153, 8), STR_LIT(10, 162, 6), STR_LIT(11, 169, 7), STR_LIT(12, 177, 17), STR_LIT(13, 195, 78), STR_LIT(14, 274, 24), STR_LIT(15, 299, 91), STR_LIT(16, 391, 10), STR_LIT(17, 402, 71), STR_LIT(18, 474, 6), STR_LIT(19, 481, 3), STR_LIT(20, 485, 7), STR_LIT(21, 493, 74), STR_LIT(22, 568, 4), STR_LIT(23, 573, 4), STR_LIT(24, 578, 10), STR_LIT(25, 589, 74), STR_LIT(26, 664, 47), STR_LIT(27, 712, 9), STR_LIT(28, 722, 12), STR_LIT(29, 735, 73), STR_LIT(30, 809, 70), STR_LIT(31, 880, 4), STR_LIT(32, 885, 49), STR_LIT(33, 935, 9), STR_LIT(34, 945, 4467), STR_LIT(35, 5413, 4516) },{ 0x53,0x75,0x64,0x6f,0x6b,0x75,0, // 0: Sudoku 0x67,0x61,0x6d,0x65,0, // 1: game 0x72,0x65,0x73,0x74,0x61,0x72,0x74,0, // 2: restart 0x69,0x64,0x6c,0x65,0, // 3: idle 0x73,0x74,0x61,0x72,0x74,0, // 4: start 0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0, // 5: initState 0x5f,0x65,0x76,0x65,0x6e,0x74,0x2e,0x64,0x61,0x74,0x61,0x2e,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0, // 6: _event.data.initState 0x61,0x73,0x73,0x69,0x67,0x6e,0x20,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x74,0x72,0x61,0x6e,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x20,0x6f,0x66,0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x27,0x69,0x64,0x6c,0x65,0x27,0x20,0x77,0x69,0x74,0x68,0x20,0x65,0x78,0x70,0x72,0x3d,0x22,0x5f,0x65,0x76,0x65,0x6e,0x74,0x2e,0x64,0x61,0x74,0x61,0x2e,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x22,0, // 7: assign instruction in transition of state 'idle' with expr=\"_event.data.initState\" 0x73,0x65,0x74,0x75,0x70,0, // 8: setup 0x75,0x6e,0x73,0x6f,0x6c,0x76,0x65,0x64,0, // 9: unsolved 0x73,0x6f,0x6c,0x76,0x65,0x64,0, // 10: solved 0x70,0x6c,0x61,0x79,0x69,0x6e,0x67,0, // 11: playing 0x69,0x73,0x56,0x61,0x6c,0x69,0x64,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x28,0x29,0, // 12: isValidPosition() 0x69,0x66,0x20,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x74,0x72,0x61,0x6e,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x20,0x6f,0x66,0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x27,0x70,0x6c,0x61,0x79,0x69,0x6e,0x67,0x27,0x20,0x77,0x69,0x74,0x68,0x20,0x63,0x6f,0x6e,0x64,0x3d,0x22,0x69,0x73,0x56,0x61,0x6c,0x69,0x64,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x28,0x29,0x22,0, // 13: if instruction in transition of state 'playing' with cond=\"isValidPosition()\" 0x63,0x61,0x6c,0x63,0x75,0x6c,0x61,0x74,0x65,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x28,0x29,0x3b,0, // 14: calculateCurrentState(); 0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x74,0x72,0x61,0x6e,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x20,0x6f,0x66,0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x27,0x70,0x6c,0x61,0x79,0x69,0x6e,0x67,0x27,0x20,0x77,0x69,0x74,0x68,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x3d,0x22,0x63,0x61,0x6c,0x63,0x75,0x6c,0x61,0x74,0x65,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x28,0x29,0x3b,0x22,0, // 15: script instruction in transition of state 'playing' with source=\"calculateCurrentState();\" 0x69,0x73,0x53,0x6f,0x6c,0x76,0x65,0x64,0x28,0x29,0, // 16: isSolved() 0x69,0x66,0x20,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x74,0x72,0x61,0x6e,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x20,0x6f,0x66,0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x27,0x70,0x6c,0x61,0x79,0x69,0x6e,0x67,0x27,0x20,0x77,0x69,0x74,0x68,0x20,0x63,0x6f,0x6e,0x64,0x3d,0x22,0x69,0x73,0x53,0x6f,0x6c,0x76,0x65,0x64,0x28,0x29,0x22,0, // 17: if instruction in transition of state 'playing' with cond=\"isSolved()\" 0x75,0x70,0x64,0x61,0x74,0x65,0, // 18: update 0x74,0x61,0x70,0, // 19: tap 0x75,0x6e,0x64,0x6f,0x28,0x29,0x3b,0, // 20: undo(); 0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x74,0x72,0x61,0x6e,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x20,0x6f,0x66,0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x27,0x70,0x6c,0x61,0x79,0x69,0x6e,0x67,0x27,0x20,0x77,0x69,0x74,0x68,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x3d,0x22,0x75,0x6e,0x64,0x6f,0x28,0x29,0x3b,0x22,0, // 21: script instruction in transition of state 'playing' with source=\"undo();\" 0x75,0x6e,0x64,0x6f,0, // 22: undo 0x73,0x74,0x6f,0x70,0, // 23: stop 0x72,0x65,0x73,0x74,0x61,0x72,0x74,0x28,0x29,0x3b,0, // 24: restart(); 0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x74,0x72,0x61,0x6e,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x20,0x6f,0x66,0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x27,0x67,0x61,0x6d,0x65,0x27,0x20,0x77,0x69,0x74,0x68,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x3d,0x22,0x72,0x65,0x73,0x74,0x61,0x72,0x74,0x28,0x29,0x3b,0x22,0, // 25: script instruction in transition of state 'game' with source=\"restart();\" 0x73,0x65,0x6e,0x64,0x20,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x74,0x72,0x61,0x6e,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x20,0x6f,0x66,0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x27,0x67,0x61,0x6d,0x65,0x27,0, // 26: send instruction in transition of state 'game' 0x75,0x70,0x64,0x61,0x74,0x65,0x47,0x55,0x49,0, // 27: updateGUI 0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0, // 28: currentState 0x70,0x61,0x72,0x61,0x6d,0x20,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x74,0x72,0x61,0x6e,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x20,0x6f,0x66,0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x27,0x67,0x61,0x6d,0x65,0x27,0x20,0x77,0x69,0x74,0x68,0x20,0x65,0x78,0x70,0x72,0x3d,0x22,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x22,0, // 29: param instruction in transition of state 'game' with expr=\"currentState\" 0x70,0x61,0x72,0x61,0x6d,0x20,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x74,0x72,0x61,0x6e,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x20,0x6f,0x66,0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x27,0x67,0x61,0x6d,0x65,0x27,0x20,0x77,0x69,0x74,0x68,0x20,0x65,0x78,0x70,0x72,0x3d,0x22,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x22,0, // 30: param instruction in transition of state 'game' with expr=\"initState\" 0x5b,0x5b,0x5d,0x5d,0, // 31: [[]] 0x64,0x61,0x74,0x61,0x20,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x28,0x6e,0x6f,0x6e,0x65,0x29,0x20,0x77,0x69,0x74,0x68,0x20,0x65,0x78,0x70,0x72,0x3d,0x22,0x5b,0x5b,0x5d,0x5d,0x22,0, // 32: data instruction in state (none) with expr=\"[[]]\" 0x75,0x6e,0x64,0x6f,0x53,0x74,0x61,0x63,0x6b,0, // 33: undoStack 0x2f,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x43,0x6f,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20,0x28,0x43,0x29,0x20,0x32,0x30,0x31,0x36,0x20,0x54,0x68,0x65,0x20,0x51,0x74,0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79,0x20,0x4c,0x74,0x64,0x2e,0xa,0x2a,0x2a,0x20,0x43,0x6f,0x6e,0x74,0x61,0x63,0x74,0x3a,0x20,0x68,0x74,0x74,0x70,0x73,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x71,0x74,0x2e,0x69,0x6f,0x2f,0x6c,0x69,0x63,0x65,0x6e,0x73,0x69,0x6e,0x67,0x2f,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x54,0x68,0x69,0x73,0x20,0x66,0x69,0x6c,0x65,0x20,0x69,0x73,0x20,0x70,0x61,0x72,0x74,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x51,0x74,0x53,0x63,0x78,0x6d,0x6c,0x20,0x6d,0x6f,0x64,0x75,0x6c,0x65,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x51,0x74,0x20,0x54,0x6f,0x6f,0x6c,0x6b,0x69,0x74,0x2e,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x24,0x51,0x54,0x5f,0x42,0x45,0x47,0x49,0x4e,0x5f,0x4c,0x49,0x43,0x45,0x4e,0x53,0x45,0x3a,0x42,0x53,0x44,0x24,0xa,0x2a,0x2a,0x20,0x43,0x6f,0x6d,0x6d,0x65,0x72,0x63,0x69,0x61,0x6c,0x20,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x20,0x55,0x73,0x61,0x67,0x65,0xa,0x2a,0x2a,0x20,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x65,0x73,0x20,0x68,0x6f,0x6c,0x64,0x69,0x6e,0x67,0x20,0x76,0x61,0x6c,0x69,0x64,0x20,0x63,0x6f,0x6d,0x6d,0x65,0x72,0x63,0x69,0x61,0x6c,0x20,0x51,0x74,0x20,0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x73,0x20,0x6d,0x61,0x79,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x66,0x69,0x6c,0x65,0x20,0x69,0x6e,0xa,0x2a,0x2a,0x20,0x61,0x63,0x63,0x6f,0x72,0x64,0x61,0x6e,0x63,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x63,0x6f,0x6d,0x6d,0x65,0x72,0x63,0x69,0x61,0x6c,0x20,0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x20,0x61,0x67,0x72,0x65,0x65,0x6d,0x65,0x6e,0x74,0x20,0x70,0x72,0x6f,0x76,0x69,0x64,0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0xa,0x2a,0x2a,0x20,0x53,0x6f,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x6f,0x72,0x2c,0x20,0x61,0x6c,0x74,0x65,0x72,0x6e,0x61,0x74,0x69,0x76,0x65,0x6c,0x79,0x2c,0x20,0x69,0x6e,0x20,0x61,0x63,0x63,0x6f,0x72,0x64,0x61,0x6e,0x63,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x74,0x65,0x72,0x6d,0x73,0x20,0x63,0x6f,0x6e,0x74,0x61,0x69,0x6e,0x65,0x64,0x20,0x69,0x6e,0xa,0x2a,0x2a,0x20,0x61,0x20,0x77,0x72,0x69,0x74,0x74,0x65,0x6e,0x20,0x61,0x67,0x72,0x65,0x65,0x6d,0x65,0x6e,0x74,0x20,0x62,0x65,0x74,0x77,0x65,0x65,0x6e,0x20,0x79,0x6f,0x75,0x20,0x61,0x6e,0x64,0x20,0x54,0x68,0x65,0x20,0x51,0x74,0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79,0x2e,0x20,0x46,0x6f,0x72,0x20,0x6c,0x69,0x63,0x65,0x6e,0x73,0x69,0x6e,0x67,0x20,0x74,0x65,0x72,0x6d,0x73,0xa,0x2a,0x2a,0x20,0x61,0x6e,0x64,0x20,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x20,0x73,0x65,0x65,0x20,0x68,0x74,0x74,0x70,0x73,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x71,0x74,0x2e,0x69,0x6f,0x2f,0x74,0x65,0x72,0x6d,0x73,0x2d,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x2e,0x20,0x46,0x6f,0x72,0x20,0x66,0x75,0x72,0x74,0x68,0x65,0x72,0xa,0x2a,0x2a,0x20,0x69,0x6e,0x66,0x6f,0x72,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x20,0x63,0x6f,0x6e,0x74,0x61,0x63,0x74,0x20,0x66,0x6f,0x72,0x6d,0x20,0x61,0x74,0x20,0x68,0x74,0x74,0x70,0x73,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x71,0x74,0x2e,0x69,0x6f,0x2f,0x63,0x6f,0x6e,0x74,0x61,0x63,0x74,0x2d,0x75,0x73,0x2e,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x42,0x53,0x44,0x20,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x20,0x55,0x73,0x61,0x67,0x65,0xa,0x2a,0x2a,0x20,0x41,0x6c,0x74,0x65,0x72,0x6e,0x61,0x74,0x69,0x76,0x65,0x6c,0x79,0x2c,0x20,0x79,0x6f,0x75,0x20,0x6d,0x61,0x79,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x66,0x69,0x6c,0x65,0x20,0x75,0x6e,0x64,0x65,0x72,0x20,0x74,0x68,0x65,0x20,0x74,0x65,0x72,0x6d,0x73,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x42,0x53,0x44,0x20,0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0xa,0x2a,0x2a,0x20,0x61,0x73,0x20,0x66,0x6f,0x6c,0x6c,0x6f,0x77,0x73,0x3a,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x22,0x52,0x65,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x20,0x61,0x6e,0x64,0x20,0x75,0x73,0x65,0x20,0x69,0x6e,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x61,0x6e,0x64,0x20,0x62,0x69,0x6e,0x61,0x72,0x79,0x20,0x66,0x6f,0x72,0x6d,0x73,0x2c,0x20,0x77,0x69,0x74,0x68,0x20,0x6f,0x72,0x20,0x77,0x69,0x74,0x68,0x6f,0x75,0x74,0xa,0x2a,0x2a,0x20,0x6d,0x6f,0x64,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x61,0x72,0x65,0x20,0x70,0x65,0x72,0x6d,0x69,0x74,0x74,0x65,0x64,0x20,0x70,0x72,0x6f,0x76,0x69,0x64,0x65,0x64,0x20,0x74,0x68,0x61,0x74,0x20,0x74,0x68,0x65,0x20,0x66,0x6f,0x6c,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x20,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x20,0x61,0x72,0x65,0xa,0x2a,0x2a,0x20,0x6d,0x65,0x74,0x3a,0xa,0x2a,0x2a,0x20,0x20,0x20,0x2a,0x20,0x52,0x65,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x73,0x20,0x6f,0x66,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x63,0x6f,0x64,0x65,0x20,0x6d,0x75,0x73,0x74,0x20,0x72,0x65,0x74,0x61,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x61,0x62,0x6f,0x76,0x65,0x20,0x63,0x6f,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0xa,0x2a,0x2a,0x20,0x20,0x20,0x20,0x20,0x6e,0x6f,0x74,0x69,0x63,0x65,0x2c,0x20,0x74,0x68,0x69,0x73,0x20,0x6c,0x69,0x73,0x74,0x20,0x6f,0x66,0x20,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65,0x20,0x66,0x6f,0x6c,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x20,0x64,0x69,0x73,0x63,0x6c,0x61,0x69,0x6d,0x65,0x72,0x2e,0xa,0x2a,0x2a,0x20,0x20,0x20,0x2a,0x20,0x52,0x65,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x73,0x20,0x69,0x6e,0x20,0x62,0x69,0x6e,0x61,0x72,0x79,0x20,0x66,0x6f,0x72,0x6d,0x20,0x6d,0x75,0x73,0x74,0x20,0x72,0x65,0x70,0x72,0x6f,0x64,0x75,0x63,0x65,0x20,0x74,0x68,0x65,0x20,0x61,0x62,0x6f,0x76,0x65,0x20,0x63,0x6f,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0xa,0x2a,0x2a,0x20,0x20,0x20,0x20,0x20,0x6e,0x6f,0x74,0x69,0x63,0x65,0x2c,0x20,0x74,0x68,0x69,0x73,0x20,0x6c,0x69,0x73,0x74,0x20,0x6f,0x66,0x20,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65,0x20,0x66,0x6f,0x6c,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x20,0x64,0x69,0x73,0x63,0x6c,0x61,0x69,0x6d,0x65,0x72,0x20,0x69,0x6e,0xa,0x2a,0x2a,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x65,0x20,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x20,0x61,0x6e,0x64,0x2f,0x6f,0x72,0x20,0x6f,0x74,0x68,0x65,0x72,0x20,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x73,0x20,0x70,0x72,0x6f,0x76,0x69,0x64,0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0xa,0x2a,0x2a,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x2e,0xa,0x2a,0x2a,0x20,0x20,0x20,0x2a,0x20,0x4e,0x65,0x69,0x74,0x68,0x65,0x72,0x20,0x74,0x68,0x65,0x20,0x6e,0x61,0x6d,0x65,0x20,0x6f,0x66,0x20,0x54,0x68,0x65,0x20,0x51,0x74,0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79,0x20,0x4c,0x74,0x64,0x20,0x6e,0x6f,0x72,0x20,0x74,0x68,0x65,0x20,0x6e,0x61,0x6d,0x65,0x73,0x20,0x6f,0x66,0x20,0x69,0x74,0x73,0xa,0x2a,0x2a,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x74,0x72,0x69,0x62,0x75,0x74,0x6f,0x72,0x73,0x20,0x6d,0x61,0x79,0x20,0x62,0x65,0x20,0x75,0x73,0x65,0x64,0x20,0x74,0x6f,0x20,0x65,0x6e,0x64,0x6f,0x72,0x73,0x65,0x20,0x6f,0x72,0x20,0x70,0x72,0x6f,0x6d,0x6f,0x74,0x65,0x20,0x70,0x72,0x6f,0x64,0x75,0x63,0x74,0x73,0x20,0x64,0x65,0x72,0x69,0x76,0x65,0x64,0xa,0x2a,0x2a,0x20,0x20,0x20,0x20,0x20,0x66,0x72,0x6f,0x6d,0x20,0x74,0x68,0x69,0x73,0x20,0x73,0x6f,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x77,0x69,0x74,0x68,0x6f,0x75,0x74,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x63,0x20,0x70,0x72,0x69,0x6f,0x72,0x20,0x77,0x72,0x69,0x74,0x74,0x65,0x6e,0x20,0x70,0x65,0x72,0x6d,0x69,0x73,0x73,0x69,0x6f,0x6e,0x2e,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x54,0x48,0x49,0x53,0x20,0x53,0x4f,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x49,0x53,0x20,0x50,0x52,0x4f,0x56,0x49,0x44,0x45,0x44,0x20,0x42,0x59,0x20,0x54,0x48,0x45,0x20,0x43,0x4f,0x50,0x59,0x52,0x49,0x47,0x48,0x54,0x20,0x48,0x4f,0x4c,0x44,0x45,0x52,0x53,0x20,0x41,0x4e,0x44,0x20,0x43,0x4f,0x4e,0x54,0x52,0x49,0x42,0x55,0x54,0x4f,0x52,0x53,0xa,0x2a,0x2a,0x20,0x22,0x41,0x53,0x20,0x49,0x53,0x22,0x20,0x41,0x4e,0x44,0x20,0x41,0x4e,0x59,0x20,0x45,0x58,0x50,0x52,0x45,0x53,0x53,0x20,0x4f,0x52,0x20,0x49,0x4d,0x50,0x4c,0x49,0x45,0x44,0x20,0x57,0x41,0x52,0x52,0x41,0x4e,0x54,0x49,0x45,0x53,0x2c,0x20,0x49,0x4e,0x43,0x4c,0x55,0x44,0x49,0x4e,0x47,0x2c,0x20,0x42,0x55,0x54,0x20,0x4e,0x4f,0x54,0xa,0x2a,0x2a,0x20,0x4c,0x49,0x4d,0x49,0x54,0x45,0x44,0x20,0x54,0x4f,0x2c,0x20,0x54,0x48,0x45,0x20,0x49,0x4d,0x50,0x4c,0x49,0x45,0x44,0x20,0x57,0x41,0x52,0x52,0x41,0x4e,0x54,0x49,0x45,0x53,0x20,0x4f,0x46,0x20,0x4d,0x45,0x52,0x43,0x48,0x41,0x4e,0x54,0x41,0x42,0x49,0x4c,0x49,0x54,0x59,0x20,0x41,0x4e,0x44,0x20,0x46,0x49,0x54,0x4e,0x45,0x53,0x53,0x20,0x46,0x4f,0x52,0xa,0x2a,0x2a,0x20,0x41,0x20,0x50,0x41,0x52,0x54,0x49,0x43,0x55,0x4c,0x41,0x52,0x20,0x50,0x55,0x52,0x50,0x4f,0x53,0x45,0x20,0x41,0x52,0x45,0x20,0x44,0x49,0x53,0x43,0x4c,0x41,0x49,0x4d,0x45,0x44,0x2e,0x20,0x49,0x4e,0x20,0x4e,0x4f,0x20,0x45,0x56,0x45,0x4e,0x54,0x20,0x53,0x48,0x41,0x4c,0x4c,0x20,0x54,0x48,0x45,0x20,0x43,0x4f,0x50,0x59,0x52,0x49,0x47,0x48,0x54,0xa,0x2a,0x2a,0x20,0x4f,0x57,0x4e,0x45,0x52,0x20,0x4f,0x52,0x20,0x43,0x4f,0x4e,0x54,0x52,0x49,0x42,0x55,0x54,0x4f,0x52,0x53,0x20,0x42,0x45,0x20,0x4c,0x49,0x41,0x42,0x4c,0x45,0x20,0x46,0x4f,0x52,0x20,0x41,0x4e,0x59,0x20,0x44,0x49,0x52,0x45,0x43,0x54,0x2c,0x20,0x49,0x4e,0x44,0x49,0x52,0x45,0x43,0x54,0x2c,0x20,0x49,0x4e,0x43,0x49,0x44,0x45,0x4e,0x54,0x41,0x4c,0x2c,0xa,0x2a,0x2a,0x20,0x53,0x50,0x45,0x43,0x49,0x41,0x4c,0x2c,0x20,0x45,0x58,0x45,0x4d,0x50,0x4c,0x41,0x52,0x59,0x2c,0x20,0x4f,0x52,0x20,0x43,0x4f,0x4e,0x53,0x45,0x51,0x55,0x45,0x4e,0x54,0x49,0x41,0x4c,0x20,0x44,0x41,0x4d,0x41,0x47,0x45,0x53,0x20,0x28,0x49,0x4e,0x43,0x4c,0x55,0x44,0x49,0x4e,0x47,0x2c,0x20,0x42,0x55,0x54,0x20,0x4e,0x4f,0x54,0xa,0x2a,0x2a,0x20,0x4c,0x49,0x4d,0x49,0x54,0x45,0x44,0x20,0x54,0x4f,0x2c,0x20,0x50,0x52,0x4f,0x43,0x55,0x52,0x45,0x4d,0x45,0x4e,0x54,0x20,0x4f,0x46,0x20,0x53,0x55,0x42,0x53,0x54,0x49,0x54,0x55,0x54,0x45,0x20,0x47,0x4f,0x4f,0x44,0x53,0x20,0x4f,0x52,0x20,0x53,0x45,0x52,0x56,0x49,0x43,0x45,0x53,0x3b,0x20,0x4c,0x4f,0x53,0x53,0x20,0x4f,0x46,0x20,0x55,0x53,0x45,0x2c,0xa,0x2a,0x2a,0x20,0x44,0x41,0x54,0x41,0x2c,0x20,0x4f,0x52,0x20,0x50,0x52,0x4f,0x46,0x49,0x54,0x53,0x3b,0x20,0x4f,0x52,0x20,0x42,0x55,0x53,0x49,0x4e,0x45,0x53,0x53,0x20,0x49,0x4e,0x54,0x45,0x52,0x52,0x55,0x50,0x54,0x49,0x4f,0x4e,0x29,0x20,0x48,0x4f,0x57,0x45,0x56,0x45,0x52,0x20,0x43,0x41,0x55,0x53,0x45,0x44,0x20,0x41,0x4e,0x44,0x20,0x4f,0x4e,0x20,0x41,0x4e,0x59,0xa,0x2a,0x2a,0x20,0x54,0x48,0x45,0x4f,0x52,0x59,0x20,0x4f,0x46,0x20,0x4c,0x49,0x41,0x42,0x49,0x4c,0x49,0x54,0x59,0x2c,0x20,0x57,0x48,0x45,0x54,0x48,0x45,0x52,0x20,0x49,0x4e,0x20,0x43,0x4f,0x4e,0x54,0x52,0x41,0x43,0x54,0x2c,0x20,0x53,0x54,0x52,0x49,0x43,0x54,0x20,0x4c,0x49,0x41,0x42,0x49,0x4c,0x49,0x54,0x59,0x2c,0x20,0x4f,0x52,0x20,0x54,0x4f,0x52,0x54,0xa,0x2a,0x2a,0x20,0x28,0x49,0x4e,0x43,0x4c,0x55,0x44,0x49,0x4e,0x47,0x20,0x4e,0x45,0x47,0x4c,0x49,0x47,0x45,0x4e,0x43,0x45,0x20,0x4f,0x52,0x20,0x4f,0x54,0x48,0x45,0x52,0x57,0x49,0x53,0x45,0x29,0x20,0x41,0x52,0x49,0x53,0x49,0x4e,0x47,0x20,0x49,0x4e,0x20,0x41,0x4e,0x59,0x20,0x57,0x41,0x59,0x20,0x4f,0x55,0x54,0x20,0x4f,0x46,0x20,0x54,0x48,0x45,0x20,0x55,0x53,0x45,0xa,0x2a,0x2a,0x20,0x4f,0x46,0x20,0x54,0x48,0x49,0x53,0x20,0x53,0x4f,0x46,0x54,0x57,0x41,0x52,0x45,0x2c,0x20,0x45,0x56,0x45,0x4e,0x20,0x49,0x46,0x20,0x41,0x44,0x56,0x49,0x53,0x45,0x44,0x20,0x4f,0x46,0x20,0x54,0x48,0x45,0x20,0x50,0x4f,0x53,0x53,0x49,0x42,0x49,0x4c,0x49,0x54,0x59,0x20,0x4f,0x46,0x20,0x53,0x55,0x43,0x48,0x20,0x44,0x41,0x4d,0x41,0x47,0x45,0x2e,0x22,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x24,0x51,0x54,0x5f,0x45,0x4e,0x44,0x5f,0x4c,0x49,0x43,0x45,0x4e,0x53,0x45,0x24,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2f,0xa,0xa,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x72,0x65,0x73,0x74,0x61,0x72,0x74,0x28,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x66,0x6f,0x72,0x20,0x28,0x76,0x61,0x72,0x20,0x69,0x20,0x3d,0x20,0x30,0x3b,0x20,0x69,0x20,0x3c,0x20,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x3b,0x20,0x69,0x2b,0x2b,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x20,0x3d,0x20,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x2e,0x73,0x6c,0x69,0x63,0x65,0x28,0x29,0x3b,0xa,0x20,0x20,0x20,0x20,0x75,0x6e,0x64,0x6f,0x53,0x74,0x61,0x63,0x6b,0x20,0x3d,0x20,0x5b,0x5d,0x3b,0xa,0x7d,0xa,0xa,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x73,0x56,0x61,0x6c,0x69,0x64,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x28,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x78,0x20,0x3d,0x20,0x5f,0x65,0x76,0x65,0x6e,0x74,0x2e,0x64,0x61,0x74,0x61,0x2e,0x78,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x79,0x20,0x3d,0x20,0x5f,0x65,0x76,0x65,0x6e,0x74,0x2e,0x64,0x61,0x74,0x61,0x2e,0x79,0x3b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x78,0x20,0x3c,0x20,0x30,0x20,0x7c,0x7c,0x20,0x78,0x20,0x3e,0x3d,0x20,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x79,0x20,0x3c,0x20,0x30,0x20,0x7c,0x7c,0x20,0x79,0x20,0x3e,0x3d,0x20,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x5b,0x79,0x5d,0x20,0x21,0x3d,0x3d,0x20,0x30,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x72,0x75,0x65,0x3b,0xa,0x7d,0xa,0xa,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x63,0x61,0x6c,0x63,0x75,0x6c,0x61,0x74,0x65,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x28,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x69,0x73,0x56,0x61,0x6c,0x69,0x64,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x28,0x29,0x20,0x3d,0x3d,0x3d,0x20,0x66,0x61,0x6c,0x73,0x65,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x78,0x20,0x3d,0x20,0x5f,0x65,0x76,0x65,0x6e,0x74,0x2e,0x64,0x61,0x74,0x61,0x2e,0x78,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x79,0x20,0x3d,0x20,0x5f,0x65,0x76,0x65,0x6e,0x74,0x2e,0x64,0x61,0x74,0x61,0x2e,0x79,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x5b,0x79,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x3d,0x3d,0x20,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x20,0x30,0x3b,0xa,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x2b,0x3d,0x20,0x31,0x3b,0xa,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x5b,0x79,0x5d,0x20,0x3d,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x75,0x6e,0x64,0x6f,0x53,0x74,0x61,0x63,0x6b,0x2e,0x70,0x75,0x73,0x68,0x28,0x5b,0x78,0x2c,0x20,0x79,0x5d,0x29,0x3b,0xa,0x7d,0xa,0xa,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x73,0x4f,0x4b,0x28,0x6e,0x75,0x6d,0x62,0x65,0x72,0x73,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x74,0x65,0x6d,0x70,0x20,0x3d,0x20,0x5b,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x66,0x6f,0x72,0x20,0x28,0x76,0x61,0x72,0x20,0x69,0x20,0x3d,0x20,0x30,0x3b,0x20,0x69,0x20,0x3c,0x20,0x6e,0x75,0x6d,0x62,0x65,0x72,0x73,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x3b,0x20,0x69,0x2b,0x2b,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x20,0x6e,0x75,0x6d,0x62,0x65,0x72,0x73,0x5b,0x69,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x3d,0x3d,0x20,0x30,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x74,0x65,0x6d,0x70,0x2e,0x69,0x6e,0x64,0x65,0x78,0x4f,0x66,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x29,0x20,0x3e,0x3d,0x20,0x30,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x65,0x6d,0x70,0x2e,0x70,0x75,0x73,0x68,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x29,0x3b,0xa,0x20,0x20,0x20,0x20,0x7d,0xa,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x72,0x75,0x65,0x3b,0xa,0x7d,0xa,0xa,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x73,0x53,0x6f,0x6c,0x76,0x65,0x64,0x28,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x66,0x6f,0x72,0x20,0x28,0x76,0x61,0x72,0x20,0x69,0x20,0x3d,0x20,0x30,0x3b,0x20,0x69,0x20,0x3c,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x3b,0x20,0x69,0x2b,0x2b,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x69,0x73,0x4f,0x4b,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x29,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x63,0x6f,0x6c,0x75,0x6d,0x6e,0x20,0x3d,0x20,0x5b,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x73,0x71,0x75,0x61,0x72,0x65,0x20,0x3d,0x20,0x5b,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6f,0x72,0x20,0x28,0x76,0x61,0x72,0x20,0x6a,0x20,0x3d,0x20,0x30,0x3b,0x20,0x6a,0x20,0x3c,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x3b,0x20,0x6a,0x2b,0x2b,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x75,0x6d,0x6e,0x2e,0x70,0x75,0x73,0x68,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x6a,0x5d,0x5b,0x69,0x5d,0x29,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x71,0x75,0x61,0x72,0x65,0x2e,0x70,0x75,0x73,0x68,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x4d,0x61,0x74,0x68,0x2e,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x69,0x20,0x2f,0x20,0x33,0x29,0x20,0x2a,0x20,0x33,0x20,0x2b,0x20,0x4d,0x61,0x74,0x68,0x2e,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x6a,0x20,0x2f,0x20,0x33,0x29,0x5d,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5b,0x69,0x20,0x25,0x20,0x33,0x20,0x2a,0x20,0x33,0x20,0x2b,0x20,0x6a,0x20,0x25,0x20,0x33,0x5d,0x29,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0xa,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x69,0x73,0x4f,0x4b,0x28,0x63,0x6f,0x6c,0x75,0x6d,0x6e,0x29,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x69,0x73,0x4f,0x4b,0x28,0x73,0x71,0x75,0x61,0x72,0x65,0x29,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x7d,0xa,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x72,0x75,0x65,0x3b,0xa,0x7d,0xa,0xa,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x75,0x6e,0x64,0x6f,0x28,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x75,0x6e,0x64,0x6f,0x53,0x74,0x61,0x63,0x6b,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0xa,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x6c,0x61,0x73,0x74,0x4d,0x6f,0x76,0x65,0x20,0x3d,0x20,0x75,0x6e,0x64,0x6f,0x53,0x74,0x61,0x63,0x6b,0x2e,0x70,0x6f,0x70,0x28,0x29,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x78,0x20,0x3d,0x20,0x6c,0x61,0x73,0x74,0x4d,0x6f,0x76,0x65,0x5b,0x30,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x79,0x20,0x3d,0x20,0x6c,0x61,0x73,0x74,0x4d,0x6f,0x76,0x65,0x5b,0x31,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x5b,0x79,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x3d,0x3d,0x20,0x30,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x20,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x3b,0xa,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x2d,0x3d,0x20,0x31,0x3b,0xa,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x5b,0x79,0x5d,0x20,0x3d,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x3b,0xa,0x7d,0xa,0, // 34: /****************************************************************************\n**\n** Copyright (C) 2016 The Qt Company Ltd.\n** Contact: https://www.qt.io/licensing/\n**\n** This file is part of the QtScxml module of the Qt Toolkit.\n**\n** $QT_BEGIN_LICENSE:BSD$\n** Commercial License Usage\n** Licensees holding valid commercial Qt licenses may use this file in\n** accordance with the commercial license agreement provided with the\n** Software or, alternatively, in accordance with the terms contained in\n** a written agreement between you and The Qt Company. For licensing terms\n** and conditions see https://www.qt.io/terms-conditions. For further\n** information use the contact form at https://www.qt.io/contact-us.\n**\n** BSD License Usage\n** Alternatively, you may use this file under the terms of the BSD license\n** as follows:\n**\n** \"Redistribution and use in source and binary forms, with or without\n** modification, are permitted provided that the following conditions are\n** met:\n** * Redistributions of source code must retain the above copyright\n** notice, this list of conditions and the following disclaimer.\n** * Redistributions in binary form must reproduce the above copyright\n** notice, this list of conditions and the following disclaimer in\n** the documentation and/or other materials provided with the\n** distribution.\n** * Neither the name of The Qt Company Ltd nor the names of its\n** contributors may be used to endorse or promote products derived\n** from this software without specific prior written permission.\n**\n**\n** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n** \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\"\n**\n** $QT_END_LICENSE$\n**\n****************************************************************************/\n\nfunction restart() {\n for (var i = 0; i < initState.length; i++)\n currentState[i] = initState[i].slice();\n undoStack = [];\n}\n\nfunction isValidPosition() {\n var x = _event.data.x;\n var y = _event.data.y;\n if (x < 0 || x >= initState.length)\n return false;\n if (y < 0 || y >= initState.length)\n return false;\n if (initState[x][y] !== 0)\n return false;\n return true;\n}\n\nfunction calculateCurrentState() {\n if (isValidPosition() === false)\n return;\n var x = _event.data.x;\n var y = _event.data.y;\n var currentValue = currentState[x][y];\n if (currentValue === initState.length)\n currentValue = 0;\n else\n currentValue += 1;\n currentState[x][y] = currentValue;\n undoStack.push([x, y]);\n}\n\nfunction isOK(numbers) {\n var temp = [];\n for (var i = 0; i < numbers.length; i++) {\n var currentValue = numbers[i];\n if (currentValue === 0)\n return false;\n if (temp.indexOf(currentValue) >= 0)\n return false;\n temp.push(currentValue);\n }\n return true;\n}\n\nfunction isSolved() {\n for (var i = 0; i < currentState.length; i++) {\n if (!isOK(currentState[i]))\n return false;\n\n var column = [];\n var square = [];\n for (var j = 0; j < currentState[i].length; j++) {\n column.push(currentState[j][i]);\n square.push(currentState[Math.floor(i / 3) * 3 + Math.floor(j / 3)]\n [i % 3 * 3 + j % 3]);\n }\n\n if (!isOK(column))\n return false;\n if (!isOK(square))\n return false;\n }\n return true;\n}\n\nfunction undo() {\n if (!undoStack.length)\n return;\n\n var lastMove = undoStack.pop();\n var x = lastMove[0];\n var y = lastMove[1];\n var currentValue = currentState[x][y];\n if (currentValue === 0)\n currentValue = initState.length;\n else\n currentValue -= 1;\n currentState[x][y] = currentValue;\n}\n 0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x28,0x6e,0x6f,0x6e,0x65,0x29,0x20,0x77,0x69,0x74,0x68,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x3d,0x22,0x2f,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x43,0x6f,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20,0x28,0x43,0x29,0x20,0x32,0x30,0x31,0x36,0x20,0x54,0x68,0x65,0x20,0x51,0x74,0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79,0x20,0x4c,0x74,0x64,0x2e,0xa,0x2a,0x2a,0x20,0x43,0x6f,0x6e,0x74,0x61,0x63,0x74,0x3a,0x20,0x68,0x74,0x74,0x70,0x73,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x71,0x74,0x2e,0x69,0x6f,0x2f,0x6c,0x69,0x63,0x65,0x6e,0x73,0x69,0x6e,0x67,0x2f,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x54,0x68,0x69,0x73,0x20,0x66,0x69,0x6c,0x65,0x20,0x69,0x73,0x20,0x70,0x61,0x72,0x74,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x51,0x74,0x53,0x63,0x78,0x6d,0x6c,0x20,0x6d,0x6f,0x64,0x75,0x6c,0x65,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x51,0x74,0x20,0x54,0x6f,0x6f,0x6c,0x6b,0x69,0x74,0x2e,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x24,0x51,0x54,0x5f,0x42,0x45,0x47,0x49,0x4e,0x5f,0x4c,0x49,0x43,0x45,0x4e,0x53,0x45,0x3a,0x42,0x53,0x44,0x24,0xa,0x2a,0x2a,0x20,0x43,0x6f,0x6d,0x6d,0x65,0x72,0x63,0x69,0x61,0x6c,0x20,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x20,0x55,0x73,0x61,0x67,0x65,0xa,0x2a,0x2a,0x20,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x65,0x73,0x20,0x68,0x6f,0x6c,0x64,0x69,0x6e,0x67,0x20,0x76,0x61,0x6c,0x69,0x64,0x20,0x63,0x6f,0x6d,0x6d,0x65,0x72,0x63,0x69,0x61,0x6c,0x20,0x51,0x74,0x20,0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x73,0x20,0x6d,0x61,0x79,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x66,0x69,0x6c,0x65,0x20,0x69,0x6e,0xa,0x2a,0x2a,0x20,0x61,0x63,0x63,0x6f,0x72,0x64,0x61,0x6e,0x63,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x63,0x6f,0x6d,0x6d,0x65,0x72,0x63,0x69,0x61,0x6c,0x20,0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x20,0x61,0x67,0x72,0x65,0x65,0x6d,0x65,0x6e,0x74,0x20,0x70,0x72,0x6f,0x76,0x69,0x64,0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0xa,0x2a,0x2a,0x20,0x53,0x6f,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x6f,0x72,0x2c,0x20,0x61,0x6c,0x74,0x65,0x72,0x6e,0x61,0x74,0x69,0x76,0x65,0x6c,0x79,0x2c,0x20,0x69,0x6e,0x20,0x61,0x63,0x63,0x6f,0x72,0x64,0x61,0x6e,0x63,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x74,0x65,0x72,0x6d,0x73,0x20,0x63,0x6f,0x6e,0x74,0x61,0x69,0x6e,0x65,0x64,0x20,0x69,0x6e,0xa,0x2a,0x2a,0x20,0x61,0x20,0x77,0x72,0x69,0x74,0x74,0x65,0x6e,0x20,0x61,0x67,0x72,0x65,0x65,0x6d,0x65,0x6e,0x74,0x20,0x62,0x65,0x74,0x77,0x65,0x65,0x6e,0x20,0x79,0x6f,0x75,0x20,0x61,0x6e,0x64,0x20,0x54,0x68,0x65,0x20,0x51,0x74,0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79,0x2e,0x20,0x46,0x6f,0x72,0x20,0x6c,0x69,0x63,0x65,0x6e,0x73,0x69,0x6e,0x67,0x20,0x74,0x65,0x72,0x6d,0x73,0xa,0x2a,0x2a,0x20,0x61,0x6e,0x64,0x20,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x20,0x73,0x65,0x65,0x20,0x68,0x74,0x74,0x70,0x73,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x71,0x74,0x2e,0x69,0x6f,0x2f,0x74,0x65,0x72,0x6d,0x73,0x2d,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x2e,0x20,0x46,0x6f,0x72,0x20,0x66,0x75,0x72,0x74,0x68,0x65,0x72,0xa,0x2a,0x2a,0x20,0x69,0x6e,0x66,0x6f,0x72,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x20,0x63,0x6f,0x6e,0x74,0x61,0x63,0x74,0x20,0x66,0x6f,0x72,0x6d,0x20,0x61,0x74,0x20,0x68,0x74,0x74,0x70,0x73,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x71,0x74,0x2e,0x69,0x6f,0x2f,0x63,0x6f,0x6e,0x74,0x61,0x63,0x74,0x2d,0x75,0x73,0x2e,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x42,0x53,0x44,0x20,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x20,0x55,0x73,0x61,0x67,0x65,0xa,0x2a,0x2a,0x20,0x41,0x6c,0x74,0x65,0x72,0x6e,0x61,0x74,0x69,0x76,0x65,0x6c,0x79,0x2c,0x20,0x79,0x6f,0x75,0x20,0x6d,0x61,0x79,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x66,0x69,0x6c,0x65,0x20,0x75,0x6e,0x64,0x65,0x72,0x20,0x74,0x68,0x65,0x20,0x74,0x65,0x72,0x6d,0x73,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x42,0x53,0x44,0x20,0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0xa,0x2a,0x2a,0x20,0x61,0x73,0x20,0x66,0x6f,0x6c,0x6c,0x6f,0x77,0x73,0x3a,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x22,0x52,0x65,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x20,0x61,0x6e,0x64,0x20,0x75,0x73,0x65,0x20,0x69,0x6e,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x61,0x6e,0x64,0x20,0x62,0x69,0x6e,0x61,0x72,0x79,0x20,0x66,0x6f,0x72,0x6d,0x73,0x2c,0x20,0x77,0x69,0x74,0x68,0x20,0x6f,0x72,0x20,0x77,0x69,0x74,0x68,0x6f,0x75,0x74,0xa,0x2a,0x2a,0x20,0x6d,0x6f,0x64,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x61,0x72,0x65,0x20,0x70,0x65,0x72,0x6d,0x69,0x74,0x74,0x65,0x64,0x20,0x70,0x72,0x6f,0x76,0x69,0x64,0x65,0x64,0x20,0x74,0x68,0x61,0x74,0x20,0x74,0x68,0x65,0x20,0x66,0x6f,0x6c,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x20,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x20,0x61,0x72,0x65,0xa,0x2a,0x2a,0x20,0x6d,0x65,0x74,0x3a,0xa,0x2a,0x2a,0x20,0x20,0x20,0x2a,0x20,0x52,0x65,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x73,0x20,0x6f,0x66,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x63,0x6f,0x64,0x65,0x20,0x6d,0x75,0x73,0x74,0x20,0x72,0x65,0x74,0x61,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x61,0x62,0x6f,0x76,0x65,0x20,0x63,0x6f,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0xa,0x2a,0x2a,0x20,0x20,0x20,0x20,0x20,0x6e,0x6f,0x74,0x69,0x63,0x65,0x2c,0x20,0x74,0x68,0x69,0x73,0x20,0x6c,0x69,0x73,0x74,0x20,0x6f,0x66,0x20,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65,0x20,0x66,0x6f,0x6c,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x20,0x64,0x69,0x73,0x63,0x6c,0x61,0x69,0x6d,0x65,0x72,0x2e,0xa,0x2a,0x2a,0x20,0x20,0x20,0x2a,0x20,0x52,0x65,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x73,0x20,0x69,0x6e,0x20,0x62,0x69,0x6e,0x61,0x72,0x79,0x20,0x66,0x6f,0x72,0x6d,0x20,0x6d,0x75,0x73,0x74,0x20,0x72,0x65,0x70,0x72,0x6f,0x64,0x75,0x63,0x65,0x20,0x74,0x68,0x65,0x20,0x61,0x62,0x6f,0x76,0x65,0x20,0x63,0x6f,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0xa,0x2a,0x2a,0x20,0x20,0x20,0x20,0x20,0x6e,0x6f,0x74,0x69,0x63,0x65,0x2c,0x20,0x74,0x68,0x69,0x73,0x20,0x6c,0x69,0x73,0x74,0x20,0x6f,0x66,0x20,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65,0x20,0x66,0x6f,0x6c,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x20,0x64,0x69,0x73,0x63,0x6c,0x61,0x69,0x6d,0x65,0x72,0x20,0x69,0x6e,0xa,0x2a,0x2a,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x65,0x20,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x20,0x61,0x6e,0x64,0x2f,0x6f,0x72,0x20,0x6f,0x74,0x68,0x65,0x72,0x20,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x73,0x20,0x70,0x72,0x6f,0x76,0x69,0x64,0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0xa,0x2a,0x2a,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x2e,0xa,0x2a,0x2a,0x20,0x20,0x20,0x2a,0x20,0x4e,0x65,0x69,0x74,0x68,0x65,0x72,0x20,0x74,0x68,0x65,0x20,0x6e,0x61,0x6d,0x65,0x20,0x6f,0x66,0x20,0x54,0x68,0x65,0x20,0x51,0x74,0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79,0x20,0x4c,0x74,0x64,0x20,0x6e,0x6f,0x72,0x20,0x74,0x68,0x65,0x20,0x6e,0x61,0x6d,0x65,0x73,0x20,0x6f,0x66,0x20,0x69,0x74,0x73,0xa,0x2a,0x2a,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x74,0x72,0x69,0x62,0x75,0x74,0x6f,0x72,0x73,0x20,0x6d,0x61,0x79,0x20,0x62,0x65,0x20,0x75,0x73,0x65,0x64,0x20,0x74,0x6f,0x20,0x65,0x6e,0x64,0x6f,0x72,0x73,0x65,0x20,0x6f,0x72,0x20,0x70,0x72,0x6f,0x6d,0x6f,0x74,0x65,0x20,0x70,0x72,0x6f,0x64,0x75,0x63,0x74,0x73,0x20,0x64,0x65,0x72,0x69,0x76,0x65,0x64,0xa,0x2a,0x2a,0x20,0x20,0x20,0x20,0x20,0x66,0x72,0x6f,0x6d,0x20,0x74,0x68,0x69,0x73,0x20,0x73,0x6f,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x77,0x69,0x74,0x68,0x6f,0x75,0x74,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x63,0x20,0x70,0x72,0x69,0x6f,0x72,0x20,0x77,0x72,0x69,0x74,0x74,0x65,0x6e,0x20,0x70,0x65,0x72,0x6d,0x69,0x73,0x73,0x69,0x6f,0x6e,0x2e,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x54,0x48,0x49,0x53,0x20,0x53,0x4f,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x49,0x53,0x20,0x50,0x52,0x4f,0x56,0x49,0x44,0x45,0x44,0x20,0x42,0x59,0x20,0x54,0x48,0x45,0x20,0x43,0x4f,0x50,0x59,0x52,0x49,0x47,0x48,0x54,0x20,0x48,0x4f,0x4c,0x44,0x45,0x52,0x53,0x20,0x41,0x4e,0x44,0x20,0x43,0x4f,0x4e,0x54,0x52,0x49,0x42,0x55,0x54,0x4f,0x52,0x53,0xa,0x2a,0x2a,0x20,0x22,0x41,0x53,0x20,0x49,0x53,0x22,0x20,0x41,0x4e,0x44,0x20,0x41,0x4e,0x59,0x20,0x45,0x58,0x50,0x52,0x45,0x53,0x53,0x20,0x4f,0x52,0x20,0x49,0x4d,0x50,0x4c,0x49,0x45,0x44,0x20,0x57,0x41,0x52,0x52,0x41,0x4e,0x54,0x49,0x45,0x53,0x2c,0x20,0x49,0x4e,0x43,0x4c,0x55,0x44,0x49,0x4e,0x47,0x2c,0x20,0x42,0x55,0x54,0x20,0x4e,0x4f,0x54,0xa,0x2a,0x2a,0x20,0x4c,0x49,0x4d,0x49,0x54,0x45,0x44,0x20,0x54,0x4f,0x2c,0x20,0x54,0x48,0x45,0x20,0x49,0x4d,0x50,0x4c,0x49,0x45,0x44,0x20,0x57,0x41,0x52,0x52,0x41,0x4e,0x54,0x49,0x45,0x53,0x20,0x4f,0x46,0x20,0x4d,0x45,0x52,0x43,0x48,0x41,0x4e,0x54,0x41,0x42,0x49,0x4c,0x49,0x54,0x59,0x20,0x41,0x4e,0x44,0x20,0x46,0x49,0x54,0x4e,0x45,0x53,0x53,0x20,0x46,0x4f,0x52,0xa,0x2a,0x2a,0x20,0x41,0x20,0x50,0x41,0x52,0x54,0x49,0x43,0x55,0x4c,0x41,0x52,0x20,0x50,0x55,0x52,0x50,0x4f,0x53,0x45,0x20,0x41,0x52,0x45,0x20,0x44,0x49,0x53,0x43,0x4c,0x41,0x49,0x4d,0x45,0x44,0x2e,0x20,0x49,0x4e,0x20,0x4e,0x4f,0x20,0x45,0x56,0x45,0x4e,0x54,0x20,0x53,0x48,0x41,0x4c,0x4c,0x20,0x54,0x48,0x45,0x20,0x43,0x4f,0x50,0x59,0x52,0x49,0x47,0x48,0x54,0xa,0x2a,0x2a,0x20,0x4f,0x57,0x4e,0x45,0x52,0x20,0x4f,0x52,0x20,0x43,0x4f,0x4e,0x54,0x52,0x49,0x42,0x55,0x54,0x4f,0x52,0x53,0x20,0x42,0x45,0x20,0x4c,0x49,0x41,0x42,0x4c,0x45,0x20,0x46,0x4f,0x52,0x20,0x41,0x4e,0x59,0x20,0x44,0x49,0x52,0x45,0x43,0x54,0x2c,0x20,0x49,0x4e,0x44,0x49,0x52,0x45,0x43,0x54,0x2c,0x20,0x49,0x4e,0x43,0x49,0x44,0x45,0x4e,0x54,0x41,0x4c,0x2c,0xa,0x2a,0x2a,0x20,0x53,0x50,0x45,0x43,0x49,0x41,0x4c,0x2c,0x20,0x45,0x58,0x45,0x4d,0x50,0x4c,0x41,0x52,0x59,0x2c,0x20,0x4f,0x52,0x20,0x43,0x4f,0x4e,0x53,0x45,0x51,0x55,0x45,0x4e,0x54,0x49,0x41,0x4c,0x20,0x44,0x41,0x4d,0x41,0x47,0x45,0x53,0x20,0x28,0x49,0x4e,0x43,0x4c,0x55,0x44,0x49,0x4e,0x47,0x2c,0x20,0x42,0x55,0x54,0x20,0x4e,0x4f,0x54,0xa,0x2a,0x2a,0x20,0x4c,0x49,0x4d,0x49,0x54,0x45,0x44,0x20,0x54,0x4f,0x2c,0x20,0x50,0x52,0x4f,0x43,0x55,0x52,0x45,0x4d,0x45,0x4e,0x54,0x20,0x4f,0x46,0x20,0x53,0x55,0x42,0x53,0x54,0x49,0x54,0x55,0x54,0x45,0x20,0x47,0x4f,0x4f,0x44,0x53,0x20,0x4f,0x52,0x20,0x53,0x45,0x52,0x56,0x49,0x43,0x45,0x53,0x3b,0x20,0x4c,0x4f,0x53,0x53,0x20,0x4f,0x46,0x20,0x55,0x53,0x45,0x2c,0xa,0x2a,0x2a,0x20,0x44,0x41,0x54,0x41,0x2c,0x20,0x4f,0x52,0x20,0x50,0x52,0x4f,0x46,0x49,0x54,0x53,0x3b,0x20,0x4f,0x52,0x20,0x42,0x55,0x53,0x49,0x4e,0x45,0x53,0x53,0x20,0x49,0x4e,0x54,0x45,0x52,0x52,0x55,0x50,0x54,0x49,0x4f,0x4e,0x29,0x20,0x48,0x4f,0x57,0x45,0x56,0x45,0x52,0x20,0x43,0x41,0x55,0x53,0x45,0x44,0x20,0x41,0x4e,0x44,0x20,0x4f,0x4e,0x20,0x41,0x4e,0x59,0xa,0x2a,0x2a,0x20,0x54,0x48,0x45,0x4f,0x52,0x59,0x20,0x4f,0x46,0x20,0x4c,0x49,0x41,0x42,0x49,0x4c,0x49,0x54,0x59,0x2c,0x20,0x57,0x48,0x45,0x54,0x48,0x45,0x52,0x20,0x49,0x4e,0x20,0x43,0x4f,0x4e,0x54,0x52,0x41,0x43,0x54,0x2c,0x20,0x53,0x54,0x52,0x49,0x43,0x54,0x20,0x4c,0x49,0x41,0x42,0x49,0x4c,0x49,0x54,0x59,0x2c,0x20,0x4f,0x52,0x20,0x54,0x4f,0x52,0x54,0xa,0x2a,0x2a,0x20,0x28,0x49,0x4e,0x43,0x4c,0x55,0x44,0x49,0x4e,0x47,0x20,0x4e,0x45,0x47,0x4c,0x49,0x47,0x45,0x4e,0x43,0x45,0x20,0x4f,0x52,0x20,0x4f,0x54,0x48,0x45,0x52,0x57,0x49,0x53,0x45,0x29,0x20,0x41,0x52,0x49,0x53,0x49,0x4e,0x47,0x20,0x49,0x4e,0x20,0x41,0x4e,0x59,0x20,0x57,0x41,0x59,0x20,0x4f,0x55,0x54,0x20,0x4f,0x46,0x20,0x54,0x48,0x45,0x20,0x55,0x53,0x45,0xa,0x2a,0x2a,0x20,0x4f,0x46,0x20,0x54,0x48,0x49,0x53,0x20,0x53,0x4f,0x46,0x54,0x57,0x41,0x52,0x45,0x2c,0x20,0x45,0x56,0x45,0x4e,0x20,0x49,0x46,0x20,0x41,0x44,0x56,0x49,0x53,0x45,0x44,0x20,0x4f,0x46,0x20,0x54,0x48,0x45,0x20,0x50,0x4f,0x53,0x53,0x49,0x42,0x49,0x4c,0x49,0x54,0x59,0x20,0x4f,0x46,0x20,0x53,0x55,0x43,0x48,0x20,0x44,0x41,0x4d,0x41,0x47,0x45,0x2e,0x22,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x20,0x24,0x51,0x54,0x5f,0x45,0x4e,0x44,0x5f,0x4c,0x49,0x43,0x45,0x4e,0x53,0x45,0x24,0xa,0x2a,0x2a,0xa,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2f,0xa,0xa,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x72,0x65,0x73,0x74,0x61,0x72,0x74,0x28,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x66,0x6f,0x72,0x20,0x28,0x76,0x61,0x72,0x20,0x69,0x20,0x3d,0x20,0x30,0x3b,0x20,0x69,0x20,0x3c,0x20,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x3b,0x20,0x69,0x2b,0x2b,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x20,0x3d,0x20,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x2e,0x73,0x6c,0x69,0x63,0x65,0x28,0x29,0x3b,0xa,0x20,0x20,0x20,0x20,0x75,0x6e,0x64,0x6f,0x53,0x74,0x61,0x63,0x6b,0x20,0x3d,0x20,0x5b,0x5d,0x3b,0xa,0x7d,0xa,0xa,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x73,0x56,0x61,0x6c,0x69,0x64,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x28,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x78,0x20,0x3d,0x20,0x5f,0x65,0x76,0x65,0x6e,0x74,0x2e,0x64,0x61,0x74,0x61,0x2e,0x78,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x79,0x20,0x3d,0x20,0x5f,0x65,0x76,0x65,0x6e,0x74,0x2e,0x64,0x61,0x74,0x61,0x2e,0x79,0x3b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x78,0x20,0x3c,0x20,0x30,0x20,0x7c,0x7c,0x20,0x78,0x20,0x3e,0x3d,0x20,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x79,0x20,0x3c,0x20,0x30,0x20,0x7c,0x7c,0x20,0x79,0x20,0x3e,0x3d,0x20,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x5b,0x79,0x5d,0x20,0x21,0x3d,0x3d,0x20,0x30,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x72,0x75,0x65,0x3b,0xa,0x7d,0xa,0xa,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x63,0x61,0x6c,0x63,0x75,0x6c,0x61,0x74,0x65,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x28,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x69,0x73,0x56,0x61,0x6c,0x69,0x64,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x28,0x29,0x20,0x3d,0x3d,0x3d,0x20,0x66,0x61,0x6c,0x73,0x65,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x78,0x20,0x3d,0x20,0x5f,0x65,0x76,0x65,0x6e,0x74,0x2e,0x64,0x61,0x74,0x61,0x2e,0x78,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x79,0x20,0x3d,0x20,0x5f,0x65,0x76,0x65,0x6e,0x74,0x2e,0x64,0x61,0x74,0x61,0x2e,0x79,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x5b,0x79,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x3d,0x3d,0x20,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x20,0x30,0x3b,0xa,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x2b,0x3d,0x20,0x31,0x3b,0xa,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x5b,0x79,0x5d,0x20,0x3d,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x75,0x6e,0x64,0x6f,0x53,0x74,0x61,0x63,0x6b,0x2e,0x70,0x75,0x73,0x68,0x28,0x5b,0x78,0x2c,0x20,0x79,0x5d,0x29,0x3b,0xa,0x7d,0xa,0xa,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x73,0x4f,0x4b,0x28,0x6e,0x75,0x6d,0x62,0x65,0x72,0x73,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x74,0x65,0x6d,0x70,0x20,0x3d,0x20,0x5b,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x66,0x6f,0x72,0x20,0x28,0x76,0x61,0x72,0x20,0x69,0x20,0x3d,0x20,0x30,0x3b,0x20,0x69,0x20,0x3c,0x20,0x6e,0x75,0x6d,0x62,0x65,0x72,0x73,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x3b,0x20,0x69,0x2b,0x2b,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x20,0x6e,0x75,0x6d,0x62,0x65,0x72,0x73,0x5b,0x69,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x3d,0x3d,0x20,0x30,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x74,0x65,0x6d,0x70,0x2e,0x69,0x6e,0x64,0x65,0x78,0x4f,0x66,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x29,0x20,0x3e,0x3d,0x20,0x30,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x65,0x6d,0x70,0x2e,0x70,0x75,0x73,0x68,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x29,0x3b,0xa,0x20,0x20,0x20,0x20,0x7d,0xa,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x72,0x75,0x65,0x3b,0xa,0x7d,0xa,0xa,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x69,0x73,0x53,0x6f,0x6c,0x76,0x65,0x64,0x28,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x66,0x6f,0x72,0x20,0x28,0x76,0x61,0x72,0x20,0x69,0x20,0x3d,0x20,0x30,0x3b,0x20,0x69,0x20,0x3c,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x3b,0x20,0x69,0x2b,0x2b,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x69,0x73,0x4f,0x4b,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x29,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x63,0x6f,0x6c,0x75,0x6d,0x6e,0x20,0x3d,0x20,0x5b,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x73,0x71,0x75,0x61,0x72,0x65,0x20,0x3d,0x20,0x5b,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6f,0x72,0x20,0x28,0x76,0x61,0x72,0x20,0x6a,0x20,0x3d,0x20,0x30,0x3b,0x20,0x6a,0x20,0x3c,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x3b,0x20,0x6a,0x2b,0x2b,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x75,0x6d,0x6e,0x2e,0x70,0x75,0x73,0x68,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x6a,0x5d,0x5b,0x69,0x5d,0x29,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x71,0x75,0x61,0x72,0x65,0x2e,0x70,0x75,0x73,0x68,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x4d,0x61,0x74,0x68,0x2e,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x69,0x20,0x2f,0x20,0x33,0x29,0x20,0x2a,0x20,0x33,0x20,0x2b,0x20,0x4d,0x61,0x74,0x68,0x2e,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x6a,0x20,0x2f,0x20,0x33,0x29,0x5d,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5b,0x69,0x20,0x25,0x20,0x33,0x20,0x2a,0x20,0x33,0x20,0x2b,0x20,0x6a,0x20,0x25,0x20,0x33,0x5d,0x29,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0xa,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x69,0x73,0x4f,0x4b,0x28,0x63,0x6f,0x6c,0x75,0x6d,0x6e,0x29,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x69,0x73,0x4f,0x4b,0x28,0x73,0x71,0x75,0x61,0x72,0x65,0x29,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x7d,0xa,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x72,0x75,0x65,0x3b,0xa,0x7d,0xa,0xa,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x75,0x6e,0x64,0x6f,0x28,0x29,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x75,0x6e,0x64,0x6f,0x53,0x74,0x61,0x63,0x6b,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0xa,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x6c,0x61,0x73,0x74,0x4d,0x6f,0x76,0x65,0x20,0x3d,0x20,0x75,0x6e,0x64,0x6f,0x53,0x74,0x61,0x63,0x6b,0x2e,0x70,0x6f,0x70,0x28,0x29,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x78,0x20,0x3d,0x20,0x6c,0x61,0x73,0x74,0x4d,0x6f,0x76,0x65,0x5b,0x30,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x79,0x20,0x3d,0x20,0x6c,0x61,0x73,0x74,0x4d,0x6f,0x76,0x65,0x5b,0x31,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x5b,0x79,0x5d,0x3b,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x3d,0x3d,0x20,0x30,0x29,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x3d,0x20,0x69,0x6e,0x69,0x74,0x53,0x74,0x61,0x74,0x65,0x2e,0x6c,0x65,0x6e,0x67,0x74,0x68,0x3b,0xa,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x20,0x2d,0x3d,0x20,0x31,0x3b,0xa,0x20,0x20,0x20,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x5b,0x79,0x5d,0x20,0x3d,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x56,0x61,0x6c,0x75,0x65,0x3b,0xa,0x7d,0xa,0x22,0 // 35: script instruction in state (none) with source=\"/****************************************************************************\n**\n** Copyright (C) 2016 The Qt Company Ltd.\n** Contact: https://www.qt.io/licensing/\n**\n** This file is part of the QtScxml module of the Qt Toolkit.\n**\n** $QT_BEGIN_LICENSE:BSD$\n** Commercial License Usage\n** Licensees holding valid commercial Qt licenses may use this file in\n** accordance with the commercial license agreement provided with the\n** Software or, alternatively, in accordance with the terms contained in\n** a written agreement between you and The Qt Company. For licensing terms\n** and conditions see https://www.qt.io/terms-conditions. For further\n** information use the contact form at https://www.qt.io/contact-us.\n**\n** BSD License Usage\n** Alternatively, you may use this file under the terms of the BSD license\n** as follows:\n**\n** \"Redistribution and use in source and binary forms, with or without\n** modification, are permitted provided that the following conditions are\n** met:\n** * Redistributions of source code must retain the above copyright\n** notice, this list of conditions and the following disclaimer.\n** * Redistributions in binary form must reproduce the above copyright\n** notice, this list of conditions and the following disclaimer in\n** the documentation and/or other materials provided with the\n** distribution.\n** * Neither the name of The Qt Company Ltd nor the names of its\n** contributors may be used to endorse or promote products derived\n** from this software without specific prior written permission.\n**\n**\n** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n** \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\"\n**\n** $QT_END_LICENSE$\n**\n****************************************************************************/\n\nfunction restart() {\n for (var i = 0; i < initState.length; i++)\n currentState[i] = initState[i].slice();\n undoStack = [];\n}\n\nfunction isValidPosition() {\n var x = _event.data.x;\n var y = _event.data.y;\n if (x < 0 || x >= initState.length)\n return false;\n if (y < 0 || y >= initState.length)\n return false;\n if (initState[x][y] !== 0)\n return false;\n return true;\n}\n\nfunction calculateCurrentState() {\n if (isValidPosition() === false)\n return;\n var x = _event.data.x;\n var y = _event.data.y;\n var currentValue = currentState[x][y];\n if (currentValue === initState.length)\n currentValue = 0;\n else\n currentValue += 1;\n currentState[x][y] = currentValue;\n undoStack.push([x, y]);\n}\n\nfunction isOK(numbers) {\n var temp = [];\n for (var i = 0; i < numbers.length; i++) {\n var currentValue = numbers[i];\n if (currentValue === 0)\n return false;\n if (temp.indexOf(currentValue) >= 0)\n return false;\n temp.push(currentValue);\n }\n return true;\n}\n\nfunction isSolved() {\n for (var i = 0; i < currentState.length; i++) {\n if (!isOK(currentState[i]))\n return false;\n\n var column = [];\n var square = [];\n for (var j = 0; j < currentState[i].length; j++) {\n column.push(currentState[j][i]);\n square.push(currentState[Math.floor(i / 3) * 3 + Math.floor(j / 3)]\n [i % 3 * 3 + j % 3]);\n }\n\n if (!isOK(column))\n return false;\n if (!isOK(square))\n return false;\n }\n return true;\n}\n\nfunction undo() {\n if (!undoStack.length)\n return;\n\n var lastMove = undoStack.pop();\n var x = lastMove[0];\n var y = lastMove[1];\n var currentValue = currentState[x][y];\n if (currentValue === 0)\n currentValue = initState.length;\n else\n currentValue -= 1;\n currentState[x][y] = currentValue;\n}\n\" }}; const qint32 Sudoku::Data::theStateMachineTable[] = { 0x1, // version 0, // name 1, // data-model 45, // child states array offset 8, // transition to initial states -1, // initial setup 0, // binding -1, // maxServiceId 14, 5, // state offset and count 69, 11, // transition offset and count 135, 49, // array offset and size // States: 1, -1, 0, 9, -1, 0, -1, -1, 37, 40, -1, 3, 0, 0, 10, -1, -1, -1, -1, 8, 11, -1, 9, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 10, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 11, 0, 0, -1, -1, 13, -1, -1, -1, 28, -1, // Transitions: 2, -1, 1, 1, 0, -1, 6, -1, 1, 1, 4, 7, 16, -1, 1, 4, -1, 20, 18, -1, 1, 4, -1, 44, 22, -1, 1, 4, 20, -1, 26, -1, 1, 4, 24, -1, 33, -1, 1, 0, -1, 50, 35, -1, 1, 0, -1, 56, -1, -1, 2, -1, 47, -1, -1, -1, 2, 0, 43, -1, -1, -1, 2, 1, 14, -1, // Arrays: 1, 4, 1, 4, 1, 2, 1, 8, 2, 2, 3, 2, 0, 1, 1, 2, 1, 19, 1, 22, 1, 1, 1, 23, 1, 3, 1, 10, 4, 2, 3, 4, 5, 1, 2, 1, 18, 2, 1, 4, 2, 6, 7, 1, 1, 1, 0, 1, 0, 0xc0ff33 // terminator }; struct qt_meta_stringdata_Sudoku_t { QByteArrayData data[14]; unsigned char stringdata0[125]; }; #define QT_MOC_LITERAL(idx, ofs, len) \ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ qptrdiff(offsetof(qt_meta_stringdata_Sudoku_t, stringdata0) + ofs \ - idx * sizeof(QByteArrayData)) \ ) static const qt_meta_stringdata_Sudoku_t qt_meta_stringdata_Sudoku = { { QT_MOC_LITERAL(0, 0, 6), // "Sudoku" QT_MOC_LITERAL(1, 7, 11), // "gameChanged" QT_MOC_LITERAL(2, 19, 0), // "" QT_MOC_LITERAL(3, 20, 6), // "active" QT_MOC_LITERAL(4, 27, 11), // "idleChanged" QT_MOC_LITERAL(5, 39, 15), // "unsolvedChanged" QT_MOC_LITERAL(6, 55, 13), // "solvedChanged" QT_MOC_LITERAL(7, 69, 14), // "playingChanged" QT_MOC_LITERAL(8, 84, 6), // "parent" QT_MOC_LITERAL(9, 91, 4), // "game" QT_MOC_LITERAL(10, 96, 4), // "idle" QT_MOC_LITERAL(11, 101, 8), // "unsolved" QT_MOC_LITERAL(12, 110, 6), // "solved" QT_MOC_LITERAL(13, 117, 7) // "playing" },{ 0x53,0x75,0x64,0x6f,0x6b,0x75,0, // 0: Sudoku 0x67,0x61,0x6d,0x65,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0, // 1: gameChanged 0, // 2: 0x61,0x63,0x74,0x69,0x76,0x65,0, // 3: active 0x69,0x64,0x6c,0x65,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0, // 4: idleChanged 0x75,0x6e,0x73,0x6f,0x6c,0x76,0x65,0x64,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0, // 5: unsolvedChanged 0x73,0x6f,0x6c,0x76,0x65,0x64,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0, // 6: solvedChanged 0x70,0x6c,0x61,0x79,0x69,0x6e,0x67,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0, // 7: playingChanged 0x70,0x61,0x72,0x65,0x6e,0x74,0, // 8: parent 0x67,0x61,0x6d,0x65,0, // 9: game 0x69,0x64,0x6c,0x65,0, // 10: idle 0x75,0x6e,0x73,0x6f,0x6c,0x76,0x65,0x64,0, // 11: unsolved 0x73,0x6f,0x6c,0x76,0x65,0x64,0, // 12: solved 0x70,0x6c,0x61,0x79,0x69,0x6e,0x67,0 // 13: playing }}; #undef QT_MOC_LITERAL static const uint qt_meta_data_Sudoku[] = { // content: 8, // revision 0, // classname 0, 0, // classinfo 5, 14, // methods 5, 57, // properties 0, 0, // enums/sets 1, 77, // constructors 0, // flags 5, // signalCount // signals: name, argc, parameters, tag, flags 1, 1, 39, 2, 0x06 /* Public */, 4, 1, 42, 2, 0x06 /* Public */, 5, 1, 45, 2, 0x06 /* Public */, 6, 1, 48, 2, 0x06 /* Public */, 7, 1, 51, 2, 0x06 /* Public */, // signals: parameters QMetaType::Void, QMetaType::Bool, 3, QMetaType::Void, QMetaType::Bool, 3, QMetaType::Void, QMetaType::Bool, 3, QMetaType::Void, QMetaType::Bool, 3, QMetaType::Void, QMetaType::Bool, 3, // constructors: parameters 0x80000000 | 2, QMetaType::QObjectStar, 8, // properties: name, type, flags 9, QMetaType::Bool, 0x006a6001, 10, QMetaType::Bool, 0x006a6001, 11, QMetaType::Bool, 0x006a6001, 12, QMetaType::Bool, 0x006a6001, 13, QMetaType::Bool, 0x006a6001, // properties: notify_signal_id 0, 1, 2, 3, 4, // constructors: name, argc, parameters, tag, flags 0, 1, 54, 2, 0x0e /* Public */, 0 // eod }; void Sudoku::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) { if (_c == QMetaObject::CreateInstance) { switch (_id) { case 0: { Sudoku *_r = new Sudoku((*reinterpret_cast< QObject **>(_a[1]))); if (_a[0]) *reinterpret_cast<QObject**>(_a[0]) = _r; } break; default: break; } } else if (_c == QMetaObject::InvokeMetaMethod) { Sudoku *_t = static_cast<Sudoku *>(_o); Q_UNUSED(_t) switch (_id) { case 0: QMetaObject::activate(_o, &staticMetaObject, 0, _a); break; case 1: QMetaObject::activate(_o, &staticMetaObject, 1, _a); break; case 2: QMetaObject::activate(_o, &staticMetaObject, 2, _a); break; case 3: QMetaObject::activate(_o, &staticMetaObject, 3, _a); break; case 4: QMetaObject::activate(_o, &staticMetaObject, 4, _a); break; default: ; } } else if (_c == QMetaObject::IndexOfMethod) { int *result = reinterpret_cast<int *>(_a[0]); void **func = reinterpret_cast<void **>(_a[1]); Q_UNUSED(result); Q_UNUSED(func); } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { Sudoku *_t = static_cast<Sudoku *>(_o); Q_UNUSED(_t) void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< bool*>(_v) = _t->isActive(0); break; case 1: *reinterpret_cast< bool*>(_v) = _t->isActive(1); break; case 2: *reinterpret_cast< bool*>(_v) = _t->isActive(2); break; case 3: *reinterpret_cast< bool*>(_v) = _t->isActive(3); break; case 4: *reinterpret_cast< bool*>(_v) = _t->isActive(4); break; default: break; } } else if (_c == QMetaObject::WriteProperty) { } else if (_c == QMetaObject::ResetProperty) { } #endif // QT_NO_PROPERTIES } const QMetaObject Sudoku::staticMetaObject = { { &QScxmlStateMachine::staticMetaObject, qt_meta_stringdata_Sudoku.data, qt_meta_data_Sudoku, qt_static_metacall, nullptr, nullptr} }; const QMetaObject *Sudoku::metaObject() const { return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; } void *Sudoku::qt_metacast(const char *_clname) { if (!_clname) return nullptr; if (!strcmp(_clname, reinterpret_cast<const char *>( qt_meta_stringdata_Sudoku.stringdata0))) return static_cast<void*>(const_cast< Sudoku*>(this)); return QScxmlStateMachine::qt_metacast(_clname); } int Sudoku::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QScxmlStateMachine::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { if (_id < 5) qt_static_metacall(this, _c, _id, _a); _id -= 5; } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { if (_id < 5) *reinterpret_cast<int*>(_a[0]) = -1; _id -= 5; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty || _c == QMetaObject::WriteProperty || _c == QMetaObject::ResetProperty || _c == QMetaObject::RegisterPropertyMetaType) { qt_static_metacall(this, _c, _id, _a); _id -= 5; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 5; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 5; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 5; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 5; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 5; } #endif // QT_NO_PROPERTIES return _id; }