diff --git a/Makefile b/Makefile index 720cbdd..911a3c6 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,8 @@ include Makefile.zlib include Makefile.libpng include Makefile.snappy include Makefile.apitrace -# include Makefile.glslopt +include Makefile.glsloptlib +include Makefile.pcrelib include Makefile.regal include Makefile.regalw include Makefile.glu @@ -36,6 +37,7 @@ include Makefile.glewinfo include Makefile.dreamtorus include Makefile.dreamtorus_static +include Makefile.alphatorus include Makefile.tiger # Testing @@ -56,4 +58,9 @@ clobber: $(RM) -r lib $(RM) -r bin +# Disable the built-in yacc & lex rules + +%.c: %.y +%.c: %.l + .PHONY: all clean clobber diff --git a/Makefile.alphatorus b/Makefile.alphatorus new file mode 100644 index 0000000..7019514 --- /dev/null +++ b/Makefile.alphatorus @@ -0,0 +1,68 @@ +ifndef MAKEFILE_ALPHATORUS_INCLUDED +MAKEFILE_ALPHATORUS_INCLUDED := 1 + +.PHONY: alphatorus.bin alphatorus.clean + +include build/common.inc + +# Not supported for NaCL or emscripten - Revisit + +ifeq ($(filter nacl% emscripten%,$(SYSTEM)),) + +# +# alphatorus +# + +include Makefile.regal +include Makefile.glut + +ifndef REGAL.STATIC +$(error alphatorus needs Regal.) +endif + +all:: alphatorus.bin + +clean:: alphatorus.clean + +alphatorus.bin: bin/$(SYSTEM)/alphatorus + +alphatorus.clean: + $(RM) -r tmp/$(SYSTEM)/alphatorus/static + $(RM) -r bin/$(SYSTEM)/alphatorus + +ALPHATORUS.SRCS += examples/alphatorus/src/render.cpp +ALPHATORUS.SRCS += examples/alphatorus/glut/code/main.cpp +ALPHATORUS.SRCS.NAMES := $(notdir $(ALPHATORUS.SRCS)) +ALPHATORUS.OBJS := $(addprefix tmp/$(SYSTEM)/alphatorus/static/,$(ALPHATORUS.SRCS.NAMES)) +ALPHATORUS.OBJS := $(ALPHATORUS.OBJS:.cpp=.o) +ALPHATORUS.DEPS := $(ALPHATORUS.DEPS:.o=.d) +ALPHATORUS.CFLAGS := -Iinclude -Iexamples/alphatorus/src +ALPHATORUS.LIBS += -Llib/$(SYSTEM) $(LDFLAGS.GLUT) $(LDFLAGS.GLU) $(LDFLAGS.X11) +ALPHATORUS.LIBS += -lm -pthread + +-include $(ALPHATORUS.DEPS) + +tmp/$(SYSTEM)/alphatorus/static/%.o: examples/alphatorus/src/%.cpp + @mkdir -p $(dir $@) + $(LOG_CXX)$(CCACHE) $(CXX) $(ALPHATORUS.CFLAGS) $(CFLAGS) $(CFLAGS.SO) -o $@ -c $< + +tmp/$(SYSTEM)/alphatorus/static/%.o: examples/alphatorus/glut/code/%.cpp + @mkdir -p $(dir $@) + $(LOG_CXX)$(CCACHE) $(CXX) $(ALPHATORUS.CFLAGS) $(CFLAGS) $(CFLAGS.SO) -o $@ -c $< + +ALPHATORUS.DEPEND := +ALPHATORUS.DEPEND += lib/$(SYSTEM)/$(REGAL.SHARED) + +ifdef GLUT.SHARED +bin/$(SYSTEM)/alphatorus: lib/$(SYSTEM)/$(GLUT.SHARED) lib/$(SYSTEM)/$(GLU.SHARED) +endif + +bin/$(SYSTEM)/alphatorus: $(ALPHATORUS.OBJS) lib/$(SYSTEM)/$(REGAL.SHARED) + @mkdir -p $(dir $@) + $(LOG_LD)$(CCACHE) $(LD) $(LDFLAGS.EXTRA) -o $@ $(ALPHATORUS.OBJS) lib/$(SYSTEM)/$(REGAL.SHARED) $(ALPHATORUS.LIBS) $(REGAL.LDFLAGS) +ifneq ($(STRIP),) + $(LOG_STRIP)$(STRIP) -x $@ +endif + +endif +endif diff --git a/Makefile.dreamtorus_static b/Makefile.dreamtorus_static index e2b7254..73eb32b 100644 --- a/Makefile.dreamtorus_static +++ b/Makefile.dreamtorus_static @@ -67,7 +67,7 @@ tmp/$(SYSTEM)/dreamtorus_static/static/%.o: examples/dreamtorus/glut/code/%.cpp $(LOG_CXX)$(CCACHE) $(CXX) $(DREAMTORUS_STATIC.CFLAGS) $(CFLAGS) $(CFLAGS.SO) -o $@ -c $< DREAMTORUS_STATIC.DEPEND := -DREAMTORUS_STATIC.DEPEND += lib/$(SYSTEM)/$(REGAL.STATIC) +DREAMTORUS_STATIC.DEPEND += lib/$(SYSTEM)/$(REGAL.STATIC) lib/$(SYSTEM)/$(PCRE.STATIC) ifdef GLUT.STATIC DREAMTORUS_STATIC.DEPEND += lib/$(SYSTEM)/$(GLUT.STATIC) lib/$(SYSTEM)/$(GLU.STATIC) diff --git a/Makefile.glslopt b/Makefile.glsloptlib similarity index 93% rename from Makefile.glslopt rename to Makefile.glsloptlib index 20b7d24..a712eed 100644 --- a/Makefile.glslopt +++ b/Makefile.glsloptlib @@ -28,7 +28,7 @@ GLSLOPT.OBJS := $(filter %.o,$(GLSLOPT.OBJS)) GLSLOPT.DEPS := $(GLSLOPT.OBJS:.o=.d) GLSLOPT.CFLAGS := $(GLSLOPT.INCLUDE) # quiet build for this thirdparty code for now -GLSLOPT.CFLAGS += -Wno-ignored-qualifiers -Wno-sign-compare -Wno-unneeded-internal-declaration -Wno-overloaded-virtual -Wno-unused-private-field +GLSLOPT.CFLAGS += -Wno-sign-compare ifeq ($(MODE),release) GLSLOPT.CFLAGS += -DNDEBUG diff --git a/Makefile.pcrelib b/Makefile.pcrelib new file mode 100644 index 0000000..2f97aec --- /dev/null +++ b/Makefile.pcrelib @@ -0,0 +1,61 @@ +# +# Makefile for the GLSL Optimizer component of the Regal runtime. +# The GLSL Optimizer is always build into Regal, but you can build +# just this target static library with: +# make -f Makefile.pcrelib +# + +ifndef MAKEFILE_PCRE_INCLUDED +MAKEFILE_PCRE_INCLUDED := 1 + +.PHONY: pcre.lib pcre.clean + +include build/common.inc + +include build/pcre.inc + +ifdef PCRE.STATIC + +all:: pcre.lib + +clean:: pcre.clean + +PCRE.SRCS := $(PCRE.C) +PCRE.SRCS := $(filter %.c,$(PCRE.SRCS)) $(filter %.cc,$(PCRE.SRCS)) $(filter %.cpp,$(PCRE.SRCS)) +PCRE.SRCS.NAMES := $(notdir $(PCRE.SRCS)) +PCRE.OBJS := $(addprefix tmp/$(SYSTEM)/pcre/static/,$(PCRE.SRCS.NAMES)) +PCRE.OBJS := $(PCRE.OBJS:.c=.o) $(PCRE.OBJS:.cpp=.o) +PCRE.OBJS := $(filter %.o,$(PCRE.OBJS)) +PCRE.DEPS := $(PCRE.OBJS:.o=.d) +PCRE.CFLAGS := $(PCRE.INCLUDE) +PCRE.CFLAGS += -DHAVE_CONFIG_H + +ifeq ($(MODE),release) +PCRE.CFLAGS += -DNDEBUG +PCRE.CFLAGS += -DREGAL_NO_ASSERT=1 +endif + +-include $(PCRE.DEPS) + +pcre.lib: lib/$(SYSTEM)/$(PCRE.STATIC) + +pcre.clean: + $(RM) -r tmp/$(SYSTEM)/pcre/static + $(RM) -r lib/$(SYSTEM)/$(PCRE.STATIC) + +tmp/$(SYSTEM)/pcre/static/%.o: src/pcre/%.c + @mkdir -p $(dir $@) + $(LOG_CC)$(CCACHE) $(CC) $(CFLAGS) $(PCRE.CFLAGS) $(PICFLAG) -o $@ -c $< + +lib/$(SYSTEM)/$(PCRE.STATIC): $(PCRE.OBJS) + @mkdir -p $(dir $@) + $(LOG_AR)$(CCACHE) $(AR) cr $@ $(PCRE.OBJS) +ifneq ($(RANLIB),) + $(LOG_RANLIB)$(RANLIB) $@ +endif +ifneq ($(STRIP),) + $(LOG_STRIP)$(STRIP) -x $@ +endif + +endif +endif diff --git a/Makefile.regal b/Makefile.regal index dfec0bf..6ba7fa2 100644 --- a/Makefile.regal +++ b/Makefile.regal @@ -28,6 +28,8 @@ ifdef REGAL.STATIC include Makefile.apitrace include Makefile.libpng +include Makefile.glsloptlib +include Makefile.pcrelib all:: regal.lib @@ -66,7 +68,7 @@ REGAL.SRCS += src/jsonsl/jsonsl.c ifeq ($(MODE),debug) #REGAL.CFLAGS += -DREGAL_ASSERT_VERBOSE=1 -#REGAL.CFLAGS += -DREGAL_NO_ASSERT=1 +#REGAL.CFLAGS += -DREGAL_NO_ASSERT=1 endif # @@ -80,7 +82,7 @@ REGAL.CFLAGS += -DREGAL_DECL_EXPORT=1 REGAL.CFLAGS += -DREGAL_LOG_ALL=0 REGAL.CFLAGS += -DREGAL_LOG_ONCE=0 REGAL.CFLAGS += -DREGAL_LOG_JSON=0 -REGAL.CFLAGS += -DREGAL_NO_HTTP=1 +REGAL.CFLAGS += -DREGAL_HTTP=0 REGAL.CFLAGS += -DREGAL_NO_ASSERT=1 REGAL.CFLAGS += -DREGAL_NO_PNG=1 REGAL.CFLAGS += -DREGAL_STATISTICS=0 @@ -105,7 +107,7 @@ endif ifneq ($(filter nacl% emscripten%,$(SYSTEM)),) REGAL.CFLAGS += -DREGAL_SYS_EMSCRIPTEN=1 -DREGAL_SYS_EGL=1 -DREGAL_SYS_ES2=1 -REGAL.CFLAGS += -DREGAL_NO_HTTP=1 +REGAL.CFLAGS += -DREGAL_HTTP=0 REGAL.CFLAGS += -DREGAL_STATISTICS=0 REGAL.CFLAGS += -Wno-constant-logical-operand REGAL.CFLAGS += -DREGAL_PLUGIN=0 @@ -128,7 +130,7 @@ endif ifneq ($(filter emscripten%,$(SYSTEM)),) REGAL.CFLAGS += -DREGAL_SYS_EMSCRIPTEN=1 -DREGAL_SYS_EGL=1 -DREGAL_SYS_ES2=1 -REGAL.CFLAGS += -DREGAL_NO_HTTP=1 +REGAL.CFLAGS += -DREGAL_HTTP=0 REGAL.CFLAGS += -Wno-constant-logical-operand REGAL.CFLAGS += -DREGAL_PLUGIN=0 REGAL.CFLAGS += -DREGAL_TRACE=0 @@ -236,7 +238,7 @@ regal.lib: lib/$(SYSTEM)/$(REGAL.SHARED) endif endif -lib/$(SYSTEM)/$(REGAL.STATIC): lib/$(SYSTEM)/$(LIBPNG.STATIC) lib/$(SYSTEM)/$(ZLIB.STATIC) $(REGAL.OBJS) +lib/$(SYSTEM)/$(REGAL.STATIC): lib/$(SYSTEM)/$(GLSLOPT.STATIC) lib/$(SYSTEM)/$(PCRE.STATIC) lib/$(SYSTEM)/$(LIBPNG.STATIC) lib/$(SYSTEM)/$(ZLIB.STATIC) $(REGAL.OBJS) @mkdir -p $(dir $@) $(LOG_AR)$(CCACHE) $(AR) cr $@ $(REGAL.OBJS) ifneq ($(RANLIB),) @@ -247,7 +249,7 @@ ifneq ($(STRIP),) endif REGAL.SHARED.DEPEND := -REGAL.SHARED.DEPEND += lib/$(SYSTEM)/$(LIBPNG.STATIC) lib/$(SYSTEM)/$(ZLIB.STATIC) +REGAL.SHARED.DEPEND += lib/$(SYSTEM)/$(GLSLOPT.STATIC) lib/$(SYSTEM)/$(PCRE.STATIC) lib/$(SYSTEM)/$(LIBPNG.STATIC) lib/$(SYSTEM)/$(ZLIB.STATIC) ifdef APITRACE.STATIC REGAL.SHARED.DEPEND += lib/$(SYSTEM)/$(APITRACE.STATIC) lib/$(SYSTEM)/$(SNAPPY.STATIC) @@ -274,11 +276,11 @@ endif tmp/$(SYSTEM)/regal/static/%.o: src/regal/%.cpp $(REGAL.HEADERS) @mkdir -p $(dir $@) - $(LOG_CXX)$(CCACHE) $(CXX) $(REGAL.CFLAGS) $(CFLAGS) $(CFLAGS.SO) $(REGAL.INCLUDE) -o $@ -c $< + $(LOG_CXX)$(CCACHE) $(CXX) $(REGAL.CFLAGS) $(CFLAGS) $(CFLAGS.SO) $(GLSLOPT.INCLUDE) $(REGAL.INCLUDE) -o $@ -c $< tmp/$(SYSTEM)/regal/shared/%.o: src/regal/%.cpp $(REGAL.HEADERS) @mkdir -p $(dir $@) - $(LOG_CXX)$(CCACHE) $(CXX) $(REGAL.CFLAGS) $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) $(REGAL.INCLUDE) -o $@ -c $< + $(LOG_CXX)$(CCACHE) $(CXX) $(REGAL.CFLAGS) $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) $(GLSLOPT.INCLUDE) $(REGAL.INCLUDE) -o $@ -c $< tmp/$(SYSTEM)/regal/static/%.o: src/civetweb/%.c $(REGAL.HEADERS) @mkdir -p $(dir $@) diff --git a/Makefile.regaltest b/Makefile.regaltest index ce084cf..fdebf3a 100644 --- a/Makefile.regaltest +++ b/Makefile.regaltest @@ -16,6 +16,8 @@ include build/regaltest.inc # include Makefile.regal +include Makefile.pcrelib +include Makefile.glsloptlib include Makefile.gtest ifndef REGAL.STATIC @@ -41,7 +43,7 @@ REGALTEST.SRCS.NAMES := $(notdir $(REGALTEST.SRCS)) REGALTEST.OBJS := $(addprefix tmp/$(SYSTEM)/regaltest/static/,$(REGALTEST.SRCS.NAMES)) REGALTEST.OBJS := $(REGALTEST.OBJS:.cpp=.o) REGALTEST.DEPS := $(REGALTEST.DEPS:.o=.d) -REGALTEST.CFLAGS := -Isrc/googletest/include -Isrc/googlemock/include -Isrc/regal -Isrc/boost -Isrc/lookup3 +REGALTEST.CFLAGS := -Isrc/googletest/include -Isrc/googlemock/include -Isrc/regal -Isrc/boost -Isrc/lookup3 -Isrc/pcre REGALTEST.LIBS := -Llib/$(SYSTEM) $(LDFLAGS.X11) -lm ifeq ($(filter nacl%,$(SYSTEM)),) @@ -56,12 +58,12 @@ tmp/$(SYSTEM)/regaltest/static/%.o: tests/%.cpp @mkdir -p $(dir $@) $(LOG_CXX)$(CCACHE) $(CXX) $(REGAL.CFLAGS) $(REGALTEST.CFLAGS) $(CFLAGS) $(CFLAGS.SO) -o $@ -c $< -bin/$(SYSTEM)/regaltest$(BIN_EXTENSION): $(REGALTEST.OBJS) lib/$(SYSTEM)/$(GTEST.STATIC) lib/$(SYSTEM)/$(REGAL.STATIC) $(REGAL.SHARED.DEPEND) +bin/$(SYSTEM)/regaltest$(BIN_EXTENSION): $(REGALTEST.OBJS) lib/$(SYSTEM)/$(GTEST.STATIC) lib/$(SYSTEM)/$(REGAL.STATIC) lib/$(SYSTEM)/$(PCRE.STATIC) $(REGAL.SHARED.DEPEND) @mkdir -p $(dir $@) ifdef APITRACE.STATIC - $(LOG_LD)$(CCACHE) $(LD) $(LDFLAGS.EXTRA) -o $@ $(REGALTEST.OBJS) $(REGALTEST.LIBS) $(LDFLAGS.STARTGROUP) lib/$(SYSTEM)/$(REGAL.STATIC) lib/$(SYSTEM)/$(APITRACE.STATIC) $(LDFLAGS.ENDGROUP) $(REGAL.SHARED.DEPEND) $(REGAL.LIBS) lib/$(SYSTEM)/$(GTEST.STATIC) $(REGAL.LDFLAGS) + $(LOG_LD)$(CCACHE) $(LD) $(LDFLAGS.EXTRA) -o $@ $(REGALTEST.OBJS) $(REGALTEST.LIBS) $(LDFLAGS.STARTGROUP) lib/$(SYSTEM)/$(REGAL.STATIC) lib/$(SYSTEM)/$(APITRACE.STATIC) $(LDFLAGS.ENDGROUP) $(REGAL.SHARED.DEPEND) $(REGAL.LIBS) lib/$(SYSTEM)/$(PCRE.STATIC) lib/$(SYSTEM)/$(GTEST.STATIC) $(REGAL.LDFLAGS) else - $(LOG_LD)$(CCACHE) $(LD) $(LDFLAGS.EXTRA) -o $@ $(REGALTEST.OBJS) $(REGALTEST.LIBS) lib/$(SYSTEM)/$(REGAL.STATIC) $(REGAL.SHARED.DEPEND) $(REGAL.LIBS) lib/$(SYSTEM)/$(GTEST.STATIC) $(REGAL.LDFLAGS) + $(LOG_LD)$(CCACHE) $(LD) $(LDFLAGS.EXTRA) -o $@ $(REGALTEST.OBJS) $(REGALTEST.LIBS) lib/$(SYSTEM)/$(REGAL.STATIC) lib/$(SYSTEM)/$(PCRE.STATIC) $(REGAL.SHARED.DEPEND) $(REGAL.LIBS) lib/$(SYSTEM)/$(GTEST.STATIC) $(REGAL.LDFLAGS) endif ifneq ($(STRIP),) $(LOG_STRIP)$(STRIP) -x $@ diff --git a/README.rst b/README.rst index 660e6f4..a8d5d84 100644 --- a/README.rst +++ b/README.rst @@ -242,7 +242,7 @@ Browser-based interface - Enabled by default. -- **REGAL_NO_HTTP** --- Build-time and environment variable enable/disable. +- **REGAL_HTTP** --- Build-time and environment variable enable/disable. - **REGAL_HTTP_PORT** --- Port for HTTP connections (8080 by default) - **REGAL_HTTP_LOG_LIMIT** --- Number of lines of logging buffered diff --git a/build/alphatorus.inc b/build/alphatorus.inc new file mode 100644 index 0000000..65d3563 --- /dev/null +++ b/build/alphatorus.inc @@ -0,0 +1,114 @@ +# glu.inc +# +# Generic gnumake .inc for building GLU +# + +# Sources + +GLU.C += src/glu/libtess/dict.c +GLU.C += src/glu/libtess/geom.c +GLU.C += src/glu/libtess/memalloc.c +GLU.C += src/glu/libtess/mesh.c +GLU.C += src/glu/libtess/normal.c +#GLU.C += src/glu/libtess/priorityq-heap.c +GLU.C += src/glu/libtess/priorityq.c +GLU.C += src/glu/libtess/render.c +GLU.C += src/glu/libtess/sweep.c +GLU.C += src/glu/libtess/tess.c +GLU.C += src/glu/libtess/tessmono.c +GLU.C += src/glu/libutil/error.c +GLU.C += src/glu/libutil/glue.c +GLU.C += src/glu/libutil/mipmap.c +GLU.C += src/glu/libutil/project.c +GLU.C += src/glu/libutil/quad.c +GLU.C += src/glu/libutil/registry.c + +GLU.CXX += src/glu/libnurbs/interface/bezierEval.cc +GLU.CXX += src/glu/libnurbs/interface/bezierPatch.cc +GLU.CXX += src/glu/libnurbs/interface/bezierPatchMesh.cc +GLU.CXX += src/glu/libnurbs/interface/glcurveval.cc +GLU.CXX += src/glu/libnurbs/interface/glinterface.cc +GLU.CXX += src/glu/libnurbs/interface/glrenderer.cc +GLU.CXX += src/glu/libnurbs/interface/glsurfeval.cc +GLU.CXX += src/glu/libnurbs/interface/incurveeval.cc +GLU.CXX += src/glu/libnurbs/interface/insurfeval.cc +GLU.CXX += src/glu/libnurbs/internals/arc.cc +GLU.CXX += src/glu/libnurbs/internals/arcsorter.cc +GLU.CXX += src/glu/libnurbs/internals/arctess.cc +GLU.CXX += src/glu/libnurbs/internals/backend.cc +GLU.CXX += src/glu/libnurbs/internals/basiccrveval.cc +GLU.CXX += src/glu/libnurbs/internals/basicsurfeval.cc +GLU.CXX += src/glu/libnurbs/internals/bin.cc +GLU.CXX += src/glu/libnurbs/internals/bufpool.cc +GLU.CXX += src/glu/libnurbs/internals/cachingeval.cc +GLU.CXX += src/glu/libnurbs/internals/ccw.cc +GLU.CXX += src/glu/libnurbs/internals/coveandtiler.cc +GLU.CXX += src/glu/libnurbs/internals/curve.cc +GLU.CXX += src/glu/libnurbs/internals/curvelist.cc +GLU.CXX += src/glu/libnurbs/internals/curvesub.cc +GLU.CXX += src/glu/libnurbs/internals/dataTransform.cc +GLU.CXX += src/glu/libnurbs/internals/displaylist.cc +GLU.CXX += src/glu/libnurbs/internals/flist.cc +GLU.CXX += src/glu/libnurbs/internals/flistsorter.cc +GLU.CXX += src/glu/libnurbs/internals/hull.cc +GLU.CXX += src/glu/libnurbs/internals/intersect.cc +GLU.CXX += src/glu/libnurbs/internals/knotvector.cc +GLU.CXX += src/glu/libnurbs/internals/mapdesc.cc +GLU.CXX += src/glu/libnurbs/internals/mapdescv.cc +GLU.CXX += src/glu/libnurbs/internals/maplist.cc +GLU.CXX += src/glu/libnurbs/internals/mesher.cc +GLU.CXX += src/glu/libnurbs/internals/monotonizer.cc +GLU.CXX += src/glu/libnurbs/internals/monoTriangulationBackend.cc +GLU.CXX += src/glu/libnurbs/internals/mycode.cc +GLU.CXX += src/glu/libnurbs/internals/nurbsinterfac.cc +GLU.CXX += src/glu/libnurbs/internals/nurbstess.cc +GLU.CXX += src/glu/libnurbs/internals/patch.cc +GLU.CXX += src/glu/libnurbs/internals/patchlist.cc +GLU.CXX += src/glu/libnurbs/internals/quilt.cc +GLU.CXX += src/glu/libnurbs/internals/reader.cc +GLU.CXX += src/glu/libnurbs/internals/renderhints.cc +GLU.CXX += src/glu/libnurbs/internals/slicer.cc +GLU.CXX += src/glu/libnurbs/internals/sorter.cc +GLU.CXX += src/glu/libnurbs/internals/splitarcs.cc +GLU.CXX += src/glu/libnurbs/internals/subdivider.cc +GLU.CXX += src/glu/libnurbs/internals/tobezier.cc +GLU.CXX += src/glu/libnurbs/internals/trimline.cc +GLU.CXX += src/glu/libnurbs/internals/trimregion.cc +GLU.CXX += src/glu/libnurbs/internals/trimvertpool.cc +GLU.CXX += src/glu/libnurbs/internals/uarray.cc +GLU.CXX += src/glu/libnurbs/internals/varray.cc +GLU.CXX += src/glu/libnurbs/nurbtess/directedLine.cc +GLU.CXX += src/glu/libnurbs/nurbtess/gridWrap.cc +GLU.CXX += src/glu/libnurbs/nurbtess/monoChain.cc +GLU.CXX += src/glu/libnurbs/nurbtess/monoPolyPart.cc +GLU.CXX += src/glu/libnurbs/nurbtess/monoTriangulation.cc +GLU.CXX += src/glu/libnurbs/nurbtess/partitionX.cc +GLU.CXX += src/glu/libnurbs/nurbtess/partitionY.cc +GLU.CXX += src/glu/libnurbs/nurbtess/polyDBG.cc +GLU.CXX += src/glu/libnurbs/nurbtess/polyUtil.cc +GLU.CXX += src/glu/libnurbs/nurbtess/primitiveStream.cc +GLU.CXX += src/glu/libnurbs/nurbtess/quicksort.cc +GLU.CXX += src/glu/libnurbs/nurbtess/rectBlock.cc +GLU.CXX += src/glu/libnurbs/nurbtess/sampleComp.cc +GLU.CXX += src/glu/libnurbs/nurbtess/sampleCompBot.cc +GLU.CXX += src/glu/libnurbs/nurbtess/sampleCompRight.cc +GLU.CXX += src/glu/libnurbs/nurbtess/sampleCompTop.cc +GLU.CXX += src/glu/libnurbs/nurbtess/sampledLine.cc +GLU.CXX += src/glu/libnurbs/nurbtess/sampleMonoPoly.cc +GLU.CXX += src/glu/libnurbs/nurbtess/searchTree.cc + +# + +GLU.CFLAGS := -Isrc/glu/include -Isrc/glu/libnurbs/interface -Isrc/glu/libnurbs/internals -Isrc/glu/libnurbs/nurbtess +GLU.CFLAGS += -DLIBRARYBUILD + +GLU.SHARED := libRegalGLU.so +GLU.STATIC := libRegalGLUlib.a + +ifneq ($(filter darwin%,$(SYSTEM)),) +GLU.SHARED := libRegalGLU.dylib +endif + +ifneq ($(filter nacl%,$(SYSTEM)),) +GLU.SHARED := +endif diff --git a/build/android/Regal/jni/Android.mk b/build/android/Regal/jni/Android.mk index 31bb666..ff87958 100644 --- a/build/android/Regal/jni/Android.mk +++ b/build/android/Regal/jni/Android.mk @@ -23,6 +23,7 @@ include $(regal_path)/build/zlib.inc include $(regal_path)/build/snappy.inc include $(regal_path)/build/apitrace.inc include $(regal_path)/build/glslopt.inc +include $(regal_path)/build/pcre.inc include $(regal_path)/build/regal.inc # @@ -65,15 +66,20 @@ apitrace_c_includes := $(patsubst $(LOCAL_PATH)/../%,%,$(apitrace_c_includes)) apitrace_export_c_includes := $(regal_path)/include -# # # glsl optimizer # - glslopt_src_files := $(patsubst %,$(regal_path)/%,$(GLSLOPT.CXX)) glslopt_src_files := $(patsubst $(LOCAL_PATH)/%,%,$(glslopt_src_files)) glslopt_c_includes := $(patsubst -I%,$(regal_path)/%,$(GLSLOPT.INCLUDE)) +# +# pcre +# +pcre_src_files := $(patsubst %,$(regal_path)/%,$(PCRE.C)) +pcre_src_files := $(patsubst $(LOCAL_PATH)/%,%,$(pcre_src_files)) +pcre_c_includes := $(patsubst -I%,$(regal_path)/%,$(PCRE.INCLUDE)) + # # regal # @@ -82,7 +88,7 @@ regal_src_files := $(patsubst %,$(regal_path)/%,$(REGAL.CXX)) regal_src_files += $(regal_path)/src/civetweb/civetweb.c $(regal_path)/src/md5/src/md5.c $(regal_path)/src/jsonsl/jsonsl.c regal_src_files := $(patsubst $(LOCAL_PATH)/%,%,$(regal_src_files)) -regal_c_includes := $(regal_path)/include $(regal_path)/src/regal $(regal_path)/src/boost $(regal_path)/src/civetweb $(regal_path)/src/md5/include $(regal_path)/src/lookup3 $(regal_path)/src/jsonsl +regal_c_includes := $(regal_path)/include $(regal_path)/src/regal $(regal_path)/src/path $(regal_path)/src/boost $(regal_path)/src/civetweb $(regal_path)/src/md5/include $(regal_path)/src/lookup3 $(regal_path)/src/jsonsl $(regal_path)/src/glsl/include $(regal_path)/src/glsl/src/glsl $(regal_path)/src/glsl/src/mesa $(regal_path)/src/pcre regal_c_includes := $(patsubst $(LOCAL_PATH)/../%,%,$(regal_c_includes)) regal_export_c_includes := $(regal_path)/include @@ -139,7 +145,7 @@ LOCAL_ARM_MODE := arm include $(BUILD_STATIC_LIBRARY) # include $(CLEAR_VARS) -# LOCAL_MODULE := glslopt +# LOCAL_MODULE := glslopt # LOCAL_SRC_FILES := $(glslopt_src_files) # LOCAL_CFLAGS := $(regal_cflags) # LOCAL_C_INCLUDES := $(glslopt_c_includes) @@ -147,12 +153,31 @@ include $(BUILD_STATIC_LIBRARY) # LOCAL_ARM_MODE := arm # include $(BUILD_STATIC_LIBRARY) +include $(CLEAR_VARS) +LOCAL_MODULE := glslopt +LOCAL_SRC_FILES := $(glslopt_src_files) +LOCAL_CFLAGS := $(regal_cflags) -Wno-redefinitions +LOCAL_C_INCLUDES := $(glslopt_c_includes) +LOCAL_EXPORT_LDLIBS := +LOCAL_ARM_MODE := arm +include $(BUILD_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := pcre +LOCAL_SRC_FILES := $(pcre_src_files) +LOCAL_CFLAGS := $(regal_cflags) -DHAVE_CONFIG_H=1 -DPCRE_STATIC=1 +LOCAL_C_INCLUDES := $(pcre_c_includes) +LOCAL_EXPORT_LDLIBS := +LOCAL_ARM_MODE := arm +include $(BUILD_STATIC_LIBRARY) + include $(CLEAR_VARS) LOCAL_MODULE := Regal_static LOCAL_SRC_FILES := $(regal_src_files) LOCAL_CFLAGS := $(regal_cflags) LOCAL_C_INCLUDES := $(regal_c_includes) LOCAL_EXPORT_C_INCLUDES := $(regal_export_c_includes) +LOCAL_STATIC_LIBRARIES := glslopt pcre LOCAL_EXPORT_LDLIBS := -llog LOCAL_ARM_MODE := arm include $(BUILD_STATIC_LIBRARY) @@ -164,6 +189,7 @@ LOCAL_CFLAGS := $(regal_cflags) LOCAL_C_INCLUDES := $(regal_c_includes) LOCAL_EXPORT_C_INCLUDES := $(regal_export_c_includes) LOCAL_STATIC_LIBRARIES := apitrace zlib snappy +LOCAL_STATIC_LIBRARIES += glslopt pcre LOCAL_LDLIBS := -llog LOCAL_EXPORT_LDLIBS := -llog LOCAL_ARM_MODE := arm diff --git a/build/android/Regal/jni/Application.mk b/build/android/Regal/jni/Application.mk index 51d58ec..9b19c26 100644 --- a/build/android/Regal/jni/Application.mk +++ b/build/android/Regal/jni/Application.mk @@ -1,3 +1,6 @@ +#seth: need to specify this manually to get the latest +NDK_TOOLCHAIN_VERSION := 4.8 + APP_MODULES := Regal_static Regal APP_STL := stlport_static APP_PLATFORM := android-9 diff --git a/build/apitrace.inc b/build/apitrace.inc index 3cbe34a..06e0cce 100644 --- a/build/apitrace.inc +++ b/build/apitrace.inc @@ -33,7 +33,6 @@ APITRACE.CXX += src/apitrace/dispatch/glproc_regal.cpp APITRACE.CXX += src/apitrace/helpers/eglsize.cpp APITRACE.CXX += src/apitrace/wrappers/glcaps.cpp APITRACE.CXX += src/apitrace/wrappers/gltrace_state.cpp -APITRACE.CXX += src/apitrace/wrappers/trace.cpp APITRACE.CXX += src/apitrace/wrappers/regaltrace.cpp # diff --git a/build/glslopt.inc b/build/glslopt.inc index ec08b38..bb4b68d 100644 --- a/build/glslopt.inc +++ b/build/glslopt.inc @@ -62,7 +62,6 @@ GLSLOPT.CXX += src/glsl/src/glsl/lower_variable_index_to_cond_assign.cpp GLSLOPT.CXX += src/glsl/src/glsl/lower_vec_index_to_cond_assign.cpp GLSLOPT.CXX += src/glsl/src/glsl/lower_vec_index_to_swizzle.cpp GLSLOPT.CXX += src/glsl/src/glsl/lower_vector.cpp -#GLSLOPT.CXX += src/glsl/src/glsl/main.cpp GLSLOPT.CXX += src/glsl/src/glsl/opt_algebraic.cpp GLSLOPT.CXX += src/glsl/src/glsl/opt_array_splitting.cpp GLSLOPT.CXX += src/glsl/src/glsl/opt_constant_folding.cpp @@ -102,10 +101,15 @@ GLSLOPT.H := GLSLOPT.H.OTHER := # +# Includes GLSLOPT.INCLUDE := GLSLOPT.INCLUDE += -Isrc/glsl/include GLSLOPT.INCLUDE += -Isrc/glsl/src/glsl GLSLOPT.INCLUDE += -Isrc/glsl/src/mesa +ifeq ($(PROFILE_OS),Windows) +GLSLOPT.INCLUDES += -Isrc/glsl/include/c99 +endif + GLSLOPT.STATIC ?= libglslopt.a diff --git a/build/ios/Regal/Regal.xcodeproj/project.pbxproj b/build/ios/Regal/Regal.xcodeproj/project.pbxproj index 48c20c6..3b5bbac 100644 --- a/build/ios/Regal/Regal.xcodeproj/project.pbxproj +++ b/build/ios/Regal/Regal.xcodeproj/project.pbxproj @@ -7,6 +7,11 @@ objects = { /* Begin PBXBuildFile section */ + 435914FD182FF3A3002CB92C /* RegalLayerInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 435914F8182FF3A3002CB92C /* RegalLayerInfo.h */; }; + 435914FE182FF3A3002CB92C /* RegalShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 435914F9182FF3A3002CB92C /* RegalShader.cpp */; }; + 435914FF182FF3A3002CB92C /* RegalShader.h in Headers */ = {isa = PBXBuildFile; fileRef = 435914FA182FF3A3002CB92C /* RegalShader.h */; }; + 43591500182FF3A3002CB92C /* RegalShaderInstance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 435914FB182FF3A3002CB92C /* RegalShaderInstance.cpp */; }; + 43591501182FF3A3002CB92C /* RegalShaderInstance.h in Headers */ = {isa = PBXBuildFile; fileRef = 435914FC182FF3A3002CB92C /* RegalShaderInstance.h */; }; 4366EEEE15C9B54E00211205 /* RegalEnum.h in Headers */ = {isa = PBXBuildFile; fileRef = 4366EEEA15C9B54E00211205 /* RegalEnum.h */; }; 4366EEEF15C9B54E00211205 /* RegalFavicon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4366EEEB15C9B54E00211205 /* RegalFavicon.cpp */; }; 4366EEF015C9B54E00211205 /* RegalFavicon.h in Headers */ = {isa = PBXBuildFile; fileRef = 4366EEEC15C9B54E00211205 /* RegalFavicon.h */; }; @@ -62,6 +67,241 @@ 43FC5FA415C4619B00D0177C /* RegalVao.h in Headers */ = {isa = PBXBuildFile; fileRef = 43FC5F7715C4619B00D0177C /* RegalVao.h */; }; 43FC5FA715C461AC00D0177C /* civetweb.c in Sources */ = {isa = PBXBuildFile; fileRef = 43FC5FA615C461AC00D0177C /* civetweb.c */; }; 754D3C9517CFFD7200E4C0E0 /* RegalEmu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 754D3C9417CFFD7200E4C0E0 /* RegalEmu.cpp */; }; + 7558DB3D18C6795A008985A7 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DAE918C6795A008985A7 /* config.h */; }; + 7558DB3E18C6795A008985A7 /* dftables.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAEA18C6795A008985A7 /* dftables.c */; }; + 7558DB3F18C6795A008985A7 /* pcre.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DAEC18C6795A008985A7 /* pcre.h */; }; + 7558DB4018C6795A008985A7 /* pcre16_byte_order.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAED18C6795A008985A7 /* pcre16_byte_order.c */; }; + 7558DB4118C6795A008985A7 /* pcre16_chartables.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAEE18C6795A008985A7 /* pcre16_chartables.c */; }; + 7558DB4218C6795A008985A7 /* pcre16_compile.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAEF18C6795A008985A7 /* pcre16_compile.c */; }; + 7558DB4318C6795A008985A7 /* pcre16_config.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAF018C6795A008985A7 /* pcre16_config.c */; }; + 7558DB4418C6795A008985A7 /* pcre16_dfa_exec.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAF118C6795A008985A7 /* pcre16_dfa_exec.c */; }; + 7558DB4518C6795A008985A7 /* pcre16_exec.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAF218C6795A008985A7 /* pcre16_exec.c */; }; + 7558DB4618C6795A008985A7 /* pcre16_fullinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAF318C6795A008985A7 /* pcre16_fullinfo.c */; }; + 7558DB4718C6795A008985A7 /* pcre16_get.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAF418C6795A008985A7 /* pcre16_get.c */; }; + 7558DB4818C6795A008985A7 /* pcre16_globals.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAF518C6795A008985A7 /* pcre16_globals.c */; }; + 7558DB4918C6795A008985A7 /* pcre16_jit_compile.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAF618C6795A008985A7 /* pcre16_jit_compile.c */; }; + 7558DB4A18C6795A008985A7 /* pcre16_maketables.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAF718C6795A008985A7 /* pcre16_maketables.c */; }; + 7558DB4B18C6795A008985A7 /* pcre16_newline.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAF818C6795A008985A7 /* pcre16_newline.c */; }; + 7558DB4C18C6795A008985A7 /* pcre16_ord2utf16.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAF918C6795A008985A7 /* pcre16_ord2utf16.c */; }; + 7558DB4D18C6795A008985A7 /* pcre16_printint.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAFA18C6795A008985A7 /* pcre16_printint.c */; }; + 7558DB4E18C6795A008985A7 /* pcre16_refcount.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAFB18C6795A008985A7 /* pcre16_refcount.c */; }; + 7558DB4F18C6795A008985A7 /* pcre16_string_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAFC18C6795A008985A7 /* pcre16_string_utils.c */; }; + 7558DB5018C6795A008985A7 /* pcre16_study.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAFD18C6795A008985A7 /* pcre16_study.c */; }; + 7558DB5118C6795A008985A7 /* pcre16_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAFE18C6795A008985A7 /* pcre16_tables.c */; }; + 7558DB5218C6795A008985A7 /* pcre16_ucd.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DAFF18C6795A008985A7 /* pcre16_ucd.c */; }; + 7558DB5318C6795A008985A7 /* pcre16_utf16_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0018C6795A008985A7 /* pcre16_utf16_utils.c */; }; + 7558DB5418C6795A008985A7 /* pcre16_valid_utf16.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0118C6795A008985A7 /* pcre16_valid_utf16.c */; }; + 7558DB5518C6795A008985A7 /* pcre16_version.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0218C6795A008985A7 /* pcre16_version.c */; }; + 7558DB5618C6795A008985A7 /* pcre16_xclass.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0318C6795A008985A7 /* pcre16_xclass.c */; }; + 7558DB5718C6795A008985A7 /* pcre32_byte_order.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0418C6795A008985A7 /* pcre32_byte_order.c */; }; + 7558DB5818C6795A008985A7 /* pcre32_chartables.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0518C6795A008985A7 /* pcre32_chartables.c */; }; + 7558DB5918C6795A008985A7 /* pcre32_compile.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0618C6795A008985A7 /* pcre32_compile.c */; }; + 7558DB5A18C6795A008985A7 /* pcre32_config.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0718C6795A008985A7 /* pcre32_config.c */; }; + 7558DB5B18C6795A008985A7 /* pcre32_dfa_exec.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0818C6795A008985A7 /* pcre32_dfa_exec.c */; }; + 7558DB5C18C6795A008985A7 /* pcre32_exec.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0918C6795A008985A7 /* pcre32_exec.c */; }; + 7558DB5D18C6795A008985A7 /* pcre32_fullinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0A18C6795A008985A7 /* pcre32_fullinfo.c */; }; + 7558DB5E18C6795A008985A7 /* pcre32_get.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0B18C6795A008985A7 /* pcre32_get.c */; }; + 7558DB5F18C6795A008985A7 /* pcre32_globals.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0C18C6795A008985A7 /* pcre32_globals.c */; }; + 7558DB6018C6795A008985A7 /* pcre32_jit_compile.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0D18C6795A008985A7 /* pcre32_jit_compile.c */; }; + 7558DB6118C6795A008985A7 /* pcre32_maketables.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0E18C6795A008985A7 /* pcre32_maketables.c */; }; + 7558DB6218C6795A008985A7 /* pcre32_newline.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB0F18C6795A008985A7 /* pcre32_newline.c */; }; + 7558DB6318C6795A008985A7 /* pcre32_ord2utf32.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1018C6795A008985A7 /* pcre32_ord2utf32.c */; }; + 7558DB6418C6795A008985A7 /* pcre32_printint.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1118C6795A008985A7 /* pcre32_printint.c */; }; + 7558DB6518C6795A008985A7 /* pcre32_refcount.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1218C6795A008985A7 /* pcre32_refcount.c */; }; + 7558DB6618C6795A008985A7 /* pcre32_string_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1318C6795A008985A7 /* pcre32_string_utils.c */; }; + 7558DB6718C6795A008985A7 /* pcre32_study.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1418C6795A008985A7 /* pcre32_study.c */; }; + 7558DB6818C6795A008985A7 /* pcre32_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1518C6795A008985A7 /* pcre32_tables.c */; }; + 7558DB6918C6795A008985A7 /* pcre32_ucd.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1618C6795A008985A7 /* pcre32_ucd.c */; }; + 7558DB6A18C6795A008985A7 /* pcre32_utf32_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1718C6795A008985A7 /* pcre32_utf32_utils.c */; }; + 7558DB6B18C6795A008985A7 /* pcre32_valid_utf32.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1818C6795A008985A7 /* pcre32_valid_utf32.c */; }; + 7558DB6C18C6795A008985A7 /* pcre32_version.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1918C6795A008985A7 /* pcre32_version.c */; }; + 7558DB6D18C6795A008985A7 /* pcre32_xclass.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1A18C6795A008985A7 /* pcre32_xclass.c */; }; + 7558DB6E18C6795A008985A7 /* pcre_byte_order.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1B18C6795A008985A7 /* pcre_byte_order.c */; }; + 7558DB6F18C6795A008985A7 /* pcre_chartables.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1C18C6795A008985A7 /* pcre_chartables.c */; }; + 7558DB7018C6795A008985A7 /* pcre_compile.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1D18C6795A008985A7 /* pcre_compile.c */; }; + 7558DB7118C6795A008985A7 /* pcre_config.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1E18C6795A008985A7 /* pcre_config.c */; }; + 7558DB7218C6795A008985A7 /* pcre_dfa_exec.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB1F18C6795A008985A7 /* pcre_dfa_exec.c */; }; + 7558DB7318C6795A008985A7 /* pcre_exec.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2018C6795A008985A7 /* pcre_exec.c */; }; + 7558DB7418C6795A008985A7 /* pcre_fullinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2118C6795A008985A7 /* pcre_fullinfo.c */; }; + 7558DB7518C6795A008985A7 /* pcre_get.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2218C6795A008985A7 /* pcre_get.c */; }; + 7558DB7618C6795A008985A7 /* pcre_globals.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2318C6795A008985A7 /* pcre_globals.c */; }; + 7558DB7718C6795A008985A7 /* pcre_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DB2418C6795A008985A7 /* pcre_internal.h */; }; + 7558DB7818C6795A008985A7 /* pcre_jit_compile.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2518C6795A008985A7 /* pcre_jit_compile.c */; }; + 7558DB7918C6795A008985A7 /* pcre_jit_test.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2618C6795A008985A7 /* pcre_jit_test.c */; }; + 7558DB7A18C6795A008985A7 /* pcre_maketables.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2718C6795A008985A7 /* pcre_maketables.c */; }; + 7558DB7B18C6795A008985A7 /* pcre_newline.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2818C6795A008985A7 /* pcre_newline.c */; }; + 7558DB7C18C6795A008985A7 /* pcre_ord2utf8.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2918C6795A008985A7 /* pcre_ord2utf8.c */; }; + 7558DB7D18C6795A008985A7 /* pcre_printint.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2A18C6795A008985A7 /* pcre_printint.c */; }; + 7558DB7E18C6795A008985A7 /* pcre_refcount.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2B18C6795A008985A7 /* pcre_refcount.c */; }; + 7558DB7F18C6795A008985A7 /* pcre_scanner.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DB2C18C6795A008985A7 /* pcre_scanner.h */; }; + 7558DB8018C6795A008985A7 /* pcre_string_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2D18C6795A008985A7 /* pcre_string_utils.c */; }; + 7558DB8118C6795A008985A7 /* pcre_study.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2E18C6795A008985A7 /* pcre_study.c */; }; + 7558DB8218C6795A008985A7 /* pcre_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB2F18C6795A008985A7 /* pcre_tables.c */; }; + 7558DB8318C6795A008985A7 /* pcre_ucd.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB3018C6795A008985A7 /* pcre_ucd.c */; }; + 7558DB8418C6795A008985A7 /* pcre_valid_utf8.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB3118C6795A008985A7 /* pcre_valid_utf8.c */; }; + 7558DB8518C6795A008985A7 /* pcre_version.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB3218C6795A008985A7 /* pcre_version.c */; }; + 7558DB8618C6795A008985A7 /* pcre_xclass.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB3318C6795A008985A7 /* pcre_xclass.c */; }; + 7558DB8718C6795A008985A7 /* pcrecpp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DB3418C6795A008985A7 /* pcrecpp.h */; }; + 7558DB8818C6795A008985A7 /* pcrecpp_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DB3518C6795A008985A7 /* pcrecpp_internal.h */; }; + 7558DB8918C6795A008985A7 /* pcredemo.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB3618C6795A008985A7 /* pcredemo.c */; }; + 7558DB8A18C6795A008985A7 /* pcregrep.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB3718C6795A008985A7 /* pcregrep.c */; }; + 7558DB8B18C6795A008985A7 /* pcreposix.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB3818C6795A008985A7 /* pcreposix.c */; }; + 7558DB8C18C6795A008985A7 /* pcreposix.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DB3918C6795A008985A7 /* pcreposix.h */; }; + 7558DB8D18C6795A008985A7 /* pcretest.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DB3A18C6795A008985A7 /* pcretest.c */; }; + 7558DB8E18C6795A008985A7 /* ucp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DB3C18C6795A008985A7 /* ucp.h */; }; + 7558DECD18C67E0F008985A7 /* stdbool.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DD7918C67E0E008985A7 /* stdbool.h */; }; + 7558DECF18C67E0F008985A7 /* c99_compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DD7B18C67E0E008985A7 /* c99_compat.h */; }; + 7558DED018C67E0F008985A7 /* regal_glsl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DD9B18C67E0E008985A7 /* regal_glsl.cpp */; }; + 7558DED118C67E0F008985A7 /* regal_glsl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DD9C18C67E0E008985A7 /* regal_glsl.h */; }; + 7558DED218C67E0F008985A7 /* getopt.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DDA018C67E0E008985A7 /* getopt.h */; }; + 7558DED318C67E0F008985A7 /* getopt_long.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DDA118C67E0E008985A7 /* getopt_long.c */; }; + 7558DED418C67E0F008985A7 /* ast.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DDA618C67E0E008985A7 /* ast.h */; }; + 7558DED518C67E0F008985A7 /* ast_array_index.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DDA718C67E0E008985A7 /* ast_array_index.cpp */; }; + 7558DED618C67E0F008985A7 /* ast_expr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DDA818C67E0E008985A7 /* ast_expr.cpp */; }; + 7558DED718C67E0F008985A7 /* ast_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DDA918C67E0E008985A7 /* ast_function.cpp */; }; + 7558DED818C67E0F008985A7 /* ast_to_hir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DDAA18C67E0E008985A7 /* ast_to_hir.cpp */; }; + 7558DED918C67E0F008985A7 /* ast_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DDAB18C67E0E008985A7 /* ast_type.cpp */; }; + 7558DEDA18C67E0F008985A7 /* builtin_stubs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DDAE18C67E0E008985A7 /* builtin_stubs.cpp */; }; + 7558DEDB18C67E0F008985A7 /* builtin_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DDAF18C67E0E008985A7 /* builtin_function.cpp */; }; + 7558DEDC18C67E0F008985A7 /* builtin_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DDB018C67E0E008985A7 /* builtin_types.h */; }; + 7558DEDD18C67E0F008985A7 /* builtin_variables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DDB118C67E0E008985A7 /* builtin_variables.cpp */; }; + 7558DEF418C67E0F008985A7 /* glcpp-lex.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE3518C67E0E008985A7 /* glcpp-lex.c */; }; + 7558DEF618C67E0F008985A7 /* glcpp-parse.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE3718C67E0E008985A7 /* glcpp-parse.c */; }; + 7558DEF718C67E0F008985A7 /* glcpp-parse.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE3818C67E0E008985A7 /* glcpp-parse.h */; }; + 7558DEF918C67E0F008985A7 /* glcpp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE3B18C67E0E008985A7 /* glcpp.h */; }; + 7558DEFA18C67E0F008985A7 /* pp.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE3C18C67E0E008985A7 /* pp.c */; }; + 7558DEFB18C67E0F008985A7 /* glsl_lexer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE3E18C67E0E008985A7 /* glsl_lexer.cpp */; }; + 7558DEFD18C67E0F008985A7 /* glsl_optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE4018C67E0E008985A7 /* glsl_optimizer.cpp */; }; + 7558DEFE18C67E0F008985A7 /* glsl_optimizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE4118C67E0E008985A7 /* glsl_optimizer.h */; }; + 7558DEFF18C67E0F008985A7 /* glsl_parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE4218C67E0E008985A7 /* glsl_parser.cpp */; }; + 7558DF0018C67E0F008985A7 /* glsl_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE4318C67E0E008985A7 /* glsl_parser.h */; }; + 7558DF0118C67E0F008985A7 /* glsl_parser_extras.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE4618C67E0E008985A7 /* glsl_parser_extras.cpp */; }; + 7558DF0218C67E0F008985A7 /* glsl_parser_extras.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE4718C67E0E008985A7 /* glsl_parser_extras.h */; }; + 7558DF0318C67E0F008985A7 /* glsl_symbol_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE4818C67E0E008985A7 /* glsl_symbol_table.cpp */; }; + 7558DF0418C67E0F008985A7 /* glsl_symbol_table.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE4918C67E0E008985A7 /* glsl_symbol_table.h */; }; + 7558DF0518C67E0F008985A7 /* glsl_types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE4A18C67E0E008985A7 /* glsl_types.cpp */; }; + 7558DF0618C67E0F008985A7 /* glsl_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE4B18C67E0E008985A7 /* glsl_types.h */; }; + 7558DF0718C67E0F008985A7 /* hir_field_selection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE4C18C67E0E008985A7 /* hir_field_selection.cpp */; }; + 7558DF0818C67E0F008985A7 /* ir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE4D18C67E0E008985A7 /* ir.cpp */; }; + 7558DF0918C67E0F008985A7 /* ir.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE4E18C67E0E008985A7 /* ir.h */; }; + 7558DF0A18C67E0F008985A7 /* ir_basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE4F18C67E0E008985A7 /* ir_basic_block.cpp */; }; + 7558DF0B18C67E0F008985A7 /* ir_basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE5018C67E0E008985A7 /* ir_basic_block.h */; }; + 7558DF0C18C67E0F008985A7 /* ir_builder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE5118C67E0E008985A7 /* ir_builder.cpp */; }; + 7558DF0D18C67E0F008985A7 /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE5218C67E0E008985A7 /* ir_builder.h */; }; + 7558DF0E18C67E0F008985A7 /* ir_clone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE5318C67E0E008985A7 /* ir_clone.cpp */; }; + 7558DF0F18C67E0F008985A7 /* ir_constant_expression.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE5418C67E0E008985A7 /* ir_constant_expression.cpp */; }; + 7558DF1018C67E0F008985A7 /* ir_expression_flattening.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE5518C67E0E008985A7 /* ir_expression_flattening.cpp */; }; + 7558DF1118C67E0F008985A7 /* ir_expression_flattening.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE5618C67E0E008985A7 /* ir_expression_flattening.h */; }; + 7558DF1218C67E0F008985A7 /* ir_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE5718C67E0E008985A7 /* ir_function.cpp */; }; + 7558DF1318C67E0F008985A7 /* ir_function_can_inline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE5818C67E0E008985A7 /* ir_function_can_inline.cpp */; }; + 7558DF1418C67E0F008985A7 /* ir_function_detect_recursion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE5918C67E0E008985A7 /* ir_function_detect_recursion.cpp */; }; + 7558DF1518C67E0F008985A7 /* ir_function_inlining.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE5A18C67E0E008985A7 /* ir_function_inlining.h */; }; + 7558DF1618C67E0F008985A7 /* ir_hierarchical_visitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE5B18C67E0E008985A7 /* ir_hierarchical_visitor.cpp */; }; + 7558DF1718C67E0F008985A7 /* ir_hierarchical_visitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE5C18C67E0E008985A7 /* ir_hierarchical_visitor.h */; }; + 7558DF1818C67E0F008985A7 /* ir_hv_accept.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE5D18C67E0E008985A7 /* ir_hv_accept.cpp */; }; + 7558DF1918C67E0F008985A7 /* ir_import_prototypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE5E18C67E0E008985A7 /* ir_import_prototypes.cpp */; }; + 7558DF1A18C67E0F008985A7 /* ir_optimization.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE5F18C67E0E008985A7 /* ir_optimization.h */; }; + 7558DF1B18C67E0F008985A7 /* ir_print_glsl_visitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE6018C67E0E008985A7 /* ir_print_glsl_visitor.cpp */; }; + 7558DF1C18C67E0F008985A7 /* ir_print_glsl_visitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE6118C67E0E008985A7 /* ir_print_glsl_visitor.h */; }; + 7558DF1D18C67E0F008985A7 /* ir_print_visitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE6218C67E0E008985A7 /* ir_print_visitor.cpp */; }; + 7558DF1E18C67E0F008985A7 /* ir_print_visitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE6318C67E0E008985A7 /* ir_print_visitor.h */; }; + 7558DF1F18C67E0F008985A7 /* ir_reader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE6418C67E0E008985A7 /* ir_reader.cpp */; }; + 7558DF2018C67E0F008985A7 /* ir_reader.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE6518C67E0E008985A7 /* ir_reader.h */; }; + 7558DF2118C67E0F008985A7 /* ir_rvalue_visitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE6618C67E0E008985A7 /* ir_rvalue_visitor.cpp */; }; + 7558DF2218C67E0F008985A7 /* ir_rvalue_visitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE6718C67E0E008985A7 /* ir_rvalue_visitor.h */; }; + 7558DF2318C67E0F008985A7 /* ir_uniform.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE6818C67E0E008985A7 /* ir_uniform.h */; }; + 7558DF2418C67E0F008985A7 /* ir_unused_structs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE6918C67E0E008985A7 /* ir_unused_structs.cpp */; }; + 7558DF2518C67E0F008985A7 /* ir_unused_structs.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE6A18C67E0E008985A7 /* ir_unused_structs.h */; }; + 7558DF2618C67E0F008985A7 /* ir_validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE6B18C67E0E008985A7 /* ir_validate.cpp */; }; + 7558DF2718C67E0F008985A7 /* ir_variable_refcount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE6C18C67E0E008985A7 /* ir_variable_refcount.cpp */; }; + 7558DF2818C67E0F008985A7 /* ir_variable_refcount.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE6D18C67E0E008985A7 /* ir_variable_refcount.h */; }; + 7558DF2918C67E0F008985A7 /* ir_visitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE6E18C67E0E008985A7 /* ir_visitor.h */; }; + 7558DF2A18C67E0F008985A7 /* link_functions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE6F18C67E0E008985A7 /* link_functions.cpp */; }; + 7558DF2B18C67E0F008985A7 /* link_uniform_block_active_visitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE7018C67E0E008985A7 /* link_uniform_block_active_visitor.cpp */; }; + 7558DF2C18C67E0F008985A7 /* link_uniform_block_active_visitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE7118C67E0E008985A7 /* link_uniform_block_active_visitor.h */; }; + 7558DF2D18C67E0F008985A7 /* link_uniform_blocks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE7218C67E0E008985A7 /* link_uniform_blocks.cpp */; }; + 7558DF2E18C67E0F008985A7 /* link_uniform_initializers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE7318C67E0E008985A7 /* link_uniform_initializers.cpp */; }; + 7558DF2F18C67E0F008985A7 /* link_uniforms.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE7418C67E0E008985A7 /* link_uniforms.cpp */; }; + 7558DF3018C67E0F008985A7 /* link_varyings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE7518C67E0E008985A7 /* link_varyings.cpp */; }; + 7558DF3118C67E0F008985A7 /* link_varyings.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE7618C67E0E008985A7 /* link_varyings.h */; }; + 7558DF3218C67E0F008985A7 /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE7718C67E0E008985A7 /* linker.cpp */; }; + 7558DF3318C67E0F008985A7 /* linker.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE7818C67E0E008985A7 /* linker.h */; }; + 7558DF3418C67E0F008985A7 /* list.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE7918C67E0E008985A7 /* list.h */; }; + 7558DF3518C67E0F008985A7 /* loop_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE7A18C67E0E008985A7 /* loop_analysis.cpp */; }; + 7558DF3618C67E0F008985A7 /* loop_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DE7B18C67E0E008985A7 /* loop_analysis.h */; }; + 7558DF3718C67E0F008985A7 /* loop_controls.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE7C18C67E0E008985A7 /* loop_controls.cpp */; }; + 7558DF3818C67E0F008985A7 /* loop_unroll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE7D18C67E0E008985A7 /* loop_unroll.cpp */; }; + 7558DF3918C67E0F008985A7 /* lower_clip_distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE7E18C67E0E008985A7 /* lower_clip_distance.cpp */; }; + 7558DF3A18C67E0F008985A7 /* lower_discard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE7F18C67E0E008985A7 /* lower_discard.cpp */; }; + 7558DF3B18C67E0F008985A7 /* lower_discard_flow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8018C67E0E008985A7 /* lower_discard_flow.cpp */; }; + 7558DF3C18C67E0F008985A7 /* lower_if_to_cond_assign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8118C67E0E008985A7 /* lower_if_to_cond_assign.cpp */; }; + 7558DF3D18C67E0F008985A7 /* lower_instructions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8218C67E0E008985A7 /* lower_instructions.cpp */; }; + 7558DF3E18C67E0F008985A7 /* lower_jumps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8318C67E0E008985A7 /* lower_jumps.cpp */; }; + 7558DF3F18C67E0F008985A7 /* lower_mat_op_to_vec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8418C67E0E008985A7 /* lower_mat_op_to_vec.cpp */; }; + 7558DF4018C67E0F008985A7 /* lower_noise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8518C67E0E008985A7 /* lower_noise.cpp */; }; + 7558DF4118C67E0F008985A7 /* lower_output_reads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8618C67E0E008985A7 /* lower_output_reads.cpp */; }; + 7558DF4218C67E0F008985A7 /* lower_packed_varyings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8718C67E0F008985A7 /* lower_packed_varyings.cpp */; }; + 7558DF4318C67E0F008985A7 /* lower_packing_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8818C67E0F008985A7 /* lower_packing_builtins.cpp */; }; + 7558DF4418C67E0F008985A7 /* lower_ubo_reference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8918C67E0F008985A7 /* lower_ubo_reference.cpp */; }; + 7558DF4518C67E0F008985A7 /* lower_variable_index_to_cond_assign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8A18C67E0F008985A7 /* lower_variable_index_to_cond_assign.cpp */; }; + 7558DF4618C67E0F008985A7 /* lower_vec_index_to_cond_assign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8B18C67E0F008985A7 /* lower_vec_index_to_cond_assign.cpp */; }; + 7558DF4718C67E0F008985A7 /* lower_vec_index_to_swizzle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8C18C67E0F008985A7 /* lower_vec_index_to_swizzle.cpp */; }; + 7558DF4818C67E0F008985A7 /* lower_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8D18C67E0F008985A7 /* lower_vector.cpp */; }; + 7558DF4918C67E0F008985A7 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE8E18C67E0F008985A7 /* main.cpp */; }; + 7558DF4B18C67E0F008985A7 /* opt_algebraic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9018C67E0F008985A7 /* opt_algebraic.cpp */; }; + 7558DF4C18C67E0F008985A7 /* opt_array_splitting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9118C67E0F008985A7 /* opt_array_splitting.cpp */; }; + 7558DF4D18C67E0F008985A7 /* opt_constant_folding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9218C67E0F008985A7 /* opt_constant_folding.cpp */; }; + 7558DF4E18C67E0F008985A7 /* opt_constant_propagation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9318C67E0F008985A7 /* opt_constant_propagation.cpp */; }; + 7558DF4F18C67E0F008985A7 /* opt_constant_variable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9418C67E0F008985A7 /* opt_constant_variable.cpp */; }; + 7558DF5018C67E0F008985A7 /* opt_copy_propagation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9518C67E0F008985A7 /* opt_copy_propagation.cpp */; }; + 7558DF5118C67E0F008985A7 /* opt_copy_propagation_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9618C67E0F008985A7 /* opt_copy_propagation_elements.cpp */; }; + 7558DF5218C67E0F008985A7 /* opt_dead_code.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9718C67E0F008985A7 /* opt_dead_code.cpp */; }; + 7558DF5318C67E0F008985A7 /* opt_dead_code_local.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9818C67E0F008985A7 /* opt_dead_code_local.cpp */; }; + 7558DF5418C67E0F008985A7 /* opt_dead_functions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9918C67E0F008985A7 /* opt_dead_functions.cpp */; }; + 7558DF5518C67E0F008985A7 /* opt_flatten_nested_if_blocks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9A18C67E0F008985A7 /* opt_flatten_nested_if_blocks.cpp */; }; + 7558DF5618C67E0F008985A7 /* opt_function_inlining.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9B18C67E0F008985A7 /* opt_function_inlining.cpp */; }; + 7558DF5718C67E0F008985A7 /* opt_if_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9C18C67E0F008985A7 /* opt_if_simplification.cpp */; }; + 7558DF5818C67E0F008985A7 /* opt_noop_swizzle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9D18C67E0F008985A7 /* opt_noop_swizzle.cpp */; }; + 7558DF5918C67E0F008985A7 /* opt_redundant_jumps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9E18C67E0F008985A7 /* opt_redundant_jumps.cpp */; }; + 7558DF5A18C67E0F008985A7 /* opt_structure_splitting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DE9F18C67E0F008985A7 /* opt_structure_splitting.cpp */; }; + 7558DF5B18C67E0F008985A7 /* opt_swizzle_swizzle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DEA018C67E0F008985A7 /* opt_swizzle_swizzle.cpp */; }; + 7558DF5C18C67E0F008985A7 /* opt_tree_grafting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DEA118C67E0F008985A7 /* opt_tree_grafting.cpp */; }; + 7558DF5D18C67E0F008985A7 /* program.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEA218C67E0F008985A7 /* program.h */; }; + 7558DF5E18C67E0F008985A7 /* ralloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DEA318C67E0F008985A7 /* ralloc.c */; }; + 7558DF5F18C67E0F008985A7 /* ralloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEA418C67E0F008985A7 /* ralloc.h */; }; + 7558DF6018C67E0F008985A7 /* s_expression.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DEA618C67E0F008985A7 /* s_expression.cpp */; }; + 7558DF6118C67E0F008985A7 /* s_expression.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEA718C67E0F008985A7 /* s_expression.h */; }; + 7558DF6218C67E0F008985A7 /* standalone_scaffolding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7558DEA918C67E0F008985A7 /* standalone_scaffolding.cpp */; }; + 7558DF6318C67E0F008985A7 /* standalone_scaffolding.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEAA18C67E0F008985A7 /* standalone_scaffolding.h */; }; + 7558DF6418C67E0F008985A7 /* strtod.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DEAB18C67E0F008985A7 /* strtod.c */; }; + 7558DF6518C67E0F008985A7 /* strtod.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEAC18C67E0F008985A7 /* strtod.h */; }; + 7558DF6618C67E0F008985A7 /* compiler.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEB118C67E0F008985A7 /* compiler.h */; }; + 7558DF6718C67E0F008985A7 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEB218C67E0F008985A7 /* config.h */; }; + 7558DF6818C67E0F008985A7 /* context.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEB318C67E0F008985A7 /* context.h */; }; + 7558DF6918C67E0F008985A7 /* core.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEB418C67E0F008985A7 /* core.h */; }; + 7558DF6A18C67E0F008985A7 /* dd.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEB518C67E0F008985A7 /* dd.h */; }; + 7558DF6B18C67E0F008985A7 /* glheader.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEB618C67E0F008985A7 /* glheader.h */; }; + 7558DF6C18C67E0F008985A7 /* glminimal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEB718C67E0F008985A7 /* glminimal.h */; }; + 7558DF6D18C67E0F008985A7 /* hash_table.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DEB818C67E0F008985A7 /* hash_table.c */; }; + 7558DF6E18C67E0F008985A7 /* hash_table.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEB918C67E0F008985A7 /* hash_table.h */; }; + 7558DF6F18C67E0F008985A7 /* imports.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DEBA18C67E0F008985A7 /* imports.c */; }; + 7558DF7018C67E0F008985A7 /* imports.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEBB18C67E0F008985A7 /* imports.h */; }; + 7558DF7118C67E0F008985A7 /* macros.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEBC18C67E0F008985A7 /* macros.h */; }; + 7558DF7218C67E0F008985A7 /* mtypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEBD18C67E0F008985A7 /* mtypes.h */; }; + 7558DF7318C67E0F008985A7 /* set.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DEBE18C67E0F008985A7 /* set.c */; }; + 7558DF7418C67E0F008985A7 /* set.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEBF18C67E0F008985A7 /* set.h */; }; + 7558DF7518C67E0F008985A7 /* simple_list.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEC018C67E0F008985A7 /* simple_list.h */; }; + 7558DF7618C67E0F008985A7 /* hash_table.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEC318C67E0F008985A7 /* hash_table.h */; }; + 7558DF7718C67E0F008985A7 /* prog_hash_table.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DEC418C67E0F008985A7 /* prog_hash_table.c */; }; + 7558DF7818C67E0F008985A7 /* prog_instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEC518C67E0F008985A7 /* prog_instruction.h */; }; + 7558DF7918C67E0F008985A7 /* prog_parameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEC618C67E0F008985A7 /* prog_parameter.h */; }; + 7558DF7A18C67E0F008985A7 /* prog_statevars.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEC718C67E0F008985A7 /* prog_statevars.h */; }; + 7558DF7B18C67E0F008985A7 /* symbol_table.c in Sources */ = {isa = PBXBuildFile; fileRef = 7558DEC818C67E0F008985A7 /* symbol_table.c */; }; + 7558DF7C18C67E0F008985A7 /* symbol_table.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558DEC918C67E0F008985A7 /* symbol_table.h */; }; + 755DED9018C692CA00B417E0 /* RegalDispatchHttp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 755DED8C18C692CA00B417E0 /* RegalDispatchHttp.cpp */; }; + 755DED9118C692CA00B417E0 /* RegalDispatchHttp.h in Headers */ = {isa = PBXBuildFile; fileRef = 755DED8D18C692CA00B417E0 /* RegalDispatchHttp.h */; }; + 755DED9218C692CA00B417E0 /* RegalWebJs.h in Headers */ = {isa = PBXBuildFile; fileRef = 755DED8E18C692CA00B417E0 /* RegalWebJs.h */; }; + 755DED9318C692CA00B417E0 /* stb_image_write.h in Headers */ = {isa = PBXBuildFile; fileRef = 755DED8F18C692CA00B417E0 /* stb_image_write.h */; }; 75694C8E17EB913B00B8AD9D /* RegalQuads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 75694C8C17EB913B00B8AD9D /* RegalQuads.cpp */; }; 75694C8F17EB913B00B8AD9D /* RegalQuads.h in Headers */ = {isa = PBXBuildFile; fileRef = 75694C8D17EB913B00B8AD9D /* RegalQuads.h */; }; BC020947160D1919003FAB99 /* RegalMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC020946160D1919003FAB99 /* RegalMarker.cpp */; }; @@ -177,11 +417,14 @@ BCDF670D178F179800EE9569 /* gltrace_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCDF6707178F179800EE9569 /* gltrace_state.cpp */; }; BCDF670E178F179800EE9569 /* gltrace.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BCDF6708178F179800EE9569 /* gltrace.hpp */; }; BCDF670F178F179800EE9569 /* regaltrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCDF6709178F179800EE9569 /* regaltrace.cpp */; }; - BCDF6710178F179800EE9569 /* trace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCDF670A178F179800EE9569 /* trace.cpp */; }; - BCDF6711178F179800EE9569 /* trace.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BCDF670B178F179800EE9569 /* trace.hpp */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 435914F8182FF3A3002CB92C /* RegalLayerInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalLayerInfo.h; path = ../../../src/regal/RegalLayerInfo.h; sourceTree = ""; }; + 435914F9182FF3A3002CB92C /* RegalShader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalShader.cpp; path = ../../../src/regal/RegalShader.cpp; sourceTree = ""; }; + 435914FA182FF3A3002CB92C /* RegalShader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalShader.h; path = ../../../src/regal/RegalShader.h; sourceTree = ""; }; + 435914FB182FF3A3002CB92C /* RegalShaderInstance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalShaderInstance.cpp; path = ../../../src/regal/RegalShaderInstance.cpp; sourceTree = ""; }; + 435914FC182FF3A3002CB92C /* RegalShaderInstance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalShaderInstance.h; path = ../../../src/regal/RegalShaderInstance.h; sourceTree = ""; }; 4366EEEA15C9B54E00211205 /* RegalEnum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalEnum.h; path = ../../../src/regal/RegalEnum.h; sourceTree = ""; }; 4366EEEB15C9B54E00211205 /* RegalFavicon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalFavicon.cpp; path = ../../../src/regal/RegalFavicon.cpp; sourceTree = ""; }; 4366EEEC15C9B54E00211205 /* RegalFavicon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalFavicon.h; path = ../../../src/regal/RegalFavicon.h; sourceTree = ""; }; @@ -238,6 +481,241 @@ 43FC5F7715C4619B00D0177C /* RegalVao.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalVao.h; path = ../../../src/regal/RegalVao.h; sourceTree = ""; }; 43FC5FA615C461AC00D0177C /* civetweb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = civetweb.c; path = ../../../src/civetweb/civetweb.c; sourceTree = ""; }; 754D3C9417CFFD7200E4C0E0 /* RegalEmu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalEmu.cpp; path = ../../../src/regal/RegalEmu.cpp; sourceTree = ""; }; + 7558DAE918C6795A008985A7 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + 7558DAEA18C6795A008985A7 /* dftables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dftables.c; sourceTree = ""; }; + 7558DAEC18C6795A008985A7 /* pcre.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pcre.h; sourceTree = ""; }; + 7558DAED18C6795A008985A7 /* pcre16_byte_order.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_byte_order.c; sourceTree = ""; }; + 7558DAEE18C6795A008985A7 /* pcre16_chartables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_chartables.c; sourceTree = ""; }; + 7558DAEF18C6795A008985A7 /* pcre16_compile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_compile.c; sourceTree = ""; }; + 7558DAF018C6795A008985A7 /* pcre16_config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_config.c; sourceTree = ""; }; + 7558DAF118C6795A008985A7 /* pcre16_dfa_exec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_dfa_exec.c; sourceTree = ""; }; + 7558DAF218C6795A008985A7 /* pcre16_exec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_exec.c; sourceTree = ""; }; + 7558DAF318C6795A008985A7 /* pcre16_fullinfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_fullinfo.c; sourceTree = ""; }; + 7558DAF418C6795A008985A7 /* pcre16_get.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_get.c; sourceTree = ""; }; + 7558DAF518C6795A008985A7 /* pcre16_globals.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_globals.c; sourceTree = ""; }; + 7558DAF618C6795A008985A7 /* pcre16_jit_compile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_jit_compile.c; sourceTree = ""; }; + 7558DAF718C6795A008985A7 /* pcre16_maketables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_maketables.c; sourceTree = ""; }; + 7558DAF818C6795A008985A7 /* pcre16_newline.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_newline.c; sourceTree = ""; }; + 7558DAF918C6795A008985A7 /* pcre16_ord2utf16.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_ord2utf16.c; sourceTree = ""; }; + 7558DAFA18C6795A008985A7 /* pcre16_printint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_printint.c; sourceTree = ""; }; + 7558DAFB18C6795A008985A7 /* pcre16_refcount.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_refcount.c; sourceTree = ""; }; + 7558DAFC18C6795A008985A7 /* pcre16_string_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_string_utils.c; sourceTree = ""; }; + 7558DAFD18C6795A008985A7 /* pcre16_study.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_study.c; sourceTree = ""; }; + 7558DAFE18C6795A008985A7 /* pcre16_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_tables.c; sourceTree = ""; }; + 7558DAFF18C6795A008985A7 /* pcre16_ucd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_ucd.c; sourceTree = ""; }; + 7558DB0018C6795A008985A7 /* pcre16_utf16_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_utf16_utils.c; sourceTree = ""; }; + 7558DB0118C6795A008985A7 /* pcre16_valid_utf16.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_valid_utf16.c; sourceTree = ""; }; + 7558DB0218C6795A008985A7 /* pcre16_version.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_version.c; sourceTree = ""; }; + 7558DB0318C6795A008985A7 /* pcre16_xclass.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre16_xclass.c; sourceTree = ""; }; + 7558DB0418C6795A008985A7 /* pcre32_byte_order.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_byte_order.c; sourceTree = ""; }; + 7558DB0518C6795A008985A7 /* pcre32_chartables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_chartables.c; sourceTree = ""; }; + 7558DB0618C6795A008985A7 /* pcre32_compile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_compile.c; sourceTree = ""; }; + 7558DB0718C6795A008985A7 /* pcre32_config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_config.c; sourceTree = ""; }; + 7558DB0818C6795A008985A7 /* pcre32_dfa_exec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_dfa_exec.c; sourceTree = ""; }; + 7558DB0918C6795A008985A7 /* pcre32_exec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_exec.c; sourceTree = ""; }; + 7558DB0A18C6795A008985A7 /* pcre32_fullinfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_fullinfo.c; sourceTree = ""; }; + 7558DB0B18C6795A008985A7 /* pcre32_get.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_get.c; sourceTree = ""; }; + 7558DB0C18C6795A008985A7 /* pcre32_globals.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_globals.c; sourceTree = ""; }; + 7558DB0D18C6795A008985A7 /* pcre32_jit_compile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_jit_compile.c; sourceTree = ""; }; + 7558DB0E18C6795A008985A7 /* pcre32_maketables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_maketables.c; sourceTree = ""; }; + 7558DB0F18C6795A008985A7 /* pcre32_newline.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_newline.c; sourceTree = ""; }; + 7558DB1018C6795A008985A7 /* pcre32_ord2utf32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_ord2utf32.c; sourceTree = ""; }; + 7558DB1118C6795A008985A7 /* pcre32_printint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_printint.c; sourceTree = ""; }; + 7558DB1218C6795A008985A7 /* pcre32_refcount.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_refcount.c; sourceTree = ""; }; + 7558DB1318C6795A008985A7 /* pcre32_string_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_string_utils.c; sourceTree = ""; }; + 7558DB1418C6795A008985A7 /* pcre32_study.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_study.c; sourceTree = ""; }; + 7558DB1518C6795A008985A7 /* pcre32_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_tables.c; sourceTree = ""; }; + 7558DB1618C6795A008985A7 /* pcre32_ucd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_ucd.c; sourceTree = ""; }; + 7558DB1718C6795A008985A7 /* pcre32_utf32_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_utf32_utils.c; sourceTree = ""; }; + 7558DB1818C6795A008985A7 /* pcre32_valid_utf32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_valid_utf32.c; sourceTree = ""; }; + 7558DB1918C6795A008985A7 /* pcre32_version.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_version.c; sourceTree = ""; }; + 7558DB1A18C6795A008985A7 /* pcre32_xclass.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre32_xclass.c; sourceTree = ""; }; + 7558DB1B18C6795A008985A7 /* pcre_byte_order.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_byte_order.c; sourceTree = ""; }; + 7558DB1C18C6795A008985A7 /* pcre_chartables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_chartables.c; sourceTree = ""; }; + 7558DB1D18C6795A008985A7 /* pcre_compile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_compile.c; sourceTree = ""; }; + 7558DB1E18C6795A008985A7 /* pcre_config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_config.c; sourceTree = ""; }; + 7558DB1F18C6795A008985A7 /* pcre_dfa_exec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_dfa_exec.c; sourceTree = ""; }; + 7558DB2018C6795A008985A7 /* pcre_exec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_exec.c; sourceTree = ""; }; + 7558DB2118C6795A008985A7 /* pcre_fullinfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_fullinfo.c; sourceTree = ""; }; + 7558DB2218C6795A008985A7 /* pcre_get.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_get.c; sourceTree = ""; }; + 7558DB2318C6795A008985A7 /* pcre_globals.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_globals.c; sourceTree = ""; }; + 7558DB2418C6795A008985A7 /* pcre_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pcre_internal.h; sourceTree = ""; }; + 7558DB2518C6795A008985A7 /* pcre_jit_compile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_jit_compile.c; sourceTree = ""; }; + 7558DB2618C6795A008985A7 /* pcre_jit_test.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_jit_test.c; sourceTree = ""; }; + 7558DB2718C6795A008985A7 /* pcre_maketables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_maketables.c; sourceTree = ""; }; + 7558DB2818C6795A008985A7 /* pcre_newline.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_newline.c; sourceTree = ""; }; + 7558DB2918C6795A008985A7 /* pcre_ord2utf8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_ord2utf8.c; sourceTree = ""; }; + 7558DB2A18C6795A008985A7 /* pcre_printint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_printint.c; sourceTree = ""; }; + 7558DB2B18C6795A008985A7 /* pcre_refcount.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_refcount.c; sourceTree = ""; }; + 7558DB2C18C6795A008985A7 /* pcre_scanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pcre_scanner.h; sourceTree = ""; }; + 7558DB2D18C6795A008985A7 /* pcre_string_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_string_utils.c; sourceTree = ""; }; + 7558DB2E18C6795A008985A7 /* pcre_study.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_study.c; sourceTree = ""; }; + 7558DB2F18C6795A008985A7 /* pcre_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_tables.c; sourceTree = ""; }; + 7558DB3018C6795A008985A7 /* pcre_ucd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_ucd.c; sourceTree = ""; }; + 7558DB3118C6795A008985A7 /* pcre_valid_utf8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_valid_utf8.c; sourceTree = ""; }; + 7558DB3218C6795A008985A7 /* pcre_version.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_version.c; sourceTree = ""; }; + 7558DB3318C6795A008985A7 /* pcre_xclass.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcre_xclass.c; sourceTree = ""; }; + 7558DB3418C6795A008985A7 /* pcrecpp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pcrecpp.h; sourceTree = ""; }; + 7558DB3518C6795A008985A7 /* pcrecpp_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pcrecpp_internal.h; sourceTree = ""; }; + 7558DB3618C6795A008985A7 /* pcredemo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcredemo.c; sourceTree = ""; }; + 7558DB3718C6795A008985A7 /* pcregrep.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcregrep.c; sourceTree = ""; }; + 7558DB3818C6795A008985A7 /* pcreposix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcreposix.c; sourceTree = ""; }; + 7558DB3918C6795A008985A7 /* pcreposix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pcreposix.h; sourceTree = ""; }; + 7558DB3A18C6795A008985A7 /* pcretest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcretest.c; sourceTree = ""; }; + 7558DB3C18C6795A008985A7 /* ucp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ucp.h; sourceTree = ""; }; + 7558DD7918C67E0E008985A7 /* stdbool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stdbool.h; sourceTree = ""; }; + 7558DD7B18C67E0E008985A7 /* c99_compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = c99_compat.h; sourceTree = ""; }; + 7558DD9B18C67E0E008985A7 /* regal_glsl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = regal_glsl.cpp; sourceTree = ""; }; + 7558DD9C18C67E0E008985A7 /* regal_glsl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regal_glsl.h; sourceTree = ""; }; + 7558DDA018C67E0E008985A7 /* getopt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = getopt.h; sourceTree = ""; }; + 7558DDA118C67E0E008985A7 /* getopt_long.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = getopt_long.c; sourceTree = ""; }; + 7558DDA618C67E0E008985A7 /* ast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ast.h; sourceTree = ""; }; + 7558DDA718C67E0E008985A7 /* ast_array_index.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ast_array_index.cpp; sourceTree = ""; }; + 7558DDA818C67E0E008985A7 /* ast_expr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ast_expr.cpp; sourceTree = ""; }; + 7558DDA918C67E0E008985A7 /* ast_function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ast_function.cpp; sourceTree = ""; }; + 7558DDAA18C67E0E008985A7 /* ast_to_hir.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ast_to_hir.cpp; sourceTree = ""; }; + 7558DDAB18C67E0E008985A7 /* ast_type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ast_type.cpp; sourceTree = ""; }; + 7558DDAE18C67E0E008985A7 /* builtin_stubs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = builtin_stubs.cpp; sourceTree = ""; }; + 7558DDAF18C67E0E008985A7 /* builtin_function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = builtin_function.cpp; sourceTree = ""; }; + 7558DDB018C67E0E008985A7 /* builtin_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = builtin_types.h; sourceTree = ""; }; + 7558DDB118C67E0E008985A7 /* builtin_variables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = builtin_variables.cpp; sourceTree = ""; }; + 7558DE3518C67E0E008985A7 /* glcpp-lex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "glcpp-lex.c"; sourceTree = ""; }; + 7558DE3718C67E0E008985A7 /* glcpp-parse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "glcpp-parse.c"; sourceTree = ""; }; + 7558DE3818C67E0E008985A7 /* glcpp-parse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "glcpp-parse.h"; sourceTree = ""; }; + 7558DE3B18C67E0E008985A7 /* glcpp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glcpp.h; sourceTree = ""; }; + 7558DE3C18C67E0E008985A7 /* pp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pp.c; sourceTree = ""; }; + 7558DE3E18C67E0E008985A7 /* glsl_lexer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glsl_lexer.cpp; sourceTree = ""; }; + 7558DE4018C67E0E008985A7 /* glsl_optimizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glsl_optimizer.cpp; sourceTree = ""; }; + 7558DE4118C67E0E008985A7 /* glsl_optimizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glsl_optimizer.h; sourceTree = ""; }; + 7558DE4218C67E0E008985A7 /* glsl_parser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glsl_parser.cpp; sourceTree = ""; }; + 7558DE4318C67E0E008985A7 /* glsl_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glsl_parser.h; sourceTree = ""; }; + 7558DE4618C67E0E008985A7 /* glsl_parser_extras.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glsl_parser_extras.cpp; sourceTree = ""; }; + 7558DE4718C67E0E008985A7 /* glsl_parser_extras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glsl_parser_extras.h; sourceTree = ""; }; + 7558DE4818C67E0E008985A7 /* glsl_symbol_table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glsl_symbol_table.cpp; sourceTree = ""; }; + 7558DE4918C67E0E008985A7 /* glsl_symbol_table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glsl_symbol_table.h; sourceTree = ""; }; + 7558DE4A18C67E0E008985A7 /* glsl_types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glsl_types.cpp; sourceTree = ""; }; + 7558DE4B18C67E0E008985A7 /* glsl_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glsl_types.h; sourceTree = ""; }; + 7558DE4C18C67E0E008985A7 /* hir_field_selection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = hir_field_selection.cpp; sourceTree = ""; }; + 7558DE4D18C67E0E008985A7 /* ir.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir.cpp; sourceTree = ""; }; + 7558DE4E18C67E0E008985A7 /* ir.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir.h; sourceTree = ""; }; + 7558DE4F18C67E0E008985A7 /* ir_basic_block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_basic_block.cpp; sourceTree = ""; }; + 7558DE5018C67E0E008985A7 /* ir_basic_block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_basic_block.h; sourceTree = ""; }; + 7558DE5118C67E0E008985A7 /* ir_builder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_builder.cpp; sourceTree = ""; }; + 7558DE5218C67E0E008985A7 /* ir_builder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_builder.h; sourceTree = ""; }; + 7558DE5318C67E0E008985A7 /* ir_clone.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_clone.cpp; sourceTree = ""; }; + 7558DE5418C67E0E008985A7 /* ir_constant_expression.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_constant_expression.cpp; sourceTree = ""; }; + 7558DE5518C67E0E008985A7 /* ir_expression_flattening.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_expression_flattening.cpp; sourceTree = ""; }; + 7558DE5618C67E0E008985A7 /* ir_expression_flattening.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_expression_flattening.h; sourceTree = ""; }; + 7558DE5718C67E0E008985A7 /* ir_function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_function.cpp; sourceTree = ""; }; + 7558DE5818C67E0E008985A7 /* ir_function_can_inline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_function_can_inline.cpp; sourceTree = ""; }; + 7558DE5918C67E0E008985A7 /* ir_function_detect_recursion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_function_detect_recursion.cpp; sourceTree = ""; }; + 7558DE5A18C67E0E008985A7 /* ir_function_inlining.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_function_inlining.h; sourceTree = ""; }; + 7558DE5B18C67E0E008985A7 /* ir_hierarchical_visitor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_hierarchical_visitor.cpp; sourceTree = ""; }; + 7558DE5C18C67E0E008985A7 /* ir_hierarchical_visitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_hierarchical_visitor.h; sourceTree = ""; }; + 7558DE5D18C67E0E008985A7 /* ir_hv_accept.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_hv_accept.cpp; sourceTree = ""; }; + 7558DE5E18C67E0E008985A7 /* ir_import_prototypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_import_prototypes.cpp; sourceTree = ""; }; + 7558DE5F18C67E0E008985A7 /* ir_optimization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_optimization.h; sourceTree = ""; }; + 7558DE6018C67E0E008985A7 /* ir_print_glsl_visitor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_print_glsl_visitor.cpp; sourceTree = ""; }; + 7558DE6118C67E0E008985A7 /* ir_print_glsl_visitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_print_glsl_visitor.h; sourceTree = ""; }; + 7558DE6218C67E0E008985A7 /* ir_print_visitor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_print_visitor.cpp; sourceTree = ""; }; + 7558DE6318C67E0E008985A7 /* ir_print_visitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_print_visitor.h; sourceTree = ""; }; + 7558DE6418C67E0E008985A7 /* ir_reader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_reader.cpp; sourceTree = ""; }; + 7558DE6518C67E0E008985A7 /* ir_reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_reader.h; sourceTree = ""; }; + 7558DE6618C67E0E008985A7 /* ir_rvalue_visitor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_rvalue_visitor.cpp; sourceTree = ""; }; + 7558DE6718C67E0E008985A7 /* ir_rvalue_visitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_rvalue_visitor.h; sourceTree = ""; }; + 7558DE6818C67E0E008985A7 /* ir_uniform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_uniform.h; sourceTree = ""; }; + 7558DE6918C67E0E008985A7 /* ir_unused_structs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_unused_structs.cpp; sourceTree = ""; }; + 7558DE6A18C67E0E008985A7 /* ir_unused_structs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_unused_structs.h; sourceTree = ""; }; + 7558DE6B18C67E0E008985A7 /* ir_validate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_validate.cpp; sourceTree = ""; }; + 7558DE6C18C67E0E008985A7 /* ir_variable_refcount.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ir_variable_refcount.cpp; sourceTree = ""; }; + 7558DE6D18C67E0E008985A7 /* ir_variable_refcount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_variable_refcount.h; sourceTree = ""; }; + 7558DE6E18C67E0E008985A7 /* ir_visitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ir_visitor.h; sourceTree = ""; }; + 7558DE6F18C67E0E008985A7 /* link_functions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = link_functions.cpp; sourceTree = ""; }; + 7558DE7018C67E0E008985A7 /* link_uniform_block_active_visitor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = link_uniform_block_active_visitor.cpp; sourceTree = ""; }; + 7558DE7118C67E0E008985A7 /* link_uniform_block_active_visitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = link_uniform_block_active_visitor.h; sourceTree = ""; }; + 7558DE7218C67E0E008985A7 /* link_uniform_blocks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = link_uniform_blocks.cpp; sourceTree = ""; }; + 7558DE7318C67E0E008985A7 /* link_uniform_initializers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = link_uniform_initializers.cpp; sourceTree = ""; }; + 7558DE7418C67E0E008985A7 /* link_uniforms.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = link_uniforms.cpp; sourceTree = ""; }; + 7558DE7518C67E0E008985A7 /* link_varyings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = link_varyings.cpp; sourceTree = ""; }; + 7558DE7618C67E0E008985A7 /* link_varyings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = link_varyings.h; sourceTree = ""; }; + 7558DE7718C67E0E008985A7 /* linker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = linker.cpp; sourceTree = ""; }; + 7558DE7818C67E0E008985A7 /* linker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linker.h; sourceTree = ""; }; + 7558DE7918C67E0E008985A7 /* list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = list.h; sourceTree = ""; }; + 7558DE7A18C67E0E008985A7 /* loop_analysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_analysis.cpp; sourceTree = ""; }; + 7558DE7B18C67E0E008985A7 /* loop_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loop_analysis.h; sourceTree = ""; }; + 7558DE7C18C67E0E008985A7 /* loop_controls.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_controls.cpp; sourceTree = ""; }; + 7558DE7D18C67E0E008985A7 /* loop_unroll.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loop_unroll.cpp; sourceTree = ""; }; + 7558DE7E18C67E0E008985A7 /* lower_clip_distance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_clip_distance.cpp; sourceTree = ""; }; + 7558DE7F18C67E0E008985A7 /* lower_discard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_discard.cpp; sourceTree = ""; }; + 7558DE8018C67E0E008985A7 /* lower_discard_flow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_discard_flow.cpp; sourceTree = ""; }; + 7558DE8118C67E0E008985A7 /* lower_if_to_cond_assign.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_if_to_cond_assign.cpp; sourceTree = ""; }; + 7558DE8218C67E0E008985A7 /* lower_instructions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_instructions.cpp; sourceTree = ""; }; + 7558DE8318C67E0E008985A7 /* lower_jumps.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_jumps.cpp; sourceTree = ""; }; + 7558DE8418C67E0E008985A7 /* lower_mat_op_to_vec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_mat_op_to_vec.cpp; sourceTree = ""; }; + 7558DE8518C67E0E008985A7 /* lower_noise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_noise.cpp; sourceTree = ""; }; + 7558DE8618C67E0E008985A7 /* lower_output_reads.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_output_reads.cpp; sourceTree = ""; }; + 7558DE8718C67E0F008985A7 /* lower_packed_varyings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_packed_varyings.cpp; sourceTree = ""; }; + 7558DE8818C67E0F008985A7 /* lower_packing_builtins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_packing_builtins.cpp; sourceTree = ""; }; + 7558DE8918C67E0F008985A7 /* lower_ubo_reference.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_ubo_reference.cpp; sourceTree = ""; }; + 7558DE8A18C67E0F008985A7 /* lower_variable_index_to_cond_assign.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_variable_index_to_cond_assign.cpp; sourceTree = ""; }; + 7558DE8B18C67E0F008985A7 /* lower_vec_index_to_cond_assign.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_vec_index_to_cond_assign.cpp; sourceTree = ""; }; + 7558DE8C18C67E0F008985A7 /* lower_vec_index_to_swizzle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_vec_index_to_swizzle.cpp; sourceTree = ""; }; + 7558DE8D18C67E0F008985A7 /* lower_vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lower_vector.cpp; sourceTree = ""; }; + 7558DE8E18C67E0F008985A7 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = ""; }; + 7558DE9018C67E0F008985A7 /* opt_algebraic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_algebraic.cpp; sourceTree = ""; }; + 7558DE9118C67E0F008985A7 /* opt_array_splitting.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_array_splitting.cpp; sourceTree = ""; }; + 7558DE9218C67E0F008985A7 /* opt_constant_folding.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_constant_folding.cpp; sourceTree = ""; }; + 7558DE9318C67E0F008985A7 /* opt_constant_propagation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_constant_propagation.cpp; sourceTree = ""; }; + 7558DE9418C67E0F008985A7 /* opt_constant_variable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_constant_variable.cpp; sourceTree = ""; }; + 7558DE9518C67E0F008985A7 /* opt_copy_propagation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_copy_propagation.cpp; sourceTree = ""; }; + 7558DE9618C67E0F008985A7 /* opt_copy_propagation_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_copy_propagation_elements.cpp; sourceTree = ""; }; + 7558DE9718C67E0F008985A7 /* opt_dead_code.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_dead_code.cpp; sourceTree = ""; }; + 7558DE9818C67E0F008985A7 /* opt_dead_code_local.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_dead_code_local.cpp; sourceTree = ""; }; + 7558DE9918C67E0F008985A7 /* opt_dead_functions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_dead_functions.cpp; sourceTree = ""; }; + 7558DE9A18C67E0F008985A7 /* opt_flatten_nested_if_blocks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_flatten_nested_if_blocks.cpp; sourceTree = ""; }; + 7558DE9B18C67E0F008985A7 /* opt_function_inlining.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_function_inlining.cpp; sourceTree = ""; }; + 7558DE9C18C67E0F008985A7 /* opt_if_simplification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_if_simplification.cpp; sourceTree = ""; }; + 7558DE9D18C67E0F008985A7 /* opt_noop_swizzle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_noop_swizzle.cpp; sourceTree = ""; }; + 7558DE9E18C67E0F008985A7 /* opt_redundant_jumps.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_redundant_jumps.cpp; sourceTree = ""; }; + 7558DE9F18C67E0F008985A7 /* opt_structure_splitting.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_structure_splitting.cpp; sourceTree = ""; }; + 7558DEA018C67E0F008985A7 /* opt_swizzle_swizzle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_swizzle_swizzle.cpp; sourceTree = ""; }; + 7558DEA118C67E0F008985A7 /* opt_tree_grafting.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opt_tree_grafting.cpp; sourceTree = ""; }; + 7558DEA218C67E0F008985A7 /* program.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = program.h; sourceTree = ""; }; + 7558DEA318C67E0F008985A7 /* ralloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ralloc.c; sourceTree = ""; }; + 7558DEA418C67E0F008985A7 /* ralloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ralloc.h; sourceTree = ""; }; + 7558DEA618C67E0F008985A7 /* s_expression.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = s_expression.cpp; sourceTree = ""; }; + 7558DEA718C67E0F008985A7 /* s_expression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = s_expression.h; sourceTree = ""; }; + 7558DEA918C67E0F008985A7 /* standalone_scaffolding.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = standalone_scaffolding.cpp; sourceTree = ""; }; + 7558DEAA18C67E0F008985A7 /* standalone_scaffolding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = standalone_scaffolding.h; sourceTree = ""; }; + 7558DEAB18C67E0F008985A7 /* strtod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtod.c; sourceTree = ""; }; + 7558DEAC18C67E0F008985A7 /* strtod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strtod.h; sourceTree = ""; }; + 7558DEB118C67E0F008985A7 /* compiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compiler.h; sourceTree = ""; }; + 7558DEB218C67E0F008985A7 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + 7558DEB318C67E0F008985A7 /* context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = context.h; sourceTree = ""; }; + 7558DEB418C67E0F008985A7 /* core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = core.h; sourceTree = ""; }; + 7558DEB518C67E0F008985A7 /* dd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dd.h; sourceTree = ""; }; + 7558DEB618C67E0F008985A7 /* glheader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glheader.h; sourceTree = ""; }; + 7558DEB718C67E0F008985A7 /* glminimal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glminimal.h; sourceTree = ""; }; + 7558DEB818C67E0F008985A7 /* hash_table.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hash_table.c; sourceTree = ""; }; + 7558DEB918C67E0F008985A7 /* hash_table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hash_table.h; sourceTree = ""; }; + 7558DEBA18C67E0F008985A7 /* imports.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = imports.c; sourceTree = ""; }; + 7558DEBB18C67E0F008985A7 /* imports.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imports.h; sourceTree = ""; }; + 7558DEBC18C67E0F008985A7 /* macros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macros.h; sourceTree = ""; }; + 7558DEBD18C67E0F008985A7 /* mtypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mtypes.h; sourceTree = ""; }; + 7558DEBE18C67E0F008985A7 /* set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = set.c; sourceTree = ""; }; + 7558DEBF18C67E0F008985A7 /* set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = set.h; sourceTree = ""; }; + 7558DEC018C67E0F008985A7 /* simple_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simple_list.h; sourceTree = ""; }; + 7558DEC318C67E0F008985A7 /* hash_table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hash_table.h; sourceTree = ""; }; + 7558DEC418C67E0F008985A7 /* prog_hash_table.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = prog_hash_table.c; sourceTree = ""; }; + 7558DEC518C67E0F008985A7 /* prog_instruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = prog_instruction.h; sourceTree = ""; }; + 7558DEC618C67E0F008985A7 /* prog_parameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = prog_parameter.h; sourceTree = ""; }; + 7558DEC718C67E0F008985A7 /* prog_statevars.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = prog_statevars.h; sourceTree = ""; }; + 7558DEC818C67E0F008985A7 /* symbol_table.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = symbol_table.c; sourceTree = ""; }; + 7558DEC918C67E0F008985A7 /* symbol_table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = symbol_table.h; sourceTree = ""; }; + 755DED8C18C692CA00B417E0 /* RegalDispatchHttp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatchHttp.cpp; path = ../../../src/regal/RegalDispatchHttp.cpp; sourceTree = ""; }; + 755DED8D18C692CA00B417E0 /* RegalDispatchHttp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalDispatchHttp.h; path = ../../../src/regal/RegalDispatchHttp.h; sourceTree = ""; }; + 755DED8E18C692CA00B417E0 /* RegalWebJs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalWebJs.h; path = ../../../src/regal/RegalWebJs.h; sourceTree = ""; }; + 755DED8F18C692CA00B417E0 /* stb_image_write.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = stb_image_write.h; path = ../../../src/regal/stb_image_write.h; sourceTree = ""; }; 75694C8C17EB913B00B8AD9D /* RegalQuads.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalQuads.cpp; path = ../../../src/regal/RegalQuads.cpp; sourceTree = ""; }; 75694C8D17EB913B00B8AD9D /* RegalQuads.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalQuads.h; path = ../../../src/regal/RegalQuads.h; sourceTree = ""; }; BC020946160D1919003FAB99 /* RegalMarker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalMarker.cpp; path = ../../../src/regal/RegalMarker.cpp; sourceTree = ""; }; @@ -357,8 +835,6 @@ BCDF6707178F179800EE9569 /* gltrace_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = gltrace_state.cpp; path = ../../../src/apitrace/wrappers/gltrace_state.cpp; sourceTree = ""; }; BCDF6708178F179800EE9569 /* gltrace.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = gltrace.hpp; path = ../../../src/apitrace/wrappers/gltrace.hpp; sourceTree = ""; }; BCDF6709178F179800EE9569 /* regaltrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = regaltrace.cpp; path = ../../../src/apitrace/wrappers/regaltrace.cpp; sourceTree = ""; }; - BCDF670A178F179800EE9569 /* trace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = trace.cpp; path = ../../../src/apitrace/wrappers/trace.cpp; sourceTree = ""; }; - BCDF670B178F179800EE9569 /* trace.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = trace.hpp; path = ../../../src/apitrace/wrappers/trace.hpp; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -401,8 +877,13 @@ 43FC5F4A15C4617A00D0177C /* Regal */ = { isa = PBXGroup; children = ( + 755DED8C18C692CA00B417E0 /* RegalDispatchHttp.cpp */, + 755DED8D18C692CA00B417E0 /* RegalDispatchHttp.h */, + 755DED8E18C692CA00B417E0 /* RegalWebJs.h */, + 755DED8F18C692CA00B417E0 /* stb_image_write.h */, + 7558DD6B18C67E0E008985A7 /* glsl */, + 7558DAE718C6795A008985A7 /* pcre */, BCDF66A5178F170800EE9569 /* apitrace */, - BCDF6697178F16E100EE9569 /* apitrace */, 43FC5F4B15C4619B00D0177C /* linear.h */, BC020956160D1C65003FAB99 /* md5 */, 43FC5FA515C461A100D0177C /* civetweb */, @@ -473,6 +954,7 @@ BC60A6B4170330700055437B /* RegalJson.cpp */, BC60A6B5170330700055437B /* RegalJson.h */, BC60A6B6170330700055437B /* RegalJson.inl */, + 435914F8182FF3A3002CB92C /* RegalLayerInfo.h */, 43FC5F6815C4619B00D0177C /* RegalLog.cpp */, 43FC5F6915C4619B00D0177C /* RegalLog.h */, 43FC5F6A15C4619B00D0177C /* RegalLookup.cpp */, @@ -497,6 +979,10 @@ 75694C8D17EB913B00B8AD9D /* RegalQuads.h */, BC59F9CE174809EE004BC2AC /* RegalRect.h */, BC59F9D5174809EE004BC2AC /* RegalScopedPtr.h */, + 435914F9182FF3A3002CB92C /* RegalShader.cpp */, + 435914FA182FF3A3002CB92C /* RegalShader.h */, + 435914FB182FF3A3002CB92C /* RegalShaderInstance.cpp */, + 435914FC182FF3A3002CB92C /* RegalShaderInstance.h */, BCBEC6EF167AD69D00B38E16 /* RegalSharedList.h */, BCBEC6F0167AD69D00B38E16 /* RegalSharedMap.h */, BCBEC6F1167AD69D00B38E16 /* RegalSharedPtr.h */, @@ -532,6 +1018,341 @@ name = civetweb; sourceTree = ""; }; + 7558DAE718C6795A008985A7 /* pcre */ = { + isa = PBXGroup; + children = ( + 7558DAE918C6795A008985A7 /* config.h */, + 7558DAEA18C6795A008985A7 /* dftables.c */, + 7558DAEC18C6795A008985A7 /* pcre.h */, + 7558DAED18C6795A008985A7 /* pcre16_byte_order.c */, + 7558DAEE18C6795A008985A7 /* pcre16_chartables.c */, + 7558DAEF18C6795A008985A7 /* pcre16_compile.c */, + 7558DAF018C6795A008985A7 /* pcre16_config.c */, + 7558DAF118C6795A008985A7 /* pcre16_dfa_exec.c */, + 7558DAF218C6795A008985A7 /* pcre16_exec.c */, + 7558DAF318C6795A008985A7 /* pcre16_fullinfo.c */, + 7558DAF418C6795A008985A7 /* pcre16_get.c */, + 7558DAF518C6795A008985A7 /* pcre16_globals.c */, + 7558DAF618C6795A008985A7 /* pcre16_jit_compile.c */, + 7558DAF718C6795A008985A7 /* pcre16_maketables.c */, + 7558DAF818C6795A008985A7 /* pcre16_newline.c */, + 7558DAF918C6795A008985A7 /* pcre16_ord2utf16.c */, + 7558DAFA18C6795A008985A7 /* pcre16_printint.c */, + 7558DAFB18C6795A008985A7 /* pcre16_refcount.c */, + 7558DAFC18C6795A008985A7 /* pcre16_string_utils.c */, + 7558DAFD18C6795A008985A7 /* pcre16_study.c */, + 7558DAFE18C6795A008985A7 /* pcre16_tables.c */, + 7558DAFF18C6795A008985A7 /* pcre16_ucd.c */, + 7558DB0018C6795A008985A7 /* pcre16_utf16_utils.c */, + 7558DB0118C6795A008985A7 /* pcre16_valid_utf16.c */, + 7558DB0218C6795A008985A7 /* pcre16_version.c */, + 7558DB0318C6795A008985A7 /* pcre16_xclass.c */, + 7558DB0418C6795A008985A7 /* pcre32_byte_order.c */, + 7558DB0518C6795A008985A7 /* pcre32_chartables.c */, + 7558DB0618C6795A008985A7 /* pcre32_compile.c */, + 7558DB0718C6795A008985A7 /* pcre32_config.c */, + 7558DB0818C6795A008985A7 /* pcre32_dfa_exec.c */, + 7558DB0918C6795A008985A7 /* pcre32_exec.c */, + 7558DB0A18C6795A008985A7 /* pcre32_fullinfo.c */, + 7558DB0B18C6795A008985A7 /* pcre32_get.c */, + 7558DB0C18C6795A008985A7 /* pcre32_globals.c */, + 7558DB0D18C6795A008985A7 /* pcre32_jit_compile.c */, + 7558DB0E18C6795A008985A7 /* pcre32_maketables.c */, + 7558DB0F18C6795A008985A7 /* pcre32_newline.c */, + 7558DB1018C6795A008985A7 /* pcre32_ord2utf32.c */, + 7558DB1118C6795A008985A7 /* pcre32_printint.c */, + 7558DB1218C6795A008985A7 /* pcre32_refcount.c */, + 7558DB1318C6795A008985A7 /* pcre32_string_utils.c */, + 7558DB1418C6795A008985A7 /* pcre32_study.c */, + 7558DB1518C6795A008985A7 /* pcre32_tables.c */, + 7558DB1618C6795A008985A7 /* pcre32_ucd.c */, + 7558DB1718C6795A008985A7 /* pcre32_utf32_utils.c */, + 7558DB1818C6795A008985A7 /* pcre32_valid_utf32.c */, + 7558DB1918C6795A008985A7 /* pcre32_version.c */, + 7558DB1A18C6795A008985A7 /* pcre32_xclass.c */, + 7558DB1B18C6795A008985A7 /* pcre_byte_order.c */, + 7558DB1C18C6795A008985A7 /* pcre_chartables.c */, + 7558DB1D18C6795A008985A7 /* pcre_compile.c */, + 7558DB1E18C6795A008985A7 /* pcre_config.c */, + 7558DB1F18C6795A008985A7 /* pcre_dfa_exec.c */, + 7558DB2018C6795A008985A7 /* pcre_exec.c */, + 7558DB2118C6795A008985A7 /* pcre_fullinfo.c */, + 7558DB2218C6795A008985A7 /* pcre_get.c */, + 7558DB2318C6795A008985A7 /* pcre_globals.c */, + 7558DB2418C6795A008985A7 /* pcre_internal.h */, + 7558DB2518C6795A008985A7 /* pcre_jit_compile.c */, + 7558DB2618C6795A008985A7 /* pcre_jit_test.c */, + 7558DB2718C6795A008985A7 /* pcre_maketables.c */, + 7558DB2818C6795A008985A7 /* pcre_newline.c */, + 7558DB2918C6795A008985A7 /* pcre_ord2utf8.c */, + 7558DB2A18C6795A008985A7 /* pcre_printint.c */, + 7558DB2B18C6795A008985A7 /* pcre_refcount.c */, + 7558DB2C18C6795A008985A7 /* pcre_scanner.h */, + 7558DB2D18C6795A008985A7 /* pcre_string_utils.c */, + 7558DB2E18C6795A008985A7 /* pcre_study.c */, + 7558DB2F18C6795A008985A7 /* pcre_tables.c */, + 7558DB3018C6795A008985A7 /* pcre_ucd.c */, + 7558DB3118C6795A008985A7 /* pcre_valid_utf8.c */, + 7558DB3218C6795A008985A7 /* pcre_version.c */, + 7558DB3318C6795A008985A7 /* pcre_xclass.c */, + 7558DB3418C6795A008985A7 /* pcrecpp.h */, + 7558DB3518C6795A008985A7 /* pcrecpp_internal.h */, + 7558DB3618C6795A008985A7 /* pcredemo.c */, + 7558DB3718C6795A008985A7 /* pcregrep.c */, + 7558DB3818C6795A008985A7 /* pcreposix.c */, + 7558DB3918C6795A008985A7 /* pcreposix.h */, + 7558DB3A18C6795A008985A7 /* pcretest.c */, + 7558DB3C18C6795A008985A7 /* ucp.h */, + ); + name = pcre; + path = ../../../src/pcre; + sourceTree = ""; + }; + 7558DD6B18C67E0E008985A7 /* glsl */ = { + isa = PBXGroup; + children = ( + 7558DD7618C67E0E008985A7 /* include */, + 7558DD9A18C67E0E008985A7 /* regal */, + 7558DD9E18C67E0E008985A7 /* src */, + ); + name = glsl; + path = ../../../src/glsl; + sourceTree = ""; + }; + 7558DD7618C67E0E008985A7 /* include */ = { + isa = PBXGroup; + children = ( + 7558DD7718C67E0E008985A7 /* c99 */, + 7558DD7B18C67E0E008985A7 /* c99_compat.h */, + ); + path = include; + sourceTree = ""; + }; + 7558DD7718C67E0E008985A7 /* c99 */ = { + isa = PBXGroup; + children = ( + 7558DD7918C67E0E008985A7 /* stdbool.h */, + ); + path = c99; + sourceTree = ""; + }; + 7558DD9A18C67E0E008985A7 /* regal */ = { + isa = PBXGroup; + children = ( + 7558DD9B18C67E0E008985A7 /* regal_glsl.cpp */, + 7558DD9C18C67E0E008985A7 /* regal_glsl.h */, + ); + path = regal; + sourceTree = ""; + }; + 7558DD9E18C67E0E008985A7 /* src */ = { + isa = PBXGroup; + children = ( + 7558DD9F18C67E0E008985A7 /* getopt */, + 7558DDA318C67E0E008985A7 /* glsl */, + 7558DEAE18C67E0F008985A7 /* mesa */, + ); + path = src; + sourceTree = ""; + }; + 7558DD9F18C67E0E008985A7 /* getopt */ = { + isa = PBXGroup; + children = ( + 7558DDA018C67E0E008985A7 /* getopt.h */, + 7558DDA118C67E0E008985A7 /* getopt_long.c */, + ); + path = getopt; + sourceTree = ""; + }; + 7558DDA318C67E0E008985A7 /* glsl */ = { + isa = PBXGroup; + children = ( + 7558DDA618C67E0E008985A7 /* ast.h */, + 7558DDA718C67E0E008985A7 /* ast_array_index.cpp */, + 7558DDA818C67E0E008985A7 /* ast_expr.cpp */, + 7558DDA918C67E0E008985A7 /* ast_function.cpp */, + 7558DDAA18C67E0E008985A7 /* ast_to_hir.cpp */, + 7558DDAB18C67E0E008985A7 /* ast_type.cpp */, + 7558DDAC18C67E0E008985A7 /* builtin_compiler */, + 7558DDAF18C67E0E008985A7 /* builtin_function.cpp */, + 7558DDB018C67E0E008985A7 /* builtin_types.h */, + 7558DDB118C67E0E008985A7 /* builtin_variables.cpp */, + 7558DE3318C67E0E008985A7 /* glcpp */, + 7558DE3E18C67E0E008985A7 /* glsl_lexer.cpp */, + 7558DE4018C67E0E008985A7 /* glsl_optimizer.cpp */, + 7558DE4118C67E0E008985A7 /* glsl_optimizer.h */, + 7558DE4218C67E0E008985A7 /* glsl_parser.cpp */, + 7558DE4318C67E0E008985A7 /* glsl_parser.h */, + 7558DE4618C67E0E008985A7 /* glsl_parser_extras.cpp */, + 7558DE4718C67E0E008985A7 /* glsl_parser_extras.h */, + 7558DE4818C67E0E008985A7 /* glsl_symbol_table.cpp */, + 7558DE4918C67E0E008985A7 /* glsl_symbol_table.h */, + 7558DE4A18C67E0E008985A7 /* glsl_types.cpp */, + 7558DE4B18C67E0E008985A7 /* glsl_types.h */, + 7558DE4C18C67E0E008985A7 /* hir_field_selection.cpp */, + 7558DE4D18C67E0E008985A7 /* ir.cpp */, + 7558DE4E18C67E0E008985A7 /* ir.h */, + 7558DE4F18C67E0E008985A7 /* ir_basic_block.cpp */, + 7558DE5018C67E0E008985A7 /* ir_basic_block.h */, + 7558DE5118C67E0E008985A7 /* ir_builder.cpp */, + 7558DE5218C67E0E008985A7 /* ir_builder.h */, + 7558DE5318C67E0E008985A7 /* ir_clone.cpp */, + 7558DE5418C67E0E008985A7 /* ir_constant_expression.cpp */, + 7558DE5518C67E0E008985A7 /* ir_expression_flattening.cpp */, + 7558DE5618C67E0E008985A7 /* ir_expression_flattening.h */, + 7558DE5718C67E0E008985A7 /* ir_function.cpp */, + 7558DE5818C67E0E008985A7 /* ir_function_can_inline.cpp */, + 7558DE5918C67E0E008985A7 /* ir_function_detect_recursion.cpp */, + 7558DE5A18C67E0E008985A7 /* ir_function_inlining.h */, + 7558DE5B18C67E0E008985A7 /* ir_hierarchical_visitor.cpp */, + 7558DE5C18C67E0E008985A7 /* ir_hierarchical_visitor.h */, + 7558DE5D18C67E0E008985A7 /* ir_hv_accept.cpp */, + 7558DE5E18C67E0E008985A7 /* ir_import_prototypes.cpp */, + 7558DE5F18C67E0E008985A7 /* ir_optimization.h */, + 7558DE6018C67E0E008985A7 /* ir_print_glsl_visitor.cpp */, + 7558DE6118C67E0E008985A7 /* ir_print_glsl_visitor.h */, + 7558DE6218C67E0E008985A7 /* ir_print_visitor.cpp */, + 7558DE6318C67E0E008985A7 /* ir_print_visitor.h */, + 7558DE6418C67E0E008985A7 /* ir_reader.cpp */, + 7558DE6518C67E0E008985A7 /* ir_reader.h */, + 7558DE6618C67E0E008985A7 /* ir_rvalue_visitor.cpp */, + 7558DE6718C67E0E008985A7 /* ir_rvalue_visitor.h */, + 7558DE6818C67E0E008985A7 /* ir_uniform.h */, + 7558DE6918C67E0E008985A7 /* ir_unused_structs.cpp */, + 7558DE6A18C67E0E008985A7 /* ir_unused_structs.h */, + 7558DE6B18C67E0E008985A7 /* ir_validate.cpp */, + 7558DE6C18C67E0E008985A7 /* ir_variable_refcount.cpp */, + 7558DE6D18C67E0E008985A7 /* ir_variable_refcount.h */, + 7558DE6E18C67E0E008985A7 /* ir_visitor.h */, + 7558DE6F18C67E0E008985A7 /* link_functions.cpp */, + 7558DE7018C67E0E008985A7 /* link_uniform_block_active_visitor.cpp */, + 7558DE7118C67E0E008985A7 /* link_uniform_block_active_visitor.h */, + 7558DE7218C67E0E008985A7 /* link_uniform_blocks.cpp */, + 7558DE7318C67E0E008985A7 /* link_uniform_initializers.cpp */, + 7558DE7418C67E0E008985A7 /* link_uniforms.cpp */, + 7558DE7518C67E0E008985A7 /* link_varyings.cpp */, + 7558DE7618C67E0E008985A7 /* link_varyings.h */, + 7558DE7718C67E0E008985A7 /* linker.cpp */, + 7558DE7818C67E0E008985A7 /* linker.h */, + 7558DE7918C67E0E008985A7 /* list.h */, + 7558DE7A18C67E0E008985A7 /* loop_analysis.cpp */, + 7558DE7B18C67E0E008985A7 /* loop_analysis.h */, + 7558DE7C18C67E0E008985A7 /* loop_controls.cpp */, + 7558DE7D18C67E0E008985A7 /* loop_unroll.cpp */, + 7558DE7E18C67E0E008985A7 /* lower_clip_distance.cpp */, + 7558DE7F18C67E0E008985A7 /* lower_discard.cpp */, + 7558DE8018C67E0E008985A7 /* lower_discard_flow.cpp */, + 7558DE8118C67E0E008985A7 /* lower_if_to_cond_assign.cpp */, + 7558DE8218C67E0E008985A7 /* lower_instructions.cpp */, + 7558DE8318C67E0E008985A7 /* lower_jumps.cpp */, + 7558DE8418C67E0E008985A7 /* lower_mat_op_to_vec.cpp */, + 7558DE8518C67E0E008985A7 /* lower_noise.cpp */, + 7558DE8618C67E0E008985A7 /* lower_output_reads.cpp */, + 7558DE8718C67E0F008985A7 /* lower_packed_varyings.cpp */, + 7558DE8818C67E0F008985A7 /* lower_packing_builtins.cpp */, + 7558DE8918C67E0F008985A7 /* lower_ubo_reference.cpp */, + 7558DE8A18C67E0F008985A7 /* lower_variable_index_to_cond_assign.cpp */, + 7558DE8B18C67E0F008985A7 /* lower_vec_index_to_cond_assign.cpp */, + 7558DE8C18C67E0F008985A7 /* lower_vec_index_to_swizzle.cpp */, + 7558DE8D18C67E0F008985A7 /* lower_vector.cpp */, + 7558DE8E18C67E0F008985A7 /* main.cpp */, + 7558DE9018C67E0F008985A7 /* opt_algebraic.cpp */, + 7558DE9118C67E0F008985A7 /* opt_array_splitting.cpp */, + 7558DE9218C67E0F008985A7 /* opt_constant_folding.cpp */, + 7558DE9318C67E0F008985A7 /* opt_constant_propagation.cpp */, + 7558DE9418C67E0F008985A7 /* opt_constant_variable.cpp */, + 7558DE9518C67E0F008985A7 /* opt_copy_propagation.cpp */, + 7558DE9618C67E0F008985A7 /* opt_copy_propagation_elements.cpp */, + 7558DE9718C67E0F008985A7 /* opt_dead_code.cpp */, + 7558DE9818C67E0F008985A7 /* opt_dead_code_local.cpp */, + 7558DE9918C67E0F008985A7 /* opt_dead_functions.cpp */, + 7558DE9A18C67E0F008985A7 /* opt_flatten_nested_if_blocks.cpp */, + 7558DE9B18C67E0F008985A7 /* opt_function_inlining.cpp */, + 7558DE9C18C67E0F008985A7 /* opt_if_simplification.cpp */, + 7558DE9D18C67E0F008985A7 /* opt_noop_swizzle.cpp */, + 7558DE9E18C67E0F008985A7 /* opt_redundant_jumps.cpp */, + 7558DE9F18C67E0F008985A7 /* opt_structure_splitting.cpp */, + 7558DEA018C67E0F008985A7 /* opt_swizzle_swizzle.cpp */, + 7558DEA118C67E0F008985A7 /* opt_tree_grafting.cpp */, + 7558DEA218C67E0F008985A7 /* program.h */, + 7558DEA318C67E0F008985A7 /* ralloc.c */, + 7558DEA418C67E0F008985A7 /* ralloc.h */, + 7558DEA618C67E0F008985A7 /* s_expression.cpp */, + 7558DEA718C67E0F008985A7 /* s_expression.h */, + 7558DEA918C67E0F008985A7 /* standalone_scaffolding.cpp */, + 7558DEAA18C67E0F008985A7 /* standalone_scaffolding.h */, + 7558DEAB18C67E0F008985A7 /* strtod.c */, + 7558DEAC18C67E0F008985A7 /* strtod.h */, + ); + path = glsl; + sourceTree = ""; + }; + 7558DDAC18C67E0E008985A7 /* builtin_compiler */ = { + isa = PBXGroup; + children = ( + 7558DDAE18C67E0E008985A7 /* builtin_stubs.cpp */, + ); + path = builtin_compiler; + sourceTree = ""; + }; + 7558DE3318C67E0E008985A7 /* glcpp */ = { + isa = PBXGroup; + children = ( + 7558DE3518C67E0E008985A7 /* glcpp-lex.c */, + 7558DE3718C67E0E008985A7 /* glcpp-parse.c */, + 7558DE3818C67E0E008985A7 /* glcpp-parse.h */, + 7558DE3B18C67E0E008985A7 /* glcpp.h */, + 7558DE3C18C67E0E008985A7 /* pp.c */, + ); + path = glcpp; + sourceTree = ""; + }; + 7558DEAE18C67E0F008985A7 /* mesa */ = { + isa = PBXGroup; + children = ( + 7558DEAF18C67E0F008985A7 /* main */, + 7558DEC118C67E0F008985A7 /* program */, + ); + path = mesa; + sourceTree = ""; + }; + 7558DEAF18C67E0F008985A7 /* main */ = { + isa = PBXGroup; + children = ( + 7558DEB118C67E0F008985A7 /* compiler.h */, + 7558DEB218C67E0F008985A7 /* config.h */, + 7558DEB318C67E0F008985A7 /* context.h */, + 7558DEB418C67E0F008985A7 /* core.h */, + 7558DEB518C67E0F008985A7 /* dd.h */, + 7558DEB618C67E0F008985A7 /* glheader.h */, + 7558DEB718C67E0F008985A7 /* glminimal.h */, + 7558DEB818C67E0F008985A7 /* hash_table.c */, + 7558DEB918C67E0F008985A7 /* hash_table.h */, + 7558DEBA18C67E0F008985A7 /* imports.c */, + 7558DEBB18C67E0F008985A7 /* imports.h */, + 7558DEBC18C67E0F008985A7 /* macros.h */, + 7558DEBD18C67E0F008985A7 /* mtypes.h */, + 7558DEBE18C67E0F008985A7 /* set.c */, + 7558DEBF18C67E0F008985A7 /* set.h */, + 7558DEC018C67E0F008985A7 /* simple_list.h */, + ); + path = main; + sourceTree = ""; + }; + 7558DEC118C67E0F008985A7 /* program */ = { + isa = PBXGroup; + children = ( + 7558DEC318C67E0F008985A7 /* hash_table.h */, + 7558DEC418C67E0F008985A7 /* prog_hash_table.c */, + 7558DEC518C67E0F008985A7 /* prog_instruction.h */, + 7558DEC618C67E0F008985A7 /* prog_parameter.h */, + 7558DEC718C67E0F008985A7 /* prog_statevars.h */, + 7558DEC818C67E0F008985A7 /* symbol_table.c */, + 7558DEC918C67E0F008985A7 /* symbol_table.h */, + ); + path = program; + sourceTree = ""; + }; BC020956160D1C65003FAB99 /* md5 */ = { isa = PBXGroup; children = ( @@ -540,13 +1361,6 @@ name = md5; sourceTree = ""; }; - BCDF6697178F16E100EE9569 /* apitrace */ = { - isa = PBXGroup; - children = ( - ); - name = apitrace; - sourceTree = ""; - }; BCDF6698178F16E900EE9569 /* snappy */ = { isa = PBXGroup; children = ( @@ -584,8 +1398,6 @@ BCDF66AE178F172A00EE9569 /* os_time.hpp */, BCDF66AF178F172A00EE9569 /* os_win32.cpp */, BCDF6709178F179800EE9569 /* regaltrace.cpp */, - BCDF670A178F179800EE9569 /* trace.cpp */, - BCDF670B178F179800EE9569 /* trace.hpp */, BCDF66B1178F172A00EE9569 /* trace_api.hpp */, BCDF66B4178F172A00EE9569 /* trace_callset.cpp */, BCDF66B5178F172A00EE9569 /* trace_callset.hpp */, @@ -629,55 +1441,89 @@ files = ( 43FC5F7815C4619B00D0177C /* linear.h in Headers */, 43FC5F7A15C4619B00D0177C /* RegalBin.h in Headers */, + 7558DF6518C67E0F008985A7 /* strtod.h in Headers */, 43FC5F7C15C4619B00D0177C /* RegalConfig.h in Headers */, + 7558DF0018C67E0F008985A7 /* glsl_parser.h in Headers */, 43FC5F7E15C4619B00D0177C /* RegalContext.h in Headers */, + 7558DF7A18C67E0F008985A7 /* prog_statevars.h in Headers */, 43FC5F8015C4619B00D0177C /* RegalContextInfo.h in Headers */, + 7558DED118C67E0F008985A7 /* regal_glsl.h in Headers */, 43FC5F8115C4619B00D0177C /* RegalDebugInfo.h in Headers */, 43FC5F8215C4619B00D0177C /* RegalDispatch.h in Headers */, + 7558DF6318C67E0F008985A7 /* standalone_scaffolding.h in Headers */, 43FC5F8615C4619B00D0177C /* RegalDispatchError.h in Headers */, 43FC5F8B15C4619B00D0177C /* RegalDsa.h in Headers */, 43FC5F8C15C4619B00D0177C /* RegalEmu.h in Headers */, + 7558DECF18C67E0F008985A7 /* c99_compat.h in Headers */, 43FC5F8E15C4619B00D0177C /* RegalHelper.h in Headers */, 43FC5F9015C4619B00D0177C /* RegalHttp.h in Headers */, 43FC5F9215C4619B00D0177C /* RegalIff.h in Headers */, 43FC5F9415C4619B00D0177C /* RegalInit.h in Headers */, + 7558DED418C67E0F008985A7 /* ast.h in Headers */, + 7558DF6718C67E0F008985A7 /* config.h in Headers */, + 7558DF6818C67E0F008985A7 /* context.h in Headers */, 43FC5F9615C4619B00D0177C /* RegalLog.h in Headers */, 43FC5F9815C4619B00D0177C /* RegalLookup.h in Headers */, 43FC5F9915C4619B00D0177C /* RegalMarker.h in Headers */, 43FC5F9A15C4619B00D0177C /* RegalObj.h in Headers */, 43FC5F9B15C4619B00D0177C /* RegalPpa.h in Headers */, + 7558DEFE18C67E0F008985A7 /* glsl_optimizer.h in Headers */, + 7558DEDC18C67E0F008985A7 /* builtin_types.h in Headers */, 43FC5F9D15C4619B00D0177C /* RegalPrecompile.h in Headers */, 43FC5F9E15C4619B00D0177C /* RegalPrivate.h in Headers */, + 755DED9118C692CA00B417E0 /* RegalDispatchHttp.h in Headers */, 43FC5F9F15C4619B00D0177C /* RegalState.h in Headers */, + 7558DF6C18C67E0F008985A7 /* glminimal.h in Headers */, + 755DED9318C692CA00B417E0 /* stb_image_write.h in Headers */, 43FC5FA115C4619B00D0177C /* RegalToken.h in Headers */, 43FC5FA315C4619B00D0177C /* RegalUtil.h in Headers */, + 7558DB3D18C6795A008985A7 /* config.h in Headers */, + 7558DF7518C67E0F008985A7 /* simple_list.h in Headers */, 43FC5FA415C4619B00D0177C /* RegalVao.h in Headers */, 4366EEEE15C9B54E00211205 /* RegalEnum.h in Headers */, + 7558DB8E18C6795A008985A7 /* ucp.h in Headers */, 4366EEF015C9B54E00211205 /* RegalFavicon.h in Headers */, 43EFD6FA15EAADAC004080CE /* RegalDispatcher.h in Headers */, + 7558DF1E18C67E0F008985A7 /* ir_print_visitor.h in Headers */, 43EFD6FD15EAADAC004080CE /* RegalSystem.h in Headers */, + 7558DF6118C67E0F008985A7 /* s_expression.h in Headers */, + 7558DF7618C67E0F008985A7 /* hash_table.h in Headers */, + 7558DEF918C67E0F008985A7 /* glcpp.h in Headers */, + 7558DF6A18C67E0F008985A7 /* dd.h in Headers */, BC640CA516554AA4007DEF69 /* RegalFrame.h in Headers */, BCBEC6F4167AD69D00B38E16 /* RegalPush.h in Headers */, BCBEC6F7167AD69D00B38E16 /* RegalSharedList.h in Headers */, BCBEC6F8167AD69D00B38E16 /* RegalSharedMap.h in Headers */, BCBEC6F9167AD69D00B38E16 /* RegalSharedPtr.h in Headers */, + 7558DF7018C67E0F008985A7 /* imports.h in Headers */, BCBEC6FB167AD69D00B38E16 /* RegalSo.h in Headers */, BC94B99016DFDD6D00116D55 /* RegalBreak.h in Headers */, BC94B99416DFDDA000116D55 /* RegalFilt.h in Headers */, + 7558DF7218C67E0F008985A7 /* mtypes.h in Headers */, + 7558DF7818C67E0F008985A7 /* prog_instruction.h in Headers */, BC3209D516F3A0E600D1A9E0 /* RegalCacheShader.h in Headers */, + 7558DF7918C67E0F008985A7 /* prog_parameter.h in Headers */, BC3209D716F3A0E600D1A9E0 /* RegalCacheTexture.h in Headers */, BC59F9DB174809EE004BC2AC /* RegalBaseVertex.h in Headers */, BC59F9DC174809EE004BC2AC /* RegalMutex.h in Headers */, + 7558DF7C18C67E0F008985A7 /* symbol_table.h in Headers */, BC59F9DE174809EE004BC2AC /* RegalPpca.h in Headers */, BC59F9DF174809EE004BC2AC /* RegalRect.h in Headers */, + 7558DF2818C67E0F008985A7 /* ir_variable_refcount.h in Headers */, BC59F9E0174809EE004BC2AC /* RegalTexC.h in Headers */, + 7558DB7F18C6795A008985A7 /* pcre_scanner.h in Headers */, + 7558DF3418C67E0F008985A7 /* list.h in Headers */, BC59F9E1174809EE004BC2AC /* RegalTexSto.h in Headers */, BC59F9E2174809EE004BC2AC /* RegalThread.h in Headers */, BC59F9E3174809EE004BC2AC /* RegalTimer.h in Headers */, + 7558DF0218C67E0F008985A7 /* glsl_parser_extras.h in Headers */, BC59F9E4174809EE004BC2AC /* RegalMac.h in Headers */, BC59F9E5174809EE004BC2AC /* RegalPixelConversions.h in Headers */, BC59F9E6174809EE004BC2AC /* RegalScopedPtr.h in Headers */, BC59F9E7174809EE004BC2AC /* RegalXfer.h in Headers */, + 7558DF1718C67E0F008985A7 /* ir_hierarchical_visitor.h in Headers */, + 7558DF2318C67E0F008985A7 /* ir_uniform.h in Headers */, + 7558DF6E18C67E0F008985A7 /* hash_table.h in Headers */, BC59F9E8174809EE004BC2AC /* RegalFloat4.h in Headers */, BCBF184B175EBB3000CB653A /* RegalDispatcherGL.h in Headers */, BCBF184D175EBB3000CB653A /* RegalDispatcherGlobal.h in Headers */, @@ -686,38 +1532,74 @@ BCDF66A2178F170300EE9569 /* snappy-sinksource.h in Headers */, BCDF66A4178F170300EE9569 /* snappy.h in Headers */, BCDF66D2178F172A00EE9569 /* formatter.hpp in Headers */, + 7558DF2518C67E0F008985A7 /* ir_unused_structs.h in Headers */, + 7558DF2918C67E0F008985A7 /* ir_visitor.h in Headers */, + 7558DECD18C67E0F008985A7 /* stdbool.h in Headers */, + 7558DF2C18C67E0F008985A7 /* link_uniform_block_active_visitor.h in Headers */, BCDF66D3178F172A00EE9569 /* os_binary.hpp in Headers */, + 7558DB7718C6795A008985A7 /* pcre_internal.h in Headers */, + 7558DF5F18C67E0F008985A7 /* ralloc.h in Headers */, BCDF66D4178F172A00EE9569 /* os_dl.hpp in Headers */, + 7558DF0618C67E0F008985A7 /* glsl_types.h in Headers */, + 7558DF3318C67E0F008985A7 /* linker.h in Headers */, + 7558DF0B18C67E0F008985A7 /* ir_basic_block.h in Headers */, + 7558DF0418C67E0F008985A7 /* glsl_symbol_table.h in Headers */, + 755DED9218C692CA00B417E0 /* RegalWebJs.h in Headers */, BCDF66D5178F172A00EE9569 /* os_memory.hpp in Headers */, BCDF66D7178F172A00EE9569 /* os_process.hpp in Headers */, + 7558DF0918C67E0F008985A7 /* ir.h in Headers */, BCDF66D8178F172A00EE9569 /* os_string.hpp in Headers */, BCDF66D9178F172A00EE9569 /* os_thread.hpp in Headers */, BCDF66DA178F172A00EE9569 /* os_time.hpp in Headers */, + 7558DF6B18C67E0F008985A7 /* glheader.h in Headers */, + 7558DF6918C67E0F008985A7 /* core.h in Headers */, BCDF66DC178F172A00EE9569 /* os.hpp in Headers */, BCDF66DD178F172A00EE9569 /* trace_api.hpp in Headers */, BCDF66E1178F172A00EE9569 /* trace_callset.hpp in Headers */, + 7558DB3F18C6795A008985A7 /* pcre.h in Headers */, BCDF66E3178F172A00EE9569 /* trace_dump.hpp in Headers */, BCDF66E5178F172A00EE9569 /* trace_fast_callset.hpp in Headers */, + 7558DF2018C67E0F008985A7 /* ir_reader.h in Headers */, BCDF66EB178F172A00EE9569 /* trace_file.hpp in Headers */, BCDF66EC178F172A00EE9569 /* trace_format.hpp in Headers */, + 7558DB8818C6795A008985A7 /* pcrecpp_internal.h in Headers */, + 7558DF1518C67E0F008985A7 /* ir_function_inlining.h in Headers */, + 7558DF2218C67E0F008985A7 /* ir_rvalue_visitor.h in Headers */, + 7558DB8718C6795A008985A7 /* pcrecpp.h in Headers */, + 7558DF1A18C67E0F008985A7 /* ir_optimization.h in Headers */, + 7558DEF718C67E0F008985A7 /* glcpp-parse.h in Headers */, BCDF66EE178F172A00EE9569 /* trace_loader.hpp in Headers */, + 7558DF3618C67E0F008985A7 /* loop_analysis.h in Headers */, BCDF66EF178F172A00EE9569 /* trace_lookup.hpp in Headers */, BCDF66F1178F172A00EE9569 /* trace_model.hpp in Headers */, BCDF66F3178F172A00EE9569 /* trace_option.hpp in Headers */, + 7558DF6618C67E0F008985A7 /* compiler.h in Headers */, BCDF66F6178F172A00EE9569 /* trace_parser.hpp in Headers */, + 7558DF1C18C67E0F008985A7 /* ir_print_glsl_visitor.h in Headers */, + 7558DED218C67E0F008985A7 /* getopt.h in Headers */, BCDF66F8178F172A00EE9569 /* trace_profiler.hpp in Headers */, BCDF66FB178F172A00EE9569 /* trace_writer_regal.hpp in Headers */, BCDF66FD178F172A00EE9569 /* trace_writer.hpp in Headers */, BCDF6704178F176300EE9569 /* eglsize.hpp in Headers */, BCDF6705178F176300EE9569 /* glsize.hpp in Headers */, + 7558DF0D18C67E0F008985A7 /* ir_builder.h in Headers */, BCDF670E178F179800EE9569 /* gltrace.hpp in Headers */, + 7558DF3118C67E0F008985A7 /* link_varyings.h in Headers */, BCDF6711178F179800EE9569 /* trace.hpp in Headers */, BCBA1FD717DF848800CB6E19 /* RegalEmuInfo.h in Headers */, BCBA1FD817DF848800CB6E19 /* RegalClientState.h in Headers */, BCBA1FD917DF848800CB6E19 /* RegalHint.h in Headers */, + 7558DF7418C67E0F008985A7 /* set.h in Headers */, BCBA1FDB17DF848800CB6E19 /* RegalNamespace.h in Headers */, + 7558DF1118C67E0F008985A7 /* ir_expression_flattening.h in Headers */, + 7558DF5D18C67E0F008985A7 /* program.h in Headers */, 75694C8F17EB913B00B8AD9D /* RegalQuads.h in Headers */, BC4935041804FD53004385CA /* os_backtrace.hpp in Headers */, + 7558DF7118C67E0F008985A7 /* macros.h in Headers */, + 435914FD182FF3A3002CB92C /* RegalLayerInfo.h in Headers */, + 435914FF182FF3A3002CB92C /* RegalShader.h in Headers */, + 43591501182FF3A3002CB92C /* RegalShaderInstance.h in Headers */, + 7558DB8C18C6795A008985A7 /* pcreposix.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -772,86 +1654,256 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7558DF1218C67E0F008985A7 /* ir_function.cpp in Sources */, + 7558DB4C18C6795A008985A7 /* pcre16_ord2utf16.c in Sources */, + 7558DF2F18C67E0F008985A7 /* link_uniforms.cpp in Sources */, + 7558DF0718C67E0F008985A7 /* hir_field_selection.cpp in Sources */, 43FC5F7915C4619B00D0177C /* Regal.cpp in Sources */, + 7558DF5918C67E0F008985A7 /* opt_redundant_jumps.cpp in Sources */, + 7558DF4918C67E0F008985A7 /* main.cpp in Sources */, 43FC5F7B15C4619B00D0177C /* RegalConfig.cpp in Sources */, + 7558DF5418C67E0F008985A7 /* opt_dead_functions.cpp in Sources */, 43FC5F7D15C4619B00D0177C /* RegalContext.cpp in Sources */, + 7558DB5B18C6795A008985A7 /* pcre32_dfa_exec.c in Sources */, 43FC5F7F15C4619B00D0177C /* RegalContextInfo.cpp in Sources */, + 7558DB8218C6795A008985A7 /* pcre_tables.c in Sources */, + 7558DED518C67E0F008985A7 /* ast_array_index.cpp in Sources */, 43FC5F8315C4619B00D0177C /* RegalDispatchDebug.cpp in Sources */, + 7558DF0A18C67E0F008985A7 /* ir_basic_block.cpp in Sources */, + 7558DB6D18C6795A008985A7 /* pcre32_xclass.c in Sources */, 43FC5F8415C4619B00D0177C /* RegalDispatchEmu.cpp in Sources */, 43FC5F8515C4619B00D0177C /* RegalDispatchError.cpp in Sources */, + 7558DEF418C67E0F008985A7 /* glcpp-lex.c in Sources */, + 7558DF3918C67E0F008985A7 /* lower_clip_distance.cpp in Sources */, 43FC5F8715C4619B00D0177C /* RegalDispatchLoader.cpp in Sources */, 43FC5F8815C4619B00D0177C /* RegalDispatchLog.cpp in Sources */, 43FC5F8A15C4619B00D0177C /* RegalDllMain.cpp in Sources */, + 7558DF1F18C67E0F008985A7 /* ir_reader.cpp in Sources */, 43FC5F8D15C4619B00D0177C /* RegalHelper.cpp in Sources */, + 7558DB6E18C6795A008985A7 /* pcre_byte_order.c in Sources */, + 7558DF3A18C67E0F008985A7 /* lower_discard.cpp in Sources */, + 7558DB5618C6795A008985A7 /* pcre16_xclass.c in Sources */, + 7558DB8418C6795A008985A7 /* pcre_valid_utf8.c in Sources */, + 7558DB4B18C6795A008985A7 /* pcre16_newline.c in Sources */, + 7558DF5618C67E0F008985A7 /* opt_function_inlining.cpp in Sources */, 43FC5F8F15C4619B00D0177C /* RegalHttp.cpp in Sources */, 43FC5F9115C4619B00D0177C /* RegalIff.cpp in Sources */, + 7558DF3818C67E0F008985A7 /* loop_unroll.cpp in Sources */, + 7558DB4318C6795A008985A7 /* pcre16_config.c in Sources */, 43FC5F9315C4619B00D0177C /* RegalInit.cpp in Sources */, 43FC5F9515C4619B00D0177C /* RegalLog.cpp in Sources */, + 7558DB4518C6795A008985A7 /* pcre16_exec.c in Sources */, + 7558DB8D18C6795A008985A7 /* pcretest.c in Sources */, + 7558DB6C18C6795A008985A7 /* pcre32_version.c in Sources */, 43FC5F9715C4619B00D0177C /* RegalLookup.cpp in Sources */, + 7558DB5118C6795A008985A7 /* pcre16_tables.c in Sources */, + 7558DF6F18C67E0F008985A7 /* imports.c in Sources */, + 7558DF4118C67E0F008985A7 /* lower_output_reads.cpp in Sources */, 43FC5FA015C4619B00D0177C /* RegalToken.cpp in Sources */, + 7558DF3F18C67E0F008985A7 /* lower_mat_op_to_vec.cpp in Sources */, + 7558DF1818C67E0F008985A7 /* ir_hv_accept.cpp in Sources */, + 7558DF4818C67E0F008985A7 /* lower_vector.cpp in Sources */, + 7558DF1018C67E0F008985A7 /* ir_expression_flattening.cpp in Sources */, 43FC5FA215C4619B00D0177C /* RegalUtil.cpp in Sources */, + 7558DB5F18C6795A008985A7 /* pcre32_globals.c in Sources */, + 7558DED318C67E0F008985A7 /* getopt_long.c in Sources */, + 7558DB8A18C6795A008985A7 /* pcregrep.c in Sources */, 43FC5FA715C461AC00D0177C /* civetweb.c in Sources */, 4366EEEF15C9B54E00211205 /* RegalFavicon.cpp in Sources */, 4366EEF115C9B54E00211205 /* RegalMac.cpp in Sources */, + 7558DF2B18C67E0F008985A7 /* link_uniform_block_active_visitor.cpp in Sources */, + 7558DF5818C67E0F008985A7 /* opt_noop_swizzle.cpp in Sources */, BC921A5E15D5624600E52C91 /* RegalDispatchMissing.cpp in Sources */, + 7558DB7018C6795A008985A7 /* pcre_compile.c in Sources */, + 7558DB7C18C6795A008985A7 /* pcre_ord2utf8.c in Sources */, BC921A5F15D5624600E52C91 /* RegalDispatchPpapi.cpp in Sources */, + 7558DF4E18C67E0F008985A7 /* opt_constant_propagation.cpp in Sources */, + 7558DF3518C67E0F008985A7 /* loop_analysis.cpp in Sources */, + 7558DF1318C67E0F008985A7 /* ir_function_can_inline.cpp in Sources */, + 7558DB8318C6795A008985A7 /* pcre_ucd.c in Sources */, + 7558DF1D18C67E0F008985A7 /* ir_print_visitor.cpp in Sources */, 43EFD6F915EAADAC004080CE /* RegalDispatcher.cpp in Sources */, + 7558DF4618C67E0F008985A7 /* lower_vec_index_to_cond_assign.cpp in Sources */, + 7558DF1418C67E0F008985A7 /* ir_function_detect_recursion.cpp in Sources */, + 7558DB7318C6795A008985A7 /* pcre_exec.c in Sources */, + 7558DB6418C6795A008985A7 /* pcre32_printint.c in Sources */, + 7558DB6A18C6795A008985A7 /* pcre32_utf32_utils.c in Sources */, 43EFD6FB15EAADAC004080CE /* RegalDispatchStaticEGL.cpp in Sources */, 43EFD6FC15EAADAC004080CE /* RegalDispatchStaticES2.cpp in Sources */, + 7558DB5C18C6795A008985A7 /* pcre32_exec.c in Sources */, + 7558DEDA18C67E0F008985A7 /* builtin_stubs.cpp in Sources */, + 7558DF6218C67E0F008985A7 /* standalone_scaffolding.cpp in Sources */, + 7558DF5718C67E0F008985A7 /* opt_if_simplification.cpp in Sources */, BC6C912A15EE3DC60056E4F7 /* RegalDispatchGlobal.cpp in Sources */, + 7558DB6618C6795A008985A7 /* pcre32_string_utils.c in Sources */, + 7558DB7618C6795A008985A7 /* pcre_globals.c in Sources */, BC020947160D1919003FAB99 /* RegalMarker.cpp in Sources */, + 7558DED818C67E0F008985A7 /* ast_to_hir.cpp in Sources */, + 7558DB7B18C6795A008985A7 /* pcre_newline.c in Sources */, BC020958160D1C73003FAB99 /* md5.c in Sources */, + 7558DB6918C6795A008985A7 /* pcre32_ucd.c in Sources */, BC640CA416554AA4007DEF69 /* RegalFrame.cpp in Sources */, BCBEC6E9167AD66F00B38E16 /* RegalDispatchCache.cpp in Sources */, + 7558DF5218C67E0F008985A7 /* opt_dead_code.cpp in Sources */, + 7558DB8B18C6795A008985A7 /* pcreposix.c in Sources */, + 7558DF0318C67E0F008985A7 /* glsl_symbol_table.cpp in Sources */, + 7558DB5E18C6795A008985A7 /* pcre32_get.c in Sources */, BCBEC6EA167AD66F00B38E16 /* RegalDispatchCode.cpp in Sources */, BCBEC6FA167AD69D00B38E16 /* RegalSo.cpp in Sources */, BC94B98F16DFDD6D00116D55 /* RegalBreak.cpp in Sources */, + 7558DF1618C67E0F008985A7 /* ir_hierarchical_visitor.cpp in Sources */, + 7558DED618C67E0F008985A7 /* ast_expr.cpp in Sources */, BC94B99316DFDDA000116D55 /* RegalFilt.cpp in Sources */, + 7558DB4818C6795A008985A7 /* pcre16_globals.c in Sources */, + 7558DB8618C6795A008985A7 /* pcre_xclass.c in Sources */, + 7558DB6018C6795A008985A7 /* pcre32_jit_compile.c in Sources */, + 7558DED918C67E0F008985A7 /* ast_type.cpp in Sources */, + 7558DB6818C6795A008985A7 /* pcre32_tables.c in Sources */, + 7558DB5918C6795A008985A7 /* pcre32_compile.c in Sources */, + 7558DB5218C6795A008985A7 /* pcre16_ucd.c in Sources */, + 7558DB8018C6795A008985A7 /* pcre_string_utils.c in Sources */, + 7558DF4F18C67E0F008985A7 /* opt_constant_variable.cpp in Sources */, + 7558DB5018C6795A008985A7 /* pcre16_study.c in Sources */, + 7558DB4018C6795A008985A7 /* pcre16_byte_order.c in Sources */, + 7558DF4D18C67E0F008985A7 /* opt_constant_folding.cpp in Sources */, BC3209D416F3A0E600D1A9E0 /* RegalCacheShader.cpp in Sources */, + 7558DF4318C67E0F008985A7 /* lower_packing_builtins.cpp in Sources */, + 7558DF0818C67E0F008985A7 /* ir.cpp in Sources */, + 7558DB3E18C6795A008985A7 /* dftables.c in Sources */, + 7558DB4218C6795A008985A7 /* pcre16_compile.c in Sources */, BC3209D616F3A0E600D1A9E0 /* RegalCacheTexture.cpp in Sources */, + 7558DB7518C6795A008985A7 /* pcre_get.c in Sources */, + 7558DB5718C6795A008985A7 /* pcre32_byte_order.c in Sources */, BC59F9E9174809EE004BC2AC /* RegalPixelConversions.cpp in Sources */, + 7558DF2E18C67E0F008985A7 /* link_uniform_initializers.cpp in Sources */, + 7558DB7118C6795A008985A7 /* pcre_config.c in Sources */, + 7558DF5E18C67E0F008985A7 /* ralloc.c in Sources */, + 7558DF6418C67E0F008985A7 /* strtod.c in Sources */, + 7558DB8918C6795A008985A7 /* pcredemo.c in Sources */, + 7558DF3218C67E0F008985A7 /* linker.cpp in Sources */, BC59F9EA174809EE004BC2AC /* RegalTexC.cpp in Sources */, BC59F9EB174809EE004BC2AC /* RegalXfer.cpp in Sources */, BCBF184A175EBB3000CB653A /* RegalDispatcherGL.cpp in Sources */, BCBF184C175EBB3000CB653A /* RegalDispatcherGlobal.cpp in Sources */, + 7558DF1918C67E0F008985A7 /* ir_import_prototypes.cpp in Sources */, + 7558DF4518C67E0F008985A7 /* lower_variable_index_to_cond_assign.cpp in Sources */, + 7558DB5818C6795A008985A7 /* pcre32_chartables.c in Sources */, BCBF184E175EBB3000CB653A /* RegalDispatchStatistics.cpp in Sources */, + 7558DB8518C6795A008985A7 /* pcre_version.c in Sources */, BCBF184F175EBB3000CB653A /* RegalDispatchTrace.cpp in Sources */, BCBF1850175EBB3000CB653A /* RegalPlugin.cpp in Sources */, + 7558DF6D18C67E0F008985A7 /* hash_table.c in Sources */, + 7558DF7318C67E0F008985A7 /* set.c in Sources */, + 7558DB5D18C6795A008985A7 /* pcre32_fullinfo.c in Sources */, + 7558DF7718C67E0F008985A7 /* prog_hash_table.c in Sources */, + 7558DB4A18C6795A008985A7 /* pcre16_maketables.c in Sources */, BCBF1851175EBB3000CB653A /* RegalStatistics.cpp in Sources */, + 7558DB5318C6795A008985A7 /* pcre16_utf16_utils.c in Sources */, + 7558DB7418C6795A008985A7 /* pcre_fullinfo.c in Sources */, BCDF669F178F170300EE9569 /* snappy-c.cc in Sources */, + 7558DB4D18C6795A008985A7 /* pcre16_printint.c in Sources */, BCDF66A1178F170300EE9569 /* snappy-sinksource.cc in Sources */, BCDF66A3178F170300EE9569 /* snappy.cc in Sources */, + 7558DB7918C6795A008985A7 /* pcre_jit_test.c in Sources */, + 7558DEFF18C67E0F008985A7 /* glsl_parser.cpp in Sources */, + 7558DF7B18C67E0F008985A7 /* symbol_table.c in Sources */, BCDF66D6178F172A00EE9569 /* os_posix.cpp in Sources */, + 7558DF2618C67E0F008985A7 /* ir_validate.cpp in Sources */, + 7558DF5C18C67E0F008985A7 /* opt_tree_grafting.cpp in Sources */, + 7558DF6018C67E0F008985A7 /* s_expression.cpp in Sources */, BCDF66DB178F172A00EE9569 /* os_win32.cpp in Sources */, + 7558DF3718C67E0F008985A7 /* loop_controls.cpp in Sources */, BCDF66E0178F172A00EE9569 /* trace_callset.cpp in Sources */, + 7558DEDB18C67E0F008985A7 /* builtin_function.cpp in Sources */, + 7558DB7E18C6795A008985A7 /* pcre_refcount.c in Sources */, + 7558DB7A18C6795A008985A7 /* pcre_maketables.c in Sources */, + 755DED9018C692CA00B417E0 /* RegalDispatchHttp.cpp in Sources */, + 7558DF2718C67E0F008985A7 /* ir_variable_refcount.cpp in Sources */, + 7558DED718C67E0F008985A7 /* ast_function.cpp in Sources */, + 7558DB4F18C6795A008985A7 /* pcre16_string_utils.c in Sources */, + 7558DB4E18C6795A008985A7 /* pcre16_refcount.c in Sources */, + 7558DF5B18C67E0F008985A7 /* opt_swizzle_swizzle.cpp in Sources */, BCDF66E2178F172A00EE9569 /* trace_dump.cpp in Sources */, + 7558DF3018C67E0F008985A7 /* link_varyings.cpp in Sources */, + 7558DB4418C6795A008985A7 /* pcre16_dfa_exec.c in Sources */, + 7558DB7218C6795A008985A7 /* pcre_dfa_exec.c in Sources */, BCDF66E4178F172A00EE9569 /* trace_fast_callset.cpp in Sources */, + 7558DB6B18C6795A008985A7 /* pcre32_valid_utf32.c in Sources */, BCDF66E6178F172A00EE9569 /* trace_file_read.cpp in Sources */, BCDF66E7178F172A00EE9569 /* trace_file_snappy.cpp in Sources */, BCDF66E8178F172A00EE9569 /* trace_file_write.cpp in Sources */, + 7558DB4118C6795A008985A7 /* pcre16_chartables.c in Sources */, + 7558DF3E18C67E0F008985A7 /* lower_jumps.cpp in Sources */, + 7558DF4B18C67E0F008985A7 /* opt_algebraic.cpp in Sources */, BCDF66EA178F172A00EE9569 /* trace_file.cpp in Sources */, + 7558DF2D18C67E0F008985A7 /* link_uniform_blocks.cpp in Sources */, BCDF66ED178F172A00EE9569 /* trace_loader.cpp in Sources */, BCDF66F0178F172A00EE9569 /* trace_model.cpp in Sources */, BCDF66F2178F172A00EE9569 /* trace_option.cpp in Sources */, BCDF66F4178F172A00EE9569 /* trace_parser_flags.cpp in Sources */, + 7558DF2A18C67E0F008985A7 /* link_functions.cpp in Sources */, + 7558DF4418C67E0F008985A7 /* lower_ubo_reference.cpp in Sources */, BCDF66F5178F172A00EE9569 /* trace_parser.cpp in Sources */, BCDF66F7178F172A00EE9569 /* trace_profiler.cpp in Sources */, + 7558DF3B18C67E0F008985A7 /* lower_discard_flow.cpp in Sources */, BCDF66F9178F172A00EE9569 /* trace_writer_model.cpp in Sources */, + 7558DF2418C67E0F008985A7 /* ir_unused_structs.cpp in Sources */, + 7558DF3C18C67E0F008985A7 /* lower_if_to_cond_assign.cpp in Sources */, BCDF66FA178F172A00EE9569 /* trace_writer_regal.cpp in Sources */, BCDF66FC178F172A00EE9569 /* trace_writer.cpp in Sources */, BCDF66FF178F174A00EE9569 /* glproc_regal.cpp in Sources */, + 7558DF1B18C67E0F008985A7 /* ir_print_glsl_visitor.cpp in Sources */, + 7558DF4218C67E0F008985A7 /* lower_packed_varyings.cpp in Sources */, BCDF6703178F176300EE9569 /* eglsize.cpp in Sources */, BCDF670C178F179800EE9569 /* glcaps.cpp in Sources */, + 7558DEFD18C67E0F008985A7 /* glsl_optimizer.cpp in Sources */, + 7558DB8118C6795A008985A7 /* pcre_study.c in Sources */, + 7558DEFA18C67E0F008985A7 /* pp.c in Sources */, + 7558DB6F18C6795A008985A7 /* pcre_chartables.c in Sources */, BCDF670D178F179800EE9569 /* gltrace_state.cpp in Sources */, BCDF670F178F179800EE9569 /* regaltrace.cpp in Sources */, + 7558DB5418C6795A008985A7 /* pcre16_valid_utf16.c in Sources */, BCDF6710178F179800EE9569 /* trace.cpp in Sources */, + 7558DB7818C6795A008985A7 /* pcre_jit_compile.c in Sources */, + 7558DB6518C6795A008985A7 /* pcre32_refcount.c in Sources */, + 7558DB5A18C6795A008985A7 /* pcre32_config.c in Sources */, 754D3C9517CFFD7200E4C0E0 /* RegalEmu.cpp in Sources */, + 7558DF4C18C67E0F008985A7 /* opt_array_splitting.cpp in Sources */, BCBA1FD617DF848800CB6E19 /* RegalEmuInfo.cpp in Sources */, + 7558DF4718C67E0F008985A7 /* lower_vec_index_to_swizzle.cpp in Sources */, + 7558DF0E18C67E0F008985A7 /* ir_clone.cpp in Sources */, + 7558DB4718C6795A008985A7 /* pcre16_get.c in Sources */, + 7558DB7D18C6795A008985A7 /* pcre_printint.c in Sources */, BCBA1FDA17DF848800CB6E19 /* RegalX11.cpp in Sources */, + 7558DB6318C6795A008985A7 /* pcre32_ord2utf32.c in Sources */, + 7558DB4918C6795A008985A7 /* pcre16_jit_compile.c in Sources */, + 7558DB6118C6795A008985A7 /* pcre32_maketables.c in Sources */, + 7558DEF618C67E0F008985A7 /* glcpp-parse.c in Sources */, + 7558DF0518C67E0F008985A7 /* glsl_types.cpp in Sources */, + 7558DB6218C6795A008985A7 /* pcre32_newline.c in Sources */, + 7558DF0F18C67E0F008985A7 /* ir_constant_expression.cpp in Sources */, + 7558DEDD18C67E0F008985A7 /* builtin_variables.cpp in Sources */, BCBA1FDC17DF848800CB6E19 /* RegalDispatchGLX.cpp in Sources */, + 7558DED018C67E0F008985A7 /* regal_glsl.cpp in Sources */, + 7558DF0118C67E0F008985A7 /* glsl_parser_extras.cpp in Sources */, 75694C8E17EB913B00B8AD9D /* RegalQuads.cpp in Sources */, + 7558DB4618C6795A008985A7 /* pcre16_fullinfo.c in Sources */, + 7558DF5A18C67E0F008985A7 /* opt_structure_splitting.cpp in Sources */, + 7558DF3D18C67E0F008985A7 /* lower_instructions.cpp in Sources */, + 7558DF0C18C67E0F008985A7 /* ir_builder.cpp in Sources */, + 7558DEFB18C67E0F008985A7 /* glsl_lexer.cpp in Sources */, + 7558DF5118C67E0F008985A7 /* opt_copy_propagation_elements.cpp in Sources */, + 7558DF4018C67E0F008985A7 /* lower_noise.cpp in Sources */, BC4935031804FD53004385CA /* os_backtrace.cpp in Sources */, BC4935061804FDEE004385CA /* RegalDispatch.cpp in Sources */, + 7558DF5018C67E0F008985A7 /* opt_copy_propagation.cpp in Sources */, + 7558DF5518C67E0F008985A7 /* opt_flatten_nested_if_blocks.cpp in Sources */, + 435914FE182FF3A3002CB92C /* RegalShader.cpp in Sources */, + 7558DF2118C67E0F008985A7 /* ir_rvalue_visitor.cpp in Sources */, + 7558DF5318C67E0F008985A7 /* opt_dead_code_local.cpp in Sources */, + 7558DB6718C6795A008985A7 /* pcre32_study.c in Sources */, + 43591500182FF3A3002CB92C /* RegalShaderInstance.cpp in Sources */, + 7558DB5518C6795A008985A7 /* pcre16_version.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -934,7 +1986,11 @@ ../../../src/apitrace, ../../../src/snappy, ../../../src/apitrace/thirdparty/khronos, + ../../../src/glsl/include, + ../../../src/glsl/src/glsl, + ../../../src/glsl/src/mesa, ); + OTHER_CFLAGS = "-DHAVE_CONFIG_H=1"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -966,7 +2022,11 @@ ../../../src/apitrace, ../../../src/snappy, ../../../src/apitrace/thirdparty/khronos, + ../../../src/glsl/include, + ../../../src/glsl/src/glsl, + ../../../src/glsl/src/mesa, ); + OTHER_CFLAGS = "-DHAVE_CONFIG_H=1"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; diff --git a/build/mac/Regal/Regal.xcodeproj/project.pbxproj b/build/mac/Regal/Regal.xcodeproj/project.pbxproj index 42c7928..df95f72 100644 --- a/build/mac/Regal/Regal.xcodeproj/project.pbxproj +++ b/build/mac/Regal/Regal.xcodeproj/project.pbxproj @@ -23,6 +23,382 @@ 4359148318293B32002CB92C /* libsnappy.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359146F18293A9C002CB92C /* libsnappy.a */; }; 4359148418293B32002CB92C /* libsquish.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359147518293AAA002CB92C /* libsquish.a */; }; 4359148518293B32002CB92C /* libzlib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359147B18293AB2002CB92C /* libzlib.a */; }; + 435914B5182945FE002CB92C /* libglsl_optimizer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435914AA182945F0002CB92C /* libglsl_optimizer.a */; }; + 435914DB182BF69F002CB92C /* RegalLayerInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 435914D7182BF69F002CB92C /* RegalLayerInfo.h */; }; + 435914DC182BF69F002CB92C /* RegalShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 435914D8182BF69F002CB92C /* RegalShader.cpp */; }; + 435914DD182BF69F002CB92C /* RegalShader.h in Headers */ = {isa = PBXBuildFile; fileRef = 435914D9182BF69F002CB92C /* RegalShader.h */; }; + 435914DE182BF69F002CB92C /* RegalShaderInstance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 435914DA182BF69F002CB92C /* RegalShaderInstance.cpp */; }; + 435914EB182BFBDB002CB92C /* RegalShaderInstance.h in Headers */ = {isa = PBXBuildFile; fileRef = 435914EA182BFBDB002CB92C /* RegalShaderInstance.h */; }; + 435915921836766E002CB92C /* linear.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D215C48D1F0063667E /* linear.h */; }; + 435915931836766E002CB92C /* Regal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D315C48D1F0063667E /* Regal.cpp */; }; + 435915941836766E002CB92C /* Regal.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C3616DE6699005E03F6 /* Regal.h */; }; + 435915951836766E002CB92C /* RegalBaseVertex.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF182F175EB49D00CB653A /* RegalBaseVertex.h */; }; + 435915961836766E002CB92C /* RegalBin.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D415C48D1F0063667E /* RegalBin.h */; }; + 435915971836766E002CB92C /* RegalBreak.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC94B98916DFDC6200116D55 /* RegalBreak.cpp */; }; + 435915981836766E002CB92C /* RegalBreak.h in Sources */ = {isa = PBXBuildFile; fileRef = BC94B98A16DFDC6200116D55 /* RegalBreak.h */; }; + 435915991836766E002CB92C /* RegalCacheShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3209D816F3A28900D1A9E0 /* RegalCacheShader.cpp */; }; + 4359159A1836766E002CB92C /* RegalCacheShader.h in Sources */ = {isa = PBXBuildFile; fileRef = BC3209D916F3A28900D1A9E0 /* RegalCacheShader.h */; }; + 4359159B1836766E002CB92C /* RegalCacheTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3209DA16F3A28900D1A9E0 /* RegalCacheTexture.cpp */; }; + 4359159C1836766E002CB92C /* RegalCacheTexture.h in Sources */ = {isa = PBXBuildFile; fileRef = BC3209DB16F3A28900D1A9E0 /* RegalCacheTexture.h */; }; + 4359159D1836766E002CB92C /* RegalClientState.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1830175EB49D00CB653A /* RegalClientState.h */; }; + 4359159E1836766E002CB92C /* RegalConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D515C48D1F0063667E /* RegalConfig.cpp */; }; + 4359159F1836766E002CB92C /* RegalConfig.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D615C48D1F0063667E /* RegalConfig.h */; }; + 435915A01836766E002CB92C /* RegalContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D715C48D1F0063667E /* RegalContext.cpp */; }; + 435915A11836766E002CB92C /* RegalContext.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D815C48D1F0063667E /* RegalContext.h */; }; + 435915A21836766E002CB92C /* RegalContextInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D915C48D1F0063667E /* RegalContextInfo.cpp */; }; + 435915A31836766E002CB92C /* RegalContextInfo.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DA15C48D1F0063667E /* RegalContextInfo.h */; }; + 435915A41836766E002CB92C /* RegalDebugInfo.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DB15C48D1F0063667E /* RegalDebugInfo.h */; }; + 435915A51836766E002CB92C /* RegalDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCB6107017F21E6500BA0A06 /* RegalDispatch.cpp */; }; + 435915A61836766E002CB92C /* RegalDispatch.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DC15C48D1F0063667E /* RegalDispatch.h */; }; + 435915A71836766E002CB92C /* RegalDispatchCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC710167AD74400B38E16 /* RegalDispatchCache.cpp */; }; + 435915A81836766E002CB92C /* RegalDispatchCode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC711167AD74400B38E16 /* RegalDispatchCode.cpp */; }; + 435915A91836766E002CB92C /* RegalDispatchDebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DD15C48D1F0063667E /* RegalDispatchDebug.cpp */; }; + 435915AA1836766E002CB92C /* RegalDispatchEmu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DE15C48D1F0063667E /* RegalDispatchEmu.cpp */; }; + 435915AB1836766E002CB92C /* RegalDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCF889A515E079C20093B7D5 /* RegalDispatcher.cpp */; }; + 435915AC1836766E002CB92C /* RegalDispatcher.h in Sources */ = {isa = PBXBuildFile; fileRef = BCF889A615E079C20093B7D5 /* RegalDispatcher.h */; }; + 435915AD1836766E002CB92C /* RegalDispatcherGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1823175EB40600CB653A /* RegalDispatcherGL.cpp */; }; + 435915AE1836766E002CB92C /* RegalDispatcherGL.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1824175EB40600CB653A /* RegalDispatcherGL.h */; }; + 435915AF1836766E002CB92C /* RegalDispatcherGlobal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1825175EB40600CB653A /* RegalDispatcherGlobal.cpp */; }; + 435915B01836766E002CB92C /* RegalDispatcherGlobal.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1826175EB40600CB653A /* RegalDispatcherGlobal.h */; }; + 435915B11836766E002CB92C /* RegalDispatchError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DF15C48D1F0063667E /* RegalDispatchError.cpp */; }; + 435915B21836766E002CB92C /* RegalDispatchError.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E015C48D1F0063667E /* RegalDispatchError.h */; }; + 435915B31836766E002CB92C /* RegalDispatchGlobal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC6C911C15EE3CDF0056E4F7 /* RegalDispatchGlobal.cpp */; }; + 435915B41836766E002CB92C /* RegalDispatchGLX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CB717C5AF870005C418 /* RegalDispatchGLX.cpp */; }; + 435915B51836766E002CB92C /* RegalDispatchLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E115C48D1F0063667E /* RegalDispatchLoader.cpp */; }; + 435915B61836766E002CB92C /* RegalDispatchLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E215C48D1F0063667E /* RegalDispatchLog.cpp */; }; + 435915B71836766E002CB92C /* RegalDispatchMissing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC456F1015D55F8E0080B420 /* RegalDispatchMissing.cpp */; }; + 435915B81836766E002CB92C /* RegalDispatchPpapi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC456F1115D55F8E0080B420 /* RegalDispatchPpapi.cpp */; }; + 435915B91836766E002CB92C /* RegalDispatchStaticEGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CB917C5AF880005C418 /* RegalDispatchStaticEGL.cpp */; }; + 435915BA1836766E002CB92C /* RegalDispatchStaticES2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCF889A915E079D80093B7D5 /* RegalDispatchStaticES2.cpp */; }; + 435915BB1836766E002CB92C /* RegalDispatchStatistics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1831175EB49D00CB653A /* RegalDispatchStatistics.cpp */; }; + 435915BC1836766E002CB92C /* RegalDispatchTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1832175EB49D00CB653A /* RegalDispatchTrace.cpp */; }; + 435915BD1836766E002CB92C /* RegalDllMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E415C48D1F0063667E /* RegalDllMain.cpp */; }; + 435915BE1836766E002CB92C /* RegalDsa.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E515C48D1F0063667E /* RegalDsa.h */; }; + 435915BF1836766E002CB92C /* RegalEmu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBA1FC917DF836700CB6E19 /* RegalEmu.cpp */; }; + 435915C01836766E002CB92C /* RegalEmu.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E615C48D200063667E /* RegalEmu.h */; }; + 435915C11836766E002CB92C /* RegalEmuInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBA1FC717DF836700CB6E19 /* RegalEmuInfo.cpp */; }; + 435915C21836766E002CB92C /* RegalEmuInfo.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBA1FC817DF836700CB6E19 /* RegalEmuInfo.h */; }; + 435915C31836766E002CB92C /* RegalEnum.h in Sources */ = {isa = PBXBuildFile; fileRef = 431D3C0915C9B6F0009DD04F /* RegalEnum.h */; }; + 435915C41836766E002CB92C /* RegalFavicon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 431D3C0A15C9B6F0009DD04F /* RegalFavicon.cpp */; }; + 435915C51836766E002CB92C /* RegalFavicon.h in Sources */ = {isa = PBXBuildFile; fileRef = 431D3C0B15C9B6F0009DD04F /* RegalFavicon.h */; }; + 435915C61836766E002CB92C /* RegalFilt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC94B99516DFDF1F00116D55 /* RegalFilt.cpp */; }; + 435915C71836766E002CB92C /* RegalFilt.h in Sources */ = {isa = PBXBuildFile; fileRef = BC94B99616DFDF1F00116D55 /* RegalFilt.h */; }; + 435915C81836766E002CB92C /* RegalFloat4.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1833175EB49D00CB653A /* RegalFloat4.h */; }; + 435915C91836766E002CB92C /* RegalFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC640C9A16554A52007DEF69 /* RegalFrame.cpp */; }; + 435915CA1836766E002CB92C /* RegalFrame.h in Sources */ = {isa = PBXBuildFile; fileRef = BC640C9B16554A52007DEF69 /* RegalFrame.h */; }; + 435915CB1836766E002CB92C /* RegalHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E715C48D200063667E /* RegalHelper.cpp */; }; + 435915CC1836766E002CB92C /* RegalHelper.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E815C48D200063667E /* RegalHelper.h */; }; + 435915CD1836766E002CB92C /* RegalHint.h in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CBA17C5AF880005C418 /* RegalHint.h */; }; + 435915CE1836766E002CB92C /* RegalHttp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E915C48D200063667E /* RegalHttp.cpp */; }; + 435915CF1836766E002CB92C /* RegalHttp.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1EA15C48D200063667E /* RegalHttp.h */; }; + 435915D01836766E002CB92C /* RegalIff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1EB15C48D200063667E /* RegalIff.cpp */; }; + 435915D11836766E002CB92C /* RegalIff.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1EC15C48D200063667E /* RegalIff.h */; }; + 435915D21836766E002CB92C /* RegalInit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1ED15C48D200063667E /* RegalInit.cpp */; }; + 435915D31836766E002CB92C /* RegalInit.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1EE15C48D200063667E /* RegalInit.h */; }; + 435915D41836766E002CB92C /* RegalJson.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C1F16DE668A005E03F6 /* RegalJson.cpp */; }; + 435915D51836766E002CB92C /* RegalJson.h in Sources */ = {isa = PBXBuildFile; fileRef = BC60A6B117032F1A0055437B /* RegalJson.h */; }; + 435915D61836766E002CB92C /* RegalJson.inl in Sources */ = {isa = PBXBuildFile; fileRef = 436E18CA17020027005BE93E /* RegalJson.inl */; }; + 435915D71836766E002CB92C /* RegalLayerInfo.h in Sources */ = {isa = PBXBuildFile; fileRef = 435914D7182BF69F002CB92C /* RegalLayerInfo.h */; }; + 435915D81836766E002CB92C /* RegalLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1EF15C48D200063667E /* RegalLog.cpp */; }; + 435915D91836766E002CB92C /* RegalLog.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F015C48D200063667E /* RegalLog.h */; }; + 435915DA1836766E002CB92C /* RegalLookup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F115C48D200063667E /* RegalLookup.cpp */; }; + 435915DB1836766E002CB92C /* RegalLookup.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F215C48D200063667E /* RegalLookup.h */; }; + 435915DC1836766E002CB92C /* RegalMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 431D3C0C15C9B6F0009DD04F /* RegalMac.cpp */; }; + 435915DD1836766E002CB92C /* RegalMac.h in Sources */ = {isa = PBXBuildFile; fileRef = 430443F216F1658F0078C0F9 /* RegalMac.h */; }; + 435915DE1836766E002CB92C /* RegalMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02094D160D1BA3003FAB99 /* RegalMarker.cpp */; }; + 435915DF1836766E002CB92C /* RegalMarker.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F315C48D200063667E /* RegalMarker.h */; }; + 435915E01836766E002CB92C /* RegalMutex.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1834175EB49D00CB653A /* RegalMutex.h */; }; + 435915E11836766E002CB92C /* RegalNamespace.h in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CBB17C5AF880005C418 /* RegalNamespace.h */; }; + 435915E21836766E002CB92C /* RegalObj.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F415C48D200063667E /* RegalObj.h */; }; + 435915E31836766E002CB92C /* RegalPixelConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2116DE668A005E03F6 /* RegalPixelConversions.cpp */; }; + 435915E41836766E002CB92C /* RegalPixelConversions.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2216DE668A005E03F6 /* RegalPixelConversions.h */; }; + 435915E51836766E002CB92C /* RegalPixelConversions.inl in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2316DE668A005E03F6 /* RegalPixelConversions.inl */; }; + 435915E61836766E002CB92C /* RegalPlugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1835175EB49D00CB653A /* RegalPlugin.cpp */; }; + 435915E71836766E002CB92C /* RegalPpa.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F515C48D200063667E /* RegalPpa.h */; }; + 435915E81836766E002CB92C /* RegalPpca.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2516DE668A005E03F6 /* RegalPpca.h */; }; + 435915E91836766E002CB92C /* RegalPrecompile.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F715C48D200063667E /* RegalPrecompile.h */; }; + 435915EA1836766E002CB92C /* RegalPrivate.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F815C48D200063667E /* RegalPrivate.h */; }; + 435915EB1836766E002CB92C /* RegalPush.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC6FF167AD72700B38E16 /* RegalPush.h */; }; + 435915EC1836766E002CB92C /* RegalQuads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4DBEC11804FB0600F6D226 /* RegalQuads.cpp */; }; + 435915ED1836766E002CB92C /* RegalQuads.h in Sources */ = {isa = PBXBuildFile; fileRef = BC4DBEC21804FB0600F6D226 /* RegalQuads.h */; }; + 435915EE1836766E002CB92C /* RegalRect.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1836175EB49D00CB653A /* RegalRect.h */; }; + 435915EF1836766E002CB92C /* RegalScopedPtr.h in Sources */ = {isa = PBXBuildFile; fileRef = 430443F316F1658F0078C0F9 /* RegalScopedPtr.h */; }; + 435915F01836766E002CB92C /* RegalShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 435914D8182BF69F002CB92C /* RegalShader.cpp */; }; + 435915F11836766E002CB92C /* RegalShader.h in Sources */ = {isa = PBXBuildFile; fileRef = 435914D9182BF69F002CB92C /* RegalShader.h */; }; + 435915F21836766E002CB92C /* RegalShaderInstance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 435914DA182BF69F002CB92C /* RegalShaderInstance.cpp */; }; + 435915F31836766E002CB92C /* RegalShaderInstance.h in Sources */ = {isa = PBXBuildFile; fileRef = 435914EA182BFBDB002CB92C /* RegalShaderInstance.h */; }; + 435915F41836766E002CB92C /* RegalSharedList.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC702167AD72700B38E16 /* RegalSharedList.h */; }; + 435915F51836766E002CB92C /* RegalSharedMap.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC703167AD72700B38E16 /* RegalSharedMap.h */; }; + 435915F61836766E002CB92C /* RegalSharedPtr.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC704167AD72700B38E16 /* RegalSharedPtr.h */; }; + 435915F71836766E002CB92C /* RegalSo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC705167AD72700B38E16 /* RegalSo.cpp */; }; + 435915F81836766E002CB92C /* RegalSo.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC706167AD72700B38E16 /* RegalSo.h */; }; + 435915F91836766E002CB92C /* RegalState.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F915C48D200063667E /* RegalState.h */; }; + 435915FA1836766E002CB92C /* RegalStatistics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF182B175EB46800CB653A /* RegalStatistics.cpp */; }; + 435915FB1836766E002CB92C /* RegalStatistics.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF182C175EB46800CB653A /* RegalStatistics.h */; }; + 435915FC1836766E002CB92C /* RegalSystem.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2616DE668A005E03F6 /* RegalSystem.h */; }; + 435915FD1836766E002CB92C /* RegalTexC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2716DE668A005E03F6 /* RegalTexC.cpp */; }; + 435915FE1836766E002CB92C /* RegalTexC.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2816DE668A005E03F6 /* RegalTexC.h */; }; + 435915FF1836766E002CB92C /* RegalTexSto.h in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CBC17C5AF880005C418 /* RegalTexSto.h */; }; + 435916001836766E002CB92C /* RegalThread.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2916DE668A005E03F6 /* RegalThread.h */; }; + 435916011836766E002CB92C /* RegalTimer.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2A16DE668A005E03F6 /* RegalTimer.h */; }; + 435916021836766E002CB92C /* RegalToken.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1FA15C48D200063667E /* RegalToken.cpp */; }; + 435916031836766E002CB92C /* RegalToken.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1FB15C48D200063667E /* RegalToken.h */; }; + 435916041836766E002CB92C /* RegalUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1FC15C48D200063667E /* RegalUtil.cpp */; }; + 435916051836766E002CB92C /* RegalUtil.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1FD15C48D200063667E /* RegalUtil.h */; }; + 435916061836766E002CB92C /* RegalVao.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1FE15C48D200063667E /* RegalVao.h */; }; + 435916071836766E002CB92C /* RegalX11.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CB817C5AF870005C418 /* RegalX11.cpp */; }; + 435916081836766E002CB92C /* RegalXfer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 430443EE16F1656A0078C0F9 /* RegalXfer.cpp */; }; + 435916091836766E002CB92C /* RegalXfer.h in Sources */ = {isa = PBXBuildFile; fileRef = 430443EF16F1656A0078C0F9 /* RegalXfer.h */; }; + 4359160A183677E8002CB92C /* libapitrace.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359144B18293A5C002CB92C /* libapitrace.a */; }; + 4359160B183677E8002CB92C /* libglsl_optimizer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435914AA182945F0002CB92C /* libglsl_optimizer.a */; }; + 4359160C183677E8002CB92C /* libjsonsl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359145118293A68002CB92C /* libjsonsl.a */; }; + 4359160D183677E8002CB92C /* libmd5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359145718293A74002CB92C /* libmd5.a */; }; + 4359160E183677E8002CB92C /* libmongoose.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359145D18293A7D002CB92C /* libmongoose.a */; }; + 4359160F183677E8002CB92C /* libpcre.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359146318293A8B002CB92C /* libpcre.a */; }; + 43591610183677E8002CB92C /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359146918293A94002CB92C /* libpng.a */; }; + 43591611183677E8002CB92C /* libsnappy.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359146F18293A9C002CB92C /* libsnappy.a */; }; + 43591612183677E8002CB92C /* libsquish.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359147518293AAA002CB92C /* libsquish.a */; }; + 43591613183677E8002CB92C /* libzlib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359147B18293AB2002CB92C /* libzlib.a */; }; + 4359165518367DEE002CB92C /* Regal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D315C48D1F0063667E /* Regal.cpp */; }; + 4359165618367DEE002CB92C /* RegalConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D515C48D1F0063667E /* RegalConfig.cpp */; }; + 4359165718367DEE002CB92C /* RegalContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D715C48D1F0063667E /* RegalContext.cpp */; }; + 4359165818367DEE002CB92C /* RegalContextInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D915C48D1F0063667E /* RegalContextInfo.cpp */; }; + 4359165918367DEE002CB92C /* RegalDispatchDebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DD15C48D1F0063667E /* RegalDispatchDebug.cpp */; }; + 4359165A18367DEE002CB92C /* RegalDispatchEmu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DE15C48D1F0063667E /* RegalDispatchEmu.cpp */; }; + 4359165B18367DEE002CB92C /* RegalDispatchError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DF15C48D1F0063667E /* RegalDispatchError.cpp */; }; + 4359165C18367DEE002CB92C /* RegalDispatchLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E115C48D1F0063667E /* RegalDispatchLoader.cpp */; }; + 4359165D18367DEE002CB92C /* RegalDispatchLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E215C48D1F0063667E /* RegalDispatchLog.cpp */; }; + 4359165E18367DEE002CB92C /* RegalDllMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E415C48D1F0063667E /* RegalDllMain.cpp */; }; + 4359165F18367DEE002CB92C /* RegalHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E715C48D200063667E /* RegalHelper.cpp */; }; + 4359166018367DEE002CB92C /* RegalHttp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E915C48D200063667E /* RegalHttp.cpp */; }; + 4359166118367DEE002CB92C /* RegalIff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1EB15C48D200063667E /* RegalIff.cpp */; }; + 4359166218367DEE002CB92C /* RegalInit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1ED15C48D200063667E /* RegalInit.cpp */; }; + 4359166318367DEE002CB92C /* RegalLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1EF15C48D200063667E /* RegalLog.cpp */; }; + 4359166418367DEE002CB92C /* RegalLookup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F115C48D200063667E /* RegalLookup.cpp */; }; + 4359166518367DEE002CB92C /* RegalToken.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1FA15C48D200063667E /* RegalToken.cpp */; }; + 4359166618367DEE002CB92C /* RegalUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1FC15C48D200063667E /* RegalUtil.cpp */; }; + 4359166718367DEE002CB92C /* RegalFavicon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 431D3C0A15C9B6F0009DD04F /* RegalFavicon.cpp */; }; + 4359166818367DEE002CB92C /* RegalMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 431D3C0C15C9B6F0009DD04F /* RegalMac.cpp */; }; + 4359166918367DEE002CB92C /* RegalDispatchMissing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC456F1015D55F8E0080B420 /* RegalDispatchMissing.cpp */; }; + 4359166A18367DEE002CB92C /* RegalDispatchPpapi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC456F1115D55F8E0080B420 /* RegalDispatchPpapi.cpp */; }; + 4359166B18367DEE002CB92C /* RegalDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCF889A515E079C20093B7D5 /* RegalDispatcher.cpp */; }; + 4359166C18367DEE002CB92C /* RegalDispatchStaticES2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCF889A915E079D80093B7D5 /* RegalDispatchStaticES2.cpp */; }; + 4359166D18367DEE002CB92C /* RegalDispatchGlobal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC6C911C15EE3CDF0056E4F7 /* RegalDispatchGlobal.cpp */; }; + 4359166E18367DEE002CB92C /* RegalMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02094D160D1BA3003FAB99 /* RegalMarker.cpp */; }; + 4359166F18367DEE002CB92C /* RegalFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC640C9A16554A52007DEF69 /* RegalFrame.cpp */; }; + 4359167018367DEE002CB92C /* RegalSo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC705167AD72700B38E16 /* RegalSo.cpp */; }; + 4359167118367DEE002CB92C /* RegalDispatchCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC710167AD74400B38E16 /* RegalDispatchCache.cpp */; }; + 4359167218367DEE002CB92C /* RegalDispatchCode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC711167AD74400B38E16 /* RegalDispatchCode.cpp */; }; + 4359167318367DEE002CB92C /* RegalJson.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C1F16DE668A005E03F6 /* RegalJson.cpp */; }; + 4359167418367DEE002CB92C /* RegalPixelConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2116DE668A005E03F6 /* RegalPixelConversions.cpp */; }; + 4359167518367DEE002CB92C /* RegalTexC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2716DE668A005E03F6 /* RegalTexC.cpp */; }; + 4359167618367DEE002CB92C /* RegalBreak.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC94B98916DFDC6200116D55 /* RegalBreak.cpp */; }; + 4359167718367DEE002CB92C /* RegalFilt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC94B99516DFDF1F00116D55 /* RegalFilt.cpp */; }; + 4359167818367DEE002CB92C /* RegalXfer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 430443EE16F1656A0078C0F9 /* RegalXfer.cpp */; }; + 4359167918367DEE002CB92C /* RegalCacheShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3209D816F3A28900D1A9E0 /* RegalCacheShader.cpp */; }; + 4359167A18367DEE002CB92C /* RegalCacheTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3209DA16F3A28900D1A9E0 /* RegalCacheTexture.cpp */; }; + 4359167B18367DEE002CB92C /* RegalDispatcherGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1823175EB40600CB653A /* RegalDispatcherGL.cpp */; }; + 4359167C18367DEE002CB92C /* RegalDispatcherGlobal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1825175EB40600CB653A /* RegalDispatcherGlobal.cpp */; }; + 4359167D18367DEE002CB92C /* RegalStatistics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF182B175EB46800CB653A /* RegalStatistics.cpp */; }; + 4359167E18367DEE002CB92C /* RegalDispatchStatistics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1831175EB49D00CB653A /* RegalDispatchStatistics.cpp */; }; + 4359167F18367DEE002CB92C /* RegalDispatchTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1832175EB49D00CB653A /* RegalDispatchTrace.cpp */; }; + 4359168018367DEE002CB92C /* RegalPlugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1835175EB49D00CB653A /* RegalPlugin.cpp */; }; + 4359168118367DEE002CB92C /* RegalDispatchGLX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CB717C5AF870005C418 /* RegalDispatchGLX.cpp */; }; + 4359168218367DEE002CB92C /* RegalX11.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CB817C5AF870005C418 /* RegalX11.cpp */; }; + 4359168318367DEE002CB92C /* RegalDispatchStaticEGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CB917C5AF880005C418 /* RegalDispatchStaticEGL.cpp */; }; + 4359168418367DEE002CB92C /* RegalEmuInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBA1FC717DF836700CB6E19 /* RegalEmuInfo.cpp */; }; + 4359168518367DEE002CB92C /* RegalEmu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBA1FC917DF836700CB6E19 /* RegalEmu.cpp */; }; + 4359168618367DEE002CB92C /* RegalDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCB6107017F21E6500BA0A06 /* RegalDispatch.cpp */; }; + 4359168718367DEE002CB92C /* RegalQuads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4DBEC11804FB0600F6D226 /* RegalQuads.cpp */; }; + 4359168818367DEE002CB92C /* RegalShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 435914D8182BF69F002CB92C /* RegalShader.cpp */; }; + 4359168918367DEE002CB92C /* RegalShaderInstance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 435914DA182BF69F002CB92C /* RegalShaderInstance.cpp */; }; + 4359168D18367DEE002CB92C /* libjsonsl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359145118293A68002CB92C /* libjsonsl.a */; }; + 4359169618367DEE002CB92C /* linear.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1D215C48D1F0063667E /* linear.h */; }; + 4359169718367DEE002CB92C /* RegalBin.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1D415C48D1F0063667E /* RegalBin.h */; }; + 4359169818367DEE002CB92C /* RegalConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1D615C48D1F0063667E /* RegalConfig.h */; }; + 4359169918367DEE002CB92C /* RegalContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1D815C48D1F0063667E /* RegalContext.h */; }; + 4359169A18367DEE002CB92C /* RegalContextInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1DA15C48D1F0063667E /* RegalContextInfo.h */; }; + 4359169B18367DEE002CB92C /* RegalDebugInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1DB15C48D1F0063667E /* RegalDebugInfo.h */; }; + 4359169C18367DEE002CB92C /* RegalDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1DC15C48D1F0063667E /* RegalDispatch.h */; }; + 4359169D18367DEE002CB92C /* RegalDispatchError.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1E015C48D1F0063667E /* RegalDispatchError.h */; }; + 4359169E18367DEE002CB92C /* RegalDsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1E515C48D1F0063667E /* RegalDsa.h */; }; + 4359169F18367DEE002CB92C /* RegalEmu.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1E615C48D200063667E /* RegalEmu.h */; }; + 435916A018367DEE002CB92C /* RegalHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1E815C48D200063667E /* RegalHelper.h */; }; + 435916A118367DEE002CB92C /* RegalHttp.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1EA15C48D200063667E /* RegalHttp.h */; }; + 435916A218367DEE002CB92C /* RegalIff.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1EC15C48D200063667E /* RegalIff.h */; }; + 435916A318367DEE002CB92C /* RegalInit.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1EE15C48D200063667E /* RegalInit.h */; }; + 435916A418367DEE002CB92C /* RegalLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1F015C48D200063667E /* RegalLog.h */; }; + 435916A518367DEE002CB92C /* RegalLookup.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1F215C48D200063667E /* RegalLookup.h */; }; + 435916A618367DEE002CB92C /* RegalMarker.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1F315C48D200063667E /* RegalMarker.h */; }; + 435916A718367DEE002CB92C /* RegalObj.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1F415C48D200063667E /* RegalObj.h */; }; + 435916A818367DEE002CB92C /* RegalPpa.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1F515C48D200063667E /* RegalPpa.h */; }; + 435916A918367DEE002CB92C /* RegalPrecompile.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1F715C48D200063667E /* RegalPrecompile.h */; }; + 435916AA18367DEE002CB92C /* RegalPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1F815C48D200063667E /* RegalPrivate.h */; }; + 435916AB18367DEE002CB92C /* RegalState.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1F915C48D200063667E /* RegalState.h */; }; + 435916AC18367DEE002CB92C /* RegalToken.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1FB15C48D200063667E /* RegalToken.h */; }; + 435916AD18367DEE002CB92C /* RegalUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1FD15C48D200063667E /* RegalUtil.h */; }; + 435916AE18367DEE002CB92C /* RegalVao.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1FE15C48D200063667E /* RegalVao.h */; }; + 435916AF18367DEE002CB92C /* RegalEnum.h in Headers */ = {isa = PBXBuildFile; fileRef = 431D3C0915C9B6F0009DD04F /* RegalEnum.h */; }; + 435916B018367DEE002CB92C /* RegalFavicon.h in Headers */ = {isa = PBXBuildFile; fileRef = 431D3C0B15C9B6F0009DD04F /* RegalFavicon.h */; }; + 435916B118367DEE002CB92C /* RegalDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = BCF889A615E079C20093B7D5 /* RegalDispatcher.h */; }; + 435916B218367DEE002CB92C /* RegalFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = BC640C9B16554A52007DEF69 /* RegalFrame.h */; }; + 435916B318367DEE002CB92C /* RegalPush.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBEC6FF167AD72700B38E16 /* RegalPush.h */; }; + 435916B418367DEE002CB92C /* RegalSharedList.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBEC702167AD72700B38E16 /* RegalSharedList.h */; }; + 435916B518367DEE002CB92C /* RegalSharedMap.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBEC703167AD72700B38E16 /* RegalSharedMap.h */; }; + 435916B618367DEE002CB92C /* RegalSharedPtr.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBEC704167AD72700B38E16 /* RegalSharedPtr.h */; }; + 435916B718367DEE002CB92C /* RegalSo.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBEC706167AD72700B38E16 /* RegalSo.h */; }; + 435916B818367DEE002CB92C /* RegalPixelConversions.h in Headers */ = {isa = PBXBuildFile; fileRef = 438D2C2216DE668A005E03F6 /* RegalPixelConversions.h */; }; + 435916B918367DEE002CB92C /* RegalPpca.h in Headers */ = {isa = PBXBuildFile; fileRef = 438D2C2516DE668A005E03F6 /* RegalPpca.h */; }; + 435916BA18367DEE002CB92C /* RegalSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 438D2C2616DE668A005E03F6 /* RegalSystem.h */; }; + 435916BB18367DEE002CB92C /* RegalTexC.h in Headers */ = {isa = PBXBuildFile; fileRef = 438D2C2816DE668A005E03F6 /* RegalTexC.h */; }; + 435916BC18367DEE002CB92C /* RegalThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 438D2C2916DE668A005E03F6 /* RegalThread.h */; }; + 435916BD18367DEE002CB92C /* RegalTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 438D2C2A16DE668A005E03F6 /* RegalTimer.h */; }; + 435916BE18367DEE002CB92C /* Regal.h in Headers */ = {isa = PBXBuildFile; fileRef = 438D2C3616DE6699005E03F6 /* Regal.h */; }; + 435916BF18367DEE002CB92C /* RegalBreak.h in Headers */ = {isa = PBXBuildFile; fileRef = BC94B98A16DFDC6200116D55 /* RegalBreak.h */; }; + 435916C018367DEE002CB92C /* RegalFilt.h in Headers */ = {isa = PBXBuildFile; fileRef = BC94B99616DFDF1F00116D55 /* RegalFilt.h */; }; + 435916C118367DEE002CB92C /* RegalXfer.h in Headers */ = {isa = PBXBuildFile; fileRef = 430443EF16F1656A0078C0F9 /* RegalXfer.h */; }; + 435916C218367DEE002CB92C /* RegalMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 430443F216F1658F0078C0F9 /* RegalMac.h */; }; + 435916C318367DEE002CB92C /* RegalScopedPtr.h in Headers */ = {isa = PBXBuildFile; fileRef = 430443F316F1658F0078C0F9 /* RegalScopedPtr.h */; }; + 435916C418367DEE002CB92C /* RegalCacheShader.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3209D916F3A28900D1A9E0 /* RegalCacheShader.h */; }; + 435916C518367DEE002CB92C /* RegalCacheTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3209DB16F3A28900D1A9E0 /* RegalCacheTexture.h */; }; + 435916C618367DEE002CB92C /* RegalJson.h in Headers */ = {isa = PBXBuildFile; fileRef = BC60A6B117032F1A0055437B /* RegalJson.h */; }; + 435916C718367DEE002CB92C /* RegalDispatcherGL.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1824175EB40600CB653A /* RegalDispatcherGL.h */; }; + 435916C818367DEE002CB92C /* RegalDispatcherGlobal.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1826175EB40600CB653A /* RegalDispatcherGlobal.h */; }; + 435916C918367DEE002CB92C /* RegalStatistics.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF182C175EB46800CB653A /* RegalStatistics.h */; }; + 435916CA18367DEE002CB92C /* RegalBaseVertex.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF182F175EB49D00CB653A /* RegalBaseVertex.h */; }; + 435916CB18367DEE002CB92C /* RegalClientState.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1830175EB49D00CB653A /* RegalClientState.h */; }; + 435916CC18367DEE002CB92C /* RegalFloat4.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1833175EB49D00CB653A /* RegalFloat4.h */; }; + 435916CD18367DEE002CB92C /* RegalMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1834175EB49D00CB653A /* RegalMutex.h */; }; + 435916CE18367DEE002CB92C /* RegalRect.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1836175EB49D00CB653A /* RegalRect.h */; }; + 435916CF18367DEE002CB92C /* RegalHint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC8E9CBA17C5AF880005C418 /* RegalHint.h */; }; + 435916D018367DEE002CB92C /* RegalNamespace.h in Headers */ = {isa = PBXBuildFile; fileRef = BC8E9CBB17C5AF880005C418 /* RegalNamespace.h */; }; + 435916D118367DEE002CB92C /* RegalTexSto.h in Headers */ = {isa = PBXBuildFile; fileRef = BC8E9CBC17C5AF880005C418 /* RegalTexSto.h */; }; + 435916D218367DEE002CB92C /* RegalEmuInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBA1FC817DF836700CB6E19 /* RegalEmuInfo.h */; }; + 435916D318367DEE002CB92C /* RegalQuads.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4DBEC21804FB0600F6D226 /* RegalQuads.h */; }; + 435916D418367DEE002CB92C /* RegalLayerInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 435914D7182BF69F002CB92C /* RegalLayerInfo.h */; }; + 435916D518367DEE002CB92C /* RegalShader.h in Headers */ = {isa = PBXBuildFile; fileRef = 435914D9182BF69F002CB92C /* RegalShader.h */; }; + 435916D618367DEE002CB92C /* RegalShaderInstance.h in Headers */ = {isa = PBXBuildFile; fileRef = 435914EA182BFBDB002CB92C /* RegalShaderInstance.h */; }; + 435916E818367E05002CB92C /* linear.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D215C48D1F0063667E /* linear.h */; }; + 435916E918367E05002CB92C /* Regal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D315C48D1F0063667E /* Regal.cpp */; }; + 435916EA18367E05002CB92C /* Regal.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C3616DE6699005E03F6 /* Regal.h */; }; + 435916EB18367E05002CB92C /* RegalBaseVertex.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF182F175EB49D00CB653A /* RegalBaseVertex.h */; }; + 435916EC18367E05002CB92C /* RegalBin.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D415C48D1F0063667E /* RegalBin.h */; }; + 435916ED18367E05002CB92C /* RegalBreak.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC94B98916DFDC6200116D55 /* RegalBreak.cpp */; }; + 435916EE18367E05002CB92C /* RegalBreak.h in Sources */ = {isa = PBXBuildFile; fileRef = BC94B98A16DFDC6200116D55 /* RegalBreak.h */; }; + 435916EF18367E05002CB92C /* RegalCacheShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3209D816F3A28900D1A9E0 /* RegalCacheShader.cpp */; }; + 435916F018367E05002CB92C /* RegalCacheShader.h in Sources */ = {isa = PBXBuildFile; fileRef = BC3209D916F3A28900D1A9E0 /* RegalCacheShader.h */; }; + 435916F118367E05002CB92C /* RegalCacheTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3209DA16F3A28900D1A9E0 /* RegalCacheTexture.cpp */; }; + 435916F218367E05002CB92C /* RegalCacheTexture.h in Sources */ = {isa = PBXBuildFile; fileRef = BC3209DB16F3A28900D1A9E0 /* RegalCacheTexture.h */; }; + 435916F318367E05002CB92C /* RegalClientState.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1830175EB49D00CB653A /* RegalClientState.h */; }; + 435916F418367E05002CB92C /* RegalConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D515C48D1F0063667E /* RegalConfig.cpp */; }; + 435916F518367E05002CB92C /* RegalConfig.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D615C48D1F0063667E /* RegalConfig.h */; }; + 435916F618367E05002CB92C /* RegalContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D715C48D1F0063667E /* RegalContext.cpp */; }; + 435916F718367E05002CB92C /* RegalContext.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D815C48D1F0063667E /* RegalContext.h */; }; + 435916F818367E05002CB92C /* RegalContextInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1D915C48D1F0063667E /* RegalContextInfo.cpp */; }; + 435916F918367E05002CB92C /* RegalContextInfo.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DA15C48D1F0063667E /* RegalContextInfo.h */; }; + 435916FA18367E05002CB92C /* RegalDebugInfo.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DB15C48D1F0063667E /* RegalDebugInfo.h */; }; + 435916FB18367E05002CB92C /* RegalDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCB6107017F21E6500BA0A06 /* RegalDispatch.cpp */; }; + 435916FC18367E05002CB92C /* RegalDispatch.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DC15C48D1F0063667E /* RegalDispatch.h */; }; + 435916FD18367E05002CB92C /* RegalDispatchCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC710167AD74400B38E16 /* RegalDispatchCache.cpp */; }; + 435916FE18367E05002CB92C /* RegalDispatchCode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC711167AD74400B38E16 /* RegalDispatchCode.cpp */; }; + 435916FF18367E05002CB92C /* RegalDispatchDebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DD15C48D1F0063667E /* RegalDispatchDebug.cpp */; }; + 4359170018367E05002CB92C /* RegalDispatchEmu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DE15C48D1F0063667E /* RegalDispatchEmu.cpp */; }; + 4359170118367E05002CB92C /* RegalDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCF889A515E079C20093B7D5 /* RegalDispatcher.cpp */; }; + 4359170218367E05002CB92C /* RegalDispatcher.h in Sources */ = {isa = PBXBuildFile; fileRef = BCF889A615E079C20093B7D5 /* RegalDispatcher.h */; }; + 4359170318367E05002CB92C /* RegalDispatcherGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1823175EB40600CB653A /* RegalDispatcherGL.cpp */; }; + 4359170418367E05002CB92C /* RegalDispatcherGL.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1824175EB40600CB653A /* RegalDispatcherGL.h */; }; + 4359170518367E05002CB92C /* RegalDispatcherGlobal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1825175EB40600CB653A /* RegalDispatcherGlobal.cpp */; }; + 4359170618367E05002CB92C /* RegalDispatcherGlobal.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1826175EB40600CB653A /* RegalDispatcherGlobal.h */; }; + 4359170718367E05002CB92C /* RegalDispatchError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1DF15C48D1F0063667E /* RegalDispatchError.cpp */; }; + 4359170818367E05002CB92C /* RegalDispatchError.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E015C48D1F0063667E /* RegalDispatchError.h */; }; + 4359170918367E05002CB92C /* RegalDispatchGlobal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC6C911C15EE3CDF0056E4F7 /* RegalDispatchGlobal.cpp */; }; + 4359170A18367E05002CB92C /* RegalDispatchGLX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CB717C5AF870005C418 /* RegalDispatchGLX.cpp */; }; + 4359170B18367E05002CB92C /* RegalDispatchLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E115C48D1F0063667E /* RegalDispatchLoader.cpp */; }; + 4359170C18367E05002CB92C /* RegalDispatchLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E215C48D1F0063667E /* RegalDispatchLog.cpp */; }; + 4359170D18367E05002CB92C /* RegalDispatchMissing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC456F1015D55F8E0080B420 /* RegalDispatchMissing.cpp */; }; + 4359170E18367E05002CB92C /* RegalDispatchPpapi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC456F1115D55F8E0080B420 /* RegalDispatchPpapi.cpp */; }; + 4359170F18367E05002CB92C /* RegalDispatchStaticEGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CB917C5AF880005C418 /* RegalDispatchStaticEGL.cpp */; }; + 4359171018367E05002CB92C /* RegalDispatchStaticES2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCF889A915E079D80093B7D5 /* RegalDispatchStaticES2.cpp */; }; + 4359171118367E05002CB92C /* RegalDispatchStatistics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1831175EB49D00CB653A /* RegalDispatchStatistics.cpp */; }; + 4359171218367E05002CB92C /* RegalDispatchTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1832175EB49D00CB653A /* RegalDispatchTrace.cpp */; }; + 4359171318367E05002CB92C /* RegalDllMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E415C48D1F0063667E /* RegalDllMain.cpp */; }; + 4359171418367E05002CB92C /* RegalDsa.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E515C48D1F0063667E /* RegalDsa.h */; }; + 4359171518367E05002CB92C /* RegalEmu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBA1FC917DF836700CB6E19 /* RegalEmu.cpp */; }; + 4359171618367E05002CB92C /* RegalEmu.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E615C48D200063667E /* RegalEmu.h */; }; + 4359171718367E05002CB92C /* RegalEmuInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBA1FC717DF836700CB6E19 /* RegalEmuInfo.cpp */; }; + 4359171818367E05002CB92C /* RegalEmuInfo.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBA1FC817DF836700CB6E19 /* RegalEmuInfo.h */; }; + 4359171918367E05002CB92C /* RegalEnum.h in Sources */ = {isa = PBXBuildFile; fileRef = 431D3C0915C9B6F0009DD04F /* RegalEnum.h */; }; + 4359171A18367E05002CB92C /* RegalFavicon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 431D3C0A15C9B6F0009DD04F /* RegalFavicon.cpp */; }; + 4359171B18367E05002CB92C /* RegalFavicon.h in Sources */ = {isa = PBXBuildFile; fileRef = 431D3C0B15C9B6F0009DD04F /* RegalFavicon.h */; }; + 4359171C18367E05002CB92C /* RegalFilt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC94B99516DFDF1F00116D55 /* RegalFilt.cpp */; }; + 4359171D18367E05002CB92C /* RegalFilt.h in Sources */ = {isa = PBXBuildFile; fileRef = BC94B99616DFDF1F00116D55 /* RegalFilt.h */; }; + 4359171E18367E05002CB92C /* RegalFloat4.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1833175EB49D00CB653A /* RegalFloat4.h */; }; + 4359171F18367E05002CB92C /* RegalFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC640C9A16554A52007DEF69 /* RegalFrame.cpp */; }; + 4359172018367E05002CB92C /* RegalFrame.h in Sources */ = {isa = PBXBuildFile; fileRef = BC640C9B16554A52007DEF69 /* RegalFrame.h */; }; + 4359172118367E05002CB92C /* RegalHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E715C48D200063667E /* RegalHelper.cpp */; }; + 4359172218367E05002CB92C /* RegalHelper.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E815C48D200063667E /* RegalHelper.h */; }; + 4359172318367E05002CB92C /* RegalHint.h in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CBA17C5AF880005C418 /* RegalHint.h */; }; + 4359172418367E05002CB92C /* RegalHttp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1E915C48D200063667E /* RegalHttp.cpp */; }; + 4359172518367E05002CB92C /* RegalHttp.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1EA15C48D200063667E /* RegalHttp.h */; }; + 4359172618367E05002CB92C /* RegalIff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1EB15C48D200063667E /* RegalIff.cpp */; }; + 4359172718367E05002CB92C /* RegalIff.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1EC15C48D200063667E /* RegalIff.h */; }; + 4359172818367E05002CB92C /* RegalInit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1ED15C48D200063667E /* RegalInit.cpp */; }; + 4359172918367E05002CB92C /* RegalInit.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1EE15C48D200063667E /* RegalInit.h */; }; + 4359172A18367E05002CB92C /* RegalJson.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C1F16DE668A005E03F6 /* RegalJson.cpp */; }; + 4359172B18367E05002CB92C /* RegalJson.h in Sources */ = {isa = PBXBuildFile; fileRef = BC60A6B117032F1A0055437B /* RegalJson.h */; }; + 4359172C18367E05002CB92C /* RegalJson.inl in Sources */ = {isa = PBXBuildFile; fileRef = 436E18CA17020027005BE93E /* RegalJson.inl */; }; + 4359172D18367E05002CB92C /* RegalLayerInfo.h in Sources */ = {isa = PBXBuildFile; fileRef = 435914D7182BF69F002CB92C /* RegalLayerInfo.h */; }; + 4359172E18367E05002CB92C /* RegalLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1EF15C48D200063667E /* RegalLog.cpp */; }; + 4359172F18367E05002CB92C /* RegalLog.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F015C48D200063667E /* RegalLog.h */; }; + 4359173018367E05002CB92C /* RegalLookup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F115C48D200063667E /* RegalLookup.cpp */; }; + 4359173118367E05002CB92C /* RegalLookup.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F215C48D200063667E /* RegalLookup.h */; }; + 4359173218367E05002CB92C /* RegalMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 431D3C0C15C9B6F0009DD04F /* RegalMac.cpp */; }; + 4359173318367E05002CB92C /* RegalMac.h in Sources */ = {isa = PBXBuildFile; fileRef = 430443F216F1658F0078C0F9 /* RegalMac.h */; }; + 4359173418367E05002CB92C /* RegalMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02094D160D1BA3003FAB99 /* RegalMarker.cpp */; }; + 4359173518367E05002CB92C /* RegalMarker.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F315C48D200063667E /* RegalMarker.h */; }; + 4359173618367E05002CB92C /* RegalMutex.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1834175EB49D00CB653A /* RegalMutex.h */; }; + 4359173718367E05002CB92C /* RegalNamespace.h in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CBB17C5AF880005C418 /* RegalNamespace.h */; }; + 4359173818367E05002CB92C /* RegalObj.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F415C48D200063667E /* RegalObj.h */; }; + 4359173918367E05002CB92C /* RegalPixelConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2116DE668A005E03F6 /* RegalPixelConversions.cpp */; }; + 4359173A18367E05002CB92C /* RegalPixelConversions.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2216DE668A005E03F6 /* RegalPixelConversions.h */; }; + 4359173B18367E05002CB92C /* RegalPixelConversions.inl in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2316DE668A005E03F6 /* RegalPixelConversions.inl */; }; + 4359173C18367E05002CB92C /* RegalPlugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1835175EB49D00CB653A /* RegalPlugin.cpp */; }; + 4359173D18367E05002CB92C /* RegalPpa.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F515C48D200063667E /* RegalPpa.h */; }; + 4359173E18367E05002CB92C /* RegalPpca.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2516DE668A005E03F6 /* RegalPpca.h */; }; + 4359173F18367E05002CB92C /* RegalPrecompile.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F715C48D200063667E /* RegalPrecompile.h */; }; + 4359174018367E05002CB92C /* RegalPrivate.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F815C48D200063667E /* RegalPrivate.h */; }; + 4359174118367E05002CB92C /* RegalPush.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC6FF167AD72700B38E16 /* RegalPush.h */; }; + 4359174218367E05002CB92C /* RegalQuads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4DBEC11804FB0600F6D226 /* RegalQuads.cpp */; }; + 4359174318367E05002CB92C /* RegalQuads.h in Sources */ = {isa = PBXBuildFile; fileRef = BC4DBEC21804FB0600F6D226 /* RegalQuads.h */; }; + 4359174418367E05002CB92C /* RegalRect.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1836175EB49D00CB653A /* RegalRect.h */; }; + 4359174518367E05002CB92C /* RegalScopedPtr.h in Sources */ = {isa = PBXBuildFile; fileRef = 430443F316F1658F0078C0F9 /* RegalScopedPtr.h */; }; + 4359174618367E05002CB92C /* RegalShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 435914D8182BF69F002CB92C /* RegalShader.cpp */; }; + 4359174718367E05002CB92C /* RegalShader.h in Sources */ = {isa = PBXBuildFile; fileRef = 435914D9182BF69F002CB92C /* RegalShader.h */; }; + 4359174818367E05002CB92C /* RegalShaderInstance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 435914DA182BF69F002CB92C /* RegalShaderInstance.cpp */; }; + 4359174918367E05002CB92C /* RegalShaderInstance.h in Sources */ = {isa = PBXBuildFile; fileRef = 435914EA182BFBDB002CB92C /* RegalShaderInstance.h */; }; + 4359174A18367E05002CB92C /* RegalSharedList.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC702167AD72700B38E16 /* RegalSharedList.h */; }; + 4359174B18367E05002CB92C /* RegalSharedMap.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC703167AD72700B38E16 /* RegalSharedMap.h */; }; + 4359174C18367E05002CB92C /* RegalSharedPtr.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC704167AD72700B38E16 /* RegalSharedPtr.h */; }; + 4359174D18367E05002CB92C /* RegalSo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC705167AD72700B38E16 /* RegalSo.cpp */; }; + 4359174E18367E05002CB92C /* RegalSo.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC706167AD72700B38E16 /* RegalSo.h */; }; + 4359174F18367E05002CB92C /* RegalState.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1F915C48D200063667E /* RegalState.h */; }; + 4359175018367E05002CB92C /* RegalStatistics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF182B175EB46800CB653A /* RegalStatistics.cpp */; }; + 4359175118367E05002CB92C /* RegalStatistics.h in Sources */ = {isa = PBXBuildFile; fileRef = BCBF182C175EB46800CB653A /* RegalStatistics.h */; }; + 4359175218367E05002CB92C /* RegalSystem.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2616DE668A005E03F6 /* RegalSystem.h */; }; + 4359175318367E05002CB92C /* RegalTexC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2716DE668A005E03F6 /* RegalTexC.cpp */; }; + 4359175418367E05002CB92C /* RegalTexC.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2816DE668A005E03F6 /* RegalTexC.h */; }; + 4359175518367E05002CB92C /* RegalTexSto.h in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CBC17C5AF880005C418 /* RegalTexSto.h */; }; + 4359175618367E05002CB92C /* RegalThread.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2916DE668A005E03F6 /* RegalThread.h */; }; + 4359175718367E05002CB92C /* RegalTimer.h in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2A16DE668A005E03F6 /* RegalTimer.h */; }; + 4359175818367E05002CB92C /* RegalToken.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1FA15C48D200063667E /* RegalToken.cpp */; }; + 4359175918367E05002CB92C /* RegalToken.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1FB15C48D200063667E /* RegalToken.h */; }; + 4359175A18367E05002CB92C /* RegalUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1FC15C48D200063667E /* RegalUtil.cpp */; }; + 4359175B18367E05002CB92C /* RegalUtil.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1FD15C48D200063667E /* RegalUtil.h */; }; + 4359175C18367E05002CB92C /* RegalVao.h in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1FE15C48D200063667E /* RegalVao.h */; }; + 4359175D18367E05002CB92C /* RegalX11.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8E9CB817C5AF870005C418 /* RegalX11.cpp */; }; + 4359175E18367E05002CB92C /* RegalXfer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 430443EE16F1656A0078C0F9 /* RegalXfer.cpp */; }; + 4359175F18367E05002CB92C /* RegalXfer.h in Sources */ = {isa = PBXBuildFile; fileRef = 430443EF16F1656A0078C0F9 /* RegalXfer.h */; }; + 4359176318367E05002CB92C /* libjsonsl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359145118293A68002CB92C /* libjsonsl.a */; }; 438D2C2B16DE668A005E03F6 /* RegalJson.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C1F16DE668A005E03F6 /* RegalJson.cpp */; }; 438D2C2D16DE668A005E03F6 /* RegalPixelConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2116DE668A005E03F6 /* RegalPixelConversions.cpp */; }; 438D2C2E16DE668A005E03F6 /* RegalPixelConversions.h in Headers */ = {isa = PBXBuildFile; fileRef = 438D2C2216DE668A005E03F6 /* RegalPixelConversions.h */; }; @@ -76,6 +452,16 @@ 43A6C22915C48D200063667E /* RegalUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A6C1FC15C48D200063667E /* RegalUtil.cpp */; }; 43A6C22A15C48D200063667E /* RegalUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1FD15C48D200063667E /* RegalUtil.h */; }; 43A6C22B15C48D200063667E /* RegalVao.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A6C1FE15C48D200063667E /* RegalVao.h */; }; + 43C7580C184B69E2007E765F /* RegalDispatchHttp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43C7580B184B69E2007E765F /* RegalDispatchHttp.cpp */; }; + 43C7580D184B69E2007E765F /* RegalDispatchHttp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43C7580B184B69E2007E765F /* RegalDispatchHttp.cpp */; }; + 43C7580E184B69E2007E765F /* RegalDispatchHttp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43C7580B184B69E2007E765F /* RegalDispatchHttp.cpp */; }; + 43C7580F184B69E2007E765F /* RegalDispatchHttp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43C7580B184B69E2007E765F /* RegalDispatchHttp.cpp */; }; + 43C7583B184DB9C0007E765F /* RegalDispatchHttp.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C7583A184DB9BF007E765F /* RegalDispatchHttp.h */; }; + 43C7583C184DB9C0007E765F /* RegalDispatchHttp.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C7583A184DB9BF007E765F /* RegalDispatchHttp.h */; }; + 43C7583D184DB9C0007E765F /* RegalDispatchHttp.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C7583A184DB9BF007E765F /* RegalDispatchHttp.h */; }; + 43C7583E184DB9C0007E765F /* RegalDispatchHttp.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C7583A184DB9BF007E765F /* RegalDispatchHttp.h */; }; + 43FE2CFB18368078009A9311 /* libmd5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359145718293A74002CB92C /* libmd5.a */; }; + 43FE2D1C18368169009A9311 /* libmd5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359145718293A74002CB92C /* libmd5.a */; }; BC02094E160D1BA3003FAB99 /* RegalMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02094D160D1BA3003FAB99 /* RegalMarker.cpp */; }; BC3209DC16F3A28900D1A9E0 /* RegalCacheShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3209D816F3A28900D1A9E0 /* RegalCacheShader.cpp */; }; BC3209DD16F3A28900D1A9E0 /* RegalCacheShader.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3209D916F3A28900D1A9E0 /* RegalCacheShader.h */; }; @@ -187,6 +573,188 @@ remoteGlobalIDString = 4336661617C56A0800D45AD9; remoteInfo = zlib; }; + 435914A9182945F0002CB92C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 435914A3182945EF002CB92C /* glsl_optimizer_lib.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D2AAC046055464E500DB518D; + remoteInfo = glsl_optimizer; + }; + 435914AB182945F0002CB92C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 435914A3182945EF002CB92C /* glsl_optimizer_lib.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2BA0803D1352EB9300A1C074; + remoteInfo = builtin_compiler; + }; + 43CEAE78183BFFEF002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 435914A3182945EF002CB92C /* glsl_optimizer_lib.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = D2AAC045055464E500DB518D; + remoteInfo = glsl_optimizer; + }; + 43CEAE85183BFFF4002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359144618293A5B002CB92C /* apitrace.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 433667A817C56F3500D45AD9; + remoteInfo = apitrace; + }; + 43CEAE87183C0000002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359144C18293A68002CB92C /* jsonsl.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336679317C56EF900D45AD9; + remoteInfo = jsonsl; + }; + 43CEAE89183C0009002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359145218293A73002CB92C /* md5.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336678017C56DFD00D45AD9; + remoteInfo = md5; + }; + 43CEAE8B183C0009002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359145818293A7C002CB92C /* mongoose.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336676D17C56DC700D45AD9; + remoteInfo = mongoose; + }; + 43CEAE8D183C0011002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359145E18293A8A002CB92C /* pcre.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 433666B817C56BC000D45AD9; + remoteInfo = pcre; + }; + 43CEAE8F183C0011002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359146418293A93002CB92C /* png.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 433665D417C5632600D45AD9; + remoteInfo = png; + }; + 43CEAE91183C0011002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359146A18293A9C002CB92C /* snappy.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336665717C56AA300D45AD9; + remoteInfo = snappy; + }; + 43CEAE93183C0011002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359147018293AAA002CB92C /* squish.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336667817C56B5200D45AD9; + remoteInfo = squish; + }; + 43CEAE95183C0011002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359147618293AB1002CB92C /* zlib.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336661517C56A0800D45AD9; + remoteInfo = zlib; + }; + 43CEAEA2183C01E2002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 435914A3182945EF002CB92C /* glsl_optimizer_lib.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = D2AAC045055464E500DB518D; + remoteInfo = glsl_optimizer; + }; + 43CEAEA4183C01E2002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359144618293A5B002CB92C /* apitrace.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 433667A817C56F3500D45AD9; + remoteInfo = apitrace; + }; + 43CEAEA6183C01E2002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359144C18293A68002CB92C /* jsonsl.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336679317C56EF900D45AD9; + remoteInfo = jsonsl; + }; + 43CEAEA8183C01E2002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359145218293A73002CB92C /* md5.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336678017C56DFD00D45AD9; + remoteInfo = md5; + }; + 43CEAEAB183C01ED002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359145818293A7C002CB92C /* mongoose.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336676D17C56DC700D45AD9; + remoteInfo = mongoose; + }; + 43CEAEAD183C01ED002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359145E18293A8A002CB92C /* pcre.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 433666B817C56BC000D45AD9; + remoteInfo = pcre; + }; + 43CEAEAF183C01ED002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359146418293A93002CB92C /* png.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 433665D417C5632600D45AD9; + remoteInfo = png; + }; + 43CEAEB1183C01ED002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359146A18293A9C002CB92C /* snappy.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336665717C56AA300D45AD9; + remoteInfo = snappy; + }; + 43CEAEB3183C01ED002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359147018293AAA002CB92C /* squish.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336667817C56B5200D45AD9; + remoteInfo = squish; + }; + 43CEAEB5183C01ED002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359147618293AB1002CB92C /* zlib.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336661517C56A0800D45AD9; + remoteInfo = zlib; + }; + 43CEAEB7183C01FF002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359144C18293A68002CB92C /* jsonsl.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336679317C56EF900D45AD9; + remoteInfo = jsonsl; + }; + 43CEAEB9183C01FF002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359145218293A73002CB92C /* md5.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336678017C56DFD00D45AD9; + remoteInfo = md5; + }; + 43CEAEBB183C0207002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359144C18293A68002CB92C /* jsonsl.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336679317C56EF900D45AD9; + remoteInfo = jsonsl; + }; + 43CEAEBD183C0207002CE35E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4359145218293A73002CB92C /* md5.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 4336678017C56DFD00D45AD9; + remoteInfo = md5; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ @@ -206,6 +774,15 @@ 4359146A18293A9C002CB92C /* snappy.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = snappy.xcodeproj; path = ../snappy/snappy.xcodeproj; sourceTree = ""; }; 4359147018293AAA002CB92C /* squish.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = squish.xcodeproj; path = ../squish/squish.xcodeproj; sourceTree = ""; }; 4359147618293AB1002CB92C /* zlib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = zlib.xcodeproj; path = ../zlib/zlib.xcodeproj; sourceTree = ""; }; + 435914A3182945EF002CB92C /* glsl_optimizer_lib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = glsl_optimizer_lib.xcodeproj; path = ../../../src/glsl/projects/xcode4/glsl_optimizer_lib.xcodeproj; sourceTree = ""; }; + 435914D7182BF69F002CB92C /* RegalLayerInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalLayerInfo.h; path = ../../../src/regal/RegalLayerInfo.h; sourceTree = ""; }; + 435914D8182BF69F002CB92C /* RegalShader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalShader.cpp; path = ../../../src/regal/RegalShader.cpp; sourceTree = ""; }; + 435914D9182BF69F002CB92C /* RegalShader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalShader.h; path = ../../../src/regal/RegalShader.h; sourceTree = ""; }; + 435914DA182BF69F002CB92C /* RegalShaderInstance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalShaderInstance.cpp; path = ../../../src/regal/RegalShaderInstance.cpp; sourceTree = ""; }; + 435914EA182BFBDB002CB92C /* RegalShaderInstance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalShaderInstance.h; path = ../../../src/regal/RegalShaderInstance.h; sourceTree = ""; }; + 4359158318367621002CB92C /* libRegal.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libRegal.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; + 435916DA18367DEE002CB92C /* libRegalW.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRegalW.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 4359176F18367E05002CB92C /* libRegalW.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libRegalW.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; 436E18CA17020027005BE93E /* RegalJson.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = RegalJson.inl; path = ../../../src/regal/RegalJson.inl; sourceTree = ""; }; 438D2C1F16DE668A005E03F6 /* RegalJson.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalJson.cpp; path = ../../../src/regal/RegalJson.cpp; sourceTree = ""; }; 438D2C2116DE668A005E03F6 /* RegalPixelConversions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalPixelConversions.cpp; path = ../../../src/regal/RegalPixelConversions.cpp; sourceTree = ""; }; @@ -262,6 +839,8 @@ 43A6C1FC15C48D200063667E /* RegalUtil.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalUtil.cpp; path = ../../../src/regal/RegalUtil.cpp; sourceTree = ""; }; 43A6C1FD15C48D200063667E /* RegalUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalUtil.h; path = ../../../src/regal/RegalUtil.h; sourceTree = ""; }; 43A6C1FE15C48D200063667E /* RegalVao.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalVao.h; path = ../../../src/regal/RegalVao.h; sourceTree = ""; }; + 43C7580B184B69E2007E765F /* RegalDispatchHttp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatchHttp.cpp; path = ../../../src/regal/RegalDispatchHttp.cpp; sourceTree = ""; }; + 43C7583A184DB9BF007E765F /* RegalDispatchHttp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalDispatchHttp.h; path = ../../../src/regal/RegalDispatchHttp.h; sourceTree = ""; }; BC02094D160D1BA3003FAB99 /* RegalMarker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalMarker.cpp; path = ../../../src/regal/RegalMarker.cpp; sourceTree = ""; }; BC3209D816F3A28900D1A9E0 /* RegalCacheShader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalCacheShader.cpp; path = ../../../src/regal/RegalCacheShader.cpp; sourceTree = ""; }; BC3209D916F3A28900D1A9E0 /* RegalCacheShader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalCacheShader.h; path = ../../../src/regal/RegalCacheShader.h; sourceTree = ""; }; @@ -317,10 +896,46 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 4359158018367621002CB92C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 4359160A183677E8002CB92C /* libapitrace.a in Frameworks */, + 4359160B183677E8002CB92C /* libglsl_optimizer.a in Frameworks */, + 4359160C183677E8002CB92C /* libjsonsl.a in Frameworks */, + 4359160D183677E8002CB92C /* libmd5.a in Frameworks */, + 4359160E183677E8002CB92C /* libmongoose.a in Frameworks */, + 4359160F183677E8002CB92C /* libpcre.a in Frameworks */, + 43591610183677E8002CB92C /* libpng.a in Frameworks */, + 43591611183677E8002CB92C /* libsnappy.a in Frameworks */, + 43591612183677E8002CB92C /* libsquish.a in Frameworks */, + 43591613183677E8002CB92C /* libzlib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4359168A18367DEE002CB92C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 43FE2CFB18368078009A9311 /* libmd5.a in Frameworks */, + 4359168D18367DEE002CB92C /* libjsonsl.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4359176018367E05002CB92C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 43FE2D1C18368169009A9311 /* libmd5.a in Frameworks */, + 4359176318367E05002CB92C /* libjsonsl.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 43A6C1C315C48CD90063667E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 435914B5182945FE002CB92C /* libglsl_optimizer.a in Frameworks */, 4359147D18293B32002CB92C /* libapitrace.a in Frameworks */, 4359147E18293B32002CB92C /* libjsonsl.a in Frameworks */, 4359147F18293B32002CB92C /* libmd5.a in Frameworks */, @@ -402,6 +1017,7 @@ 4359147C18293AF6002CB92C /* subprojects */ = { isa = PBXGroup; children = ( + 435914A3182945EF002CB92C /* glsl_optimizer_lib.xcodeproj */, 4359144618293A5B002CB92C /* apitrace.xcodeproj */, 4359144C18293A68002CB92C /* jsonsl.xcodeproj */, 4359145218293A73002CB92C /* md5.xcodeproj */, @@ -414,6 +1030,15 @@ name = subprojects; sourceTree = ""; }; + 435914A4182945EF002CB92C /* Products */ = { + isa = PBXGroup; + children = ( + 435914AA182945F0002CB92C /* libglsl_optimizer.a */, + 435914AC182945F0002CB92C /* builtincompiler */, + ); + name = Products; + sourceTree = ""; + }; 43A6C1BB15C48CD90063667E = { isa = PBXGroup; children = ( @@ -427,6 +1052,9 @@ isa = PBXGroup; children = ( 43A6C1C615C48CD90063667E /* libRegal.a */, + 4359158318367621002CB92C /* libRegal.dylib */, + 435916DA18367DEE002CB92C /* libRegalW.a */, + 4359176F18367E05002CB92C /* libRegalW.dylib */, ); name = Products; sourceTree = ""; @@ -469,6 +1097,8 @@ 43A6C1E015C48D1F0063667E /* RegalDispatchError.h */, BC6C911C15EE3CDF0056E4F7 /* RegalDispatchGlobal.cpp */, BC8E9CB717C5AF870005C418 /* RegalDispatchGLX.cpp */, + 43C7580B184B69E2007E765F /* RegalDispatchHttp.cpp */, + 43C7583A184DB9BF007E765F /* RegalDispatchHttp.h */, 43A6C1E115C48D1F0063667E /* RegalDispatchLoader.cpp */, 43A6C1E215C48D1F0063667E /* RegalDispatchLog.cpp */, BC456F1015D55F8E0080B420 /* RegalDispatchMissing.cpp */, @@ -503,6 +1133,7 @@ 438D2C1F16DE668A005E03F6 /* RegalJson.cpp */, BC60A6B117032F1A0055437B /* RegalJson.h */, 436E18CA17020027005BE93E /* RegalJson.inl */, + 435914D7182BF69F002CB92C /* RegalLayerInfo.h */, 43A6C1EF15C48D200063667E /* RegalLog.cpp */, 43A6C1F015C48D200063667E /* RegalLog.h */, 43A6C1F115C48D200063667E /* RegalLookup.cpp */, @@ -527,6 +1158,10 @@ BC4DBEC21804FB0600F6D226 /* RegalQuads.h */, BCBF1836175EB49D00CB653A /* RegalRect.h */, 430443F316F1658F0078C0F9 /* RegalScopedPtr.h */, + 435914D8182BF69F002CB92C /* RegalShader.cpp */, + 435914D9182BF69F002CB92C /* RegalShader.h */, + 435914DA182BF69F002CB92C /* RegalShaderInstance.cpp */, + 435914EA182BFBDB002CB92C /* RegalShaderInstance.h */, BCBEC702167AD72700B38E16 /* RegalSharedList.h */, BCBEC703167AD72700B38E16 /* RegalSharedMap.h */, BCBEC704167AD72700B38E16 /* RegalSharedPtr.h */, @@ -556,6 +1191,95 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 4359158118367621002CB92C /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 43C7583C184DB9C0007E765F /* RegalDispatchHttp.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4359169518367DEE002CB92C /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 4359169618367DEE002CB92C /* linear.h in Headers */, + 4359169718367DEE002CB92C /* RegalBin.h in Headers */, + 4359169818367DEE002CB92C /* RegalConfig.h in Headers */, + 4359169918367DEE002CB92C /* RegalContext.h in Headers */, + 4359169A18367DEE002CB92C /* RegalContextInfo.h in Headers */, + 4359169B18367DEE002CB92C /* RegalDebugInfo.h in Headers */, + 4359169C18367DEE002CB92C /* RegalDispatch.h in Headers */, + 4359169D18367DEE002CB92C /* RegalDispatchError.h in Headers */, + 4359169E18367DEE002CB92C /* RegalDsa.h in Headers */, + 4359169F18367DEE002CB92C /* RegalEmu.h in Headers */, + 435916A018367DEE002CB92C /* RegalHelper.h in Headers */, + 435916A118367DEE002CB92C /* RegalHttp.h in Headers */, + 435916A218367DEE002CB92C /* RegalIff.h in Headers */, + 435916A318367DEE002CB92C /* RegalInit.h in Headers */, + 435916A418367DEE002CB92C /* RegalLog.h in Headers */, + 435916A518367DEE002CB92C /* RegalLookup.h in Headers */, + 435916A618367DEE002CB92C /* RegalMarker.h in Headers */, + 435916A718367DEE002CB92C /* RegalObj.h in Headers */, + 435916A818367DEE002CB92C /* RegalPpa.h in Headers */, + 435916A918367DEE002CB92C /* RegalPrecompile.h in Headers */, + 435916AA18367DEE002CB92C /* RegalPrivate.h in Headers */, + 435916AB18367DEE002CB92C /* RegalState.h in Headers */, + 435916AC18367DEE002CB92C /* RegalToken.h in Headers */, + 435916AD18367DEE002CB92C /* RegalUtil.h in Headers */, + 435916AE18367DEE002CB92C /* RegalVao.h in Headers */, + 435916AF18367DEE002CB92C /* RegalEnum.h in Headers */, + 435916B018367DEE002CB92C /* RegalFavicon.h in Headers */, + 435916B118367DEE002CB92C /* RegalDispatcher.h in Headers */, + 435916B218367DEE002CB92C /* RegalFrame.h in Headers */, + 435916B318367DEE002CB92C /* RegalPush.h in Headers */, + 435916B418367DEE002CB92C /* RegalSharedList.h in Headers */, + 435916B518367DEE002CB92C /* RegalSharedMap.h in Headers */, + 435916B618367DEE002CB92C /* RegalSharedPtr.h in Headers */, + 435916B718367DEE002CB92C /* RegalSo.h in Headers */, + 435916B818367DEE002CB92C /* RegalPixelConversions.h in Headers */, + 435916B918367DEE002CB92C /* RegalPpca.h in Headers */, + 435916BA18367DEE002CB92C /* RegalSystem.h in Headers */, + 435916BB18367DEE002CB92C /* RegalTexC.h in Headers */, + 435916BC18367DEE002CB92C /* RegalThread.h in Headers */, + 435916BD18367DEE002CB92C /* RegalTimer.h in Headers */, + 435916BE18367DEE002CB92C /* Regal.h in Headers */, + 435916BF18367DEE002CB92C /* RegalBreak.h in Headers */, + 435916C018367DEE002CB92C /* RegalFilt.h in Headers */, + 435916C118367DEE002CB92C /* RegalXfer.h in Headers */, + 435916C218367DEE002CB92C /* RegalMac.h in Headers */, + 435916C318367DEE002CB92C /* RegalScopedPtr.h in Headers */, + 435916C418367DEE002CB92C /* RegalCacheShader.h in Headers */, + 435916C518367DEE002CB92C /* RegalCacheTexture.h in Headers */, + 435916C618367DEE002CB92C /* RegalJson.h in Headers */, + 435916C718367DEE002CB92C /* RegalDispatcherGL.h in Headers */, + 435916C818367DEE002CB92C /* RegalDispatcherGlobal.h in Headers */, + 435916C918367DEE002CB92C /* RegalStatistics.h in Headers */, + 435916CA18367DEE002CB92C /* RegalBaseVertex.h in Headers */, + 435916CB18367DEE002CB92C /* RegalClientState.h in Headers */, + 435916CC18367DEE002CB92C /* RegalFloat4.h in Headers */, + 435916CD18367DEE002CB92C /* RegalMutex.h in Headers */, + 435916CE18367DEE002CB92C /* RegalRect.h in Headers */, + 435916CF18367DEE002CB92C /* RegalHint.h in Headers */, + 435916D018367DEE002CB92C /* RegalNamespace.h in Headers */, + 435916D118367DEE002CB92C /* RegalTexSto.h in Headers */, + 435916D218367DEE002CB92C /* RegalEmuInfo.h in Headers */, + 435916D318367DEE002CB92C /* RegalQuads.h in Headers */, + 435916D418367DEE002CB92C /* RegalLayerInfo.h in Headers */, + 435916D518367DEE002CB92C /* RegalShader.h in Headers */, + 435916D618367DEE002CB92C /* RegalShaderInstance.h in Headers */, + 43C7583D184DB9C0007E765F /* RegalDispatchHttp.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4359176B18367E05002CB92C /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 43C7583E184DB9C0007E765F /* RegalDispatchHttp.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 43A6C1C415C48CD90063667E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -622,12 +1346,81 @@ BC8E9CC217C5AF880005C418 /* RegalTexSto.h in Headers */, BCBA1FCB17DF836700CB6E19 /* RegalEmuInfo.h in Headers */, BC4DBEC41804FB0600F6D226 /* RegalQuads.h in Headers */, + 435914DB182BF69F002CB92C /* RegalLayerInfo.h in Headers */, + 435914DD182BF69F002CB92C /* RegalShader.h in Headers */, + 435914EB182BFBDB002CB92C /* RegalShaderInstance.h in Headers */, + 43C7583B184DB9C0007E765F /* RegalDispatchHttp.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ + 4359158218367621002CB92C /* RegalDynamic */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4359159118367621002CB92C /* Build configuration list for PBXNativeTarget "RegalDynamic" */; + buildPhases = ( + 4359157F18367621002CB92C /* Sources */, + 4359158018367621002CB92C /* Frameworks */, + 4359158118367621002CB92C /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 43CEAE8E183C0011002CE35E /* PBXTargetDependency */, + 43CEAE90183C0011002CE35E /* PBXTargetDependency */, + 43CEAE92183C0011002CE35E /* PBXTargetDependency */, + 43CEAE94183C0011002CE35E /* PBXTargetDependency */, + 43CEAE96183C0011002CE35E /* PBXTargetDependency */, + 43CEAE8A183C0009002CE35E /* PBXTargetDependency */, + 43CEAE8C183C0009002CE35E /* PBXTargetDependency */, + 43CEAE88183C0000002CE35E /* PBXTargetDependency */, + 43CEAE86183BFFF4002CE35E /* PBXTargetDependency */, + 43CEAE79183BFFEF002CE35E /* PBXTargetDependency */, + ); + name = RegalDynamic; + productName = RegalDynamic; + productReference = 4359158318367621002CB92C /* libRegal.dylib */; + productType = "com.apple.product-type.library.dynamic"; + }; + 4359165318367DEE002CB92C /* RegalWrangler */ = { + isa = PBXNativeTarget; + buildConfigurationList = 435916D718367DEE002CB92C /* Build configuration list for PBXNativeTarget "RegalWrangler" */; + buildPhases = ( + 4359165418367DEE002CB92C /* Sources */, + 4359168A18367DEE002CB92C /* Frameworks */, + 4359169518367DEE002CB92C /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 43CEAEB8183C01FF002CE35E /* PBXTargetDependency */, + 43CEAEBA183C01FF002CE35E /* PBXTargetDependency */, + ); + name = RegalWrangler; + productName = Regal; + productReference = 435916DA18367DEE002CB92C /* libRegalW.a */; + productType = "com.apple.product-type.library.static"; + }; + 435916E618367E05002CB92C /* RegalWranglerDynamic */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4359176C18367E05002CB92C /* Build configuration list for PBXNativeTarget "RegalWranglerDynamic" */; + buildPhases = ( + 435916E718367E05002CB92C /* Sources */, + 4359176018367E05002CB92C /* Frameworks */, + 4359176B18367E05002CB92C /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 43CEAEBC183C0207002CE35E /* PBXTargetDependency */, + 43CEAEBE183C0207002CE35E /* PBXTargetDependency */, + ); + name = RegalWranglerDynamic; + productName = RegalDynamic; + productReference = 4359176F18367E05002CB92C /* libRegalW.dylib */; + productType = "com.apple.product-type.library.dynamic"; + }; 43A6C1C515C48CD90063667E /* Regal */ = { isa = PBXNativeTarget; buildConfigurationList = 43A6C1CA15C48CD90063667E /* Build configuration list for PBXNativeTarget "Regal" */; @@ -639,6 +1432,16 @@ buildRules = ( ); dependencies = ( + 43CEAEAC183C01ED002CE35E /* PBXTargetDependency */, + 43CEAEAE183C01ED002CE35E /* PBXTargetDependency */, + 43CEAEB0183C01ED002CE35E /* PBXTargetDependency */, + 43CEAEB2183C01ED002CE35E /* PBXTargetDependency */, + 43CEAEB4183C01ED002CE35E /* PBXTargetDependency */, + 43CEAEB6183C01ED002CE35E /* PBXTargetDependency */, + 43CEAEA3183C01E2002CE35E /* PBXTargetDependency */, + 43CEAEA5183C01E2002CE35E /* PBXTargetDependency */, + 43CEAEA7183C01E2002CE35E /* PBXTargetDependency */, + 43CEAEA9183C01E2002CE35E /* PBXTargetDependency */, ); name = Regal; productName = Regal; @@ -669,6 +1472,10 @@ ProductGroup = 4359144718293A5B002CB92C /* Products */; ProjectRef = 4359144618293A5B002CB92C /* apitrace.xcodeproj */; }, + { + ProductGroup = 435914A4182945EF002CB92C /* Products */; + ProjectRef = 435914A3182945EF002CB92C /* glsl_optimizer_lib.xcodeproj */; + }, { ProductGroup = 4359144D18293A68002CB92C /* Products */; ProjectRef = 4359144C18293A68002CB92C /* jsonsl.xcodeproj */; @@ -701,6 +1508,9 @@ projectRoot = ""; targets = ( 43A6C1C515C48CD90063667E /* Regal */, + 4359158218367621002CB92C /* RegalDynamic */, + 4359165318367DEE002CB92C /* RegalWrangler */, + 435916E618367E05002CB92C /* RegalWranglerDynamic */, ); }; /* End PBXProject section */ @@ -762,9 +1572,340 @@ remoteRef = 4359147A18293AB2002CB92C /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 435914AA182945F0002CB92C /* libglsl_optimizer.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libglsl_optimizer.a; + remoteRef = 435914A9182945F0002CB92C /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 435914AC182945F0002CB92C /* builtincompiler */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = builtincompiler; + remoteRef = 435914AB182945F0002CB92C /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXSourcesBuildPhase section */ + 4359157F18367621002CB92C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 435915921836766E002CB92C /* linear.h in Sources */, + 435915931836766E002CB92C /* Regal.cpp in Sources */, + 435915941836766E002CB92C /* Regal.h in Sources */, + 435915951836766E002CB92C /* RegalBaseVertex.h in Sources */, + 435915961836766E002CB92C /* RegalBin.h in Sources */, + 435915971836766E002CB92C /* RegalBreak.cpp in Sources */, + 435915981836766E002CB92C /* RegalBreak.h in Sources */, + 435915991836766E002CB92C /* RegalCacheShader.cpp in Sources */, + 4359159A1836766E002CB92C /* RegalCacheShader.h in Sources */, + 4359159B1836766E002CB92C /* RegalCacheTexture.cpp in Sources */, + 4359159C1836766E002CB92C /* RegalCacheTexture.h in Sources */, + 4359159D1836766E002CB92C /* RegalClientState.h in Sources */, + 4359159E1836766E002CB92C /* RegalConfig.cpp in Sources */, + 4359159F1836766E002CB92C /* RegalConfig.h in Sources */, + 435915A01836766E002CB92C /* RegalContext.cpp in Sources */, + 435915A11836766E002CB92C /* RegalContext.h in Sources */, + 435915A21836766E002CB92C /* RegalContextInfo.cpp in Sources */, + 435915A31836766E002CB92C /* RegalContextInfo.h in Sources */, + 435915A41836766E002CB92C /* RegalDebugInfo.h in Sources */, + 435915A51836766E002CB92C /* RegalDispatch.cpp in Sources */, + 435915A61836766E002CB92C /* RegalDispatch.h in Sources */, + 435915A71836766E002CB92C /* RegalDispatchCache.cpp in Sources */, + 435915A81836766E002CB92C /* RegalDispatchCode.cpp in Sources */, + 435915A91836766E002CB92C /* RegalDispatchDebug.cpp in Sources */, + 435915AA1836766E002CB92C /* RegalDispatchEmu.cpp in Sources */, + 435915AB1836766E002CB92C /* RegalDispatcher.cpp in Sources */, + 435915AC1836766E002CB92C /* RegalDispatcher.h in Sources */, + 435915AD1836766E002CB92C /* RegalDispatcherGL.cpp in Sources */, + 435915AE1836766E002CB92C /* RegalDispatcherGL.h in Sources */, + 435915AF1836766E002CB92C /* RegalDispatcherGlobal.cpp in Sources */, + 435915B01836766E002CB92C /* RegalDispatcherGlobal.h in Sources */, + 435915B11836766E002CB92C /* RegalDispatchError.cpp in Sources */, + 435915B21836766E002CB92C /* RegalDispatchError.h in Sources */, + 435915B31836766E002CB92C /* RegalDispatchGlobal.cpp in Sources */, + 435915B41836766E002CB92C /* RegalDispatchGLX.cpp in Sources */, + 435915B51836766E002CB92C /* RegalDispatchLoader.cpp in Sources */, + 435915B61836766E002CB92C /* RegalDispatchLog.cpp in Sources */, + 435915B71836766E002CB92C /* RegalDispatchMissing.cpp in Sources */, + 435915B81836766E002CB92C /* RegalDispatchPpapi.cpp in Sources */, + 435915B91836766E002CB92C /* RegalDispatchStaticEGL.cpp in Sources */, + 435915BA1836766E002CB92C /* RegalDispatchStaticES2.cpp in Sources */, + 435915BB1836766E002CB92C /* RegalDispatchStatistics.cpp in Sources */, + 435915BC1836766E002CB92C /* RegalDispatchTrace.cpp in Sources */, + 435915BD1836766E002CB92C /* RegalDllMain.cpp in Sources */, + 435915BE1836766E002CB92C /* RegalDsa.h in Sources */, + 435915BF1836766E002CB92C /* RegalEmu.cpp in Sources */, + 435915C01836766E002CB92C /* RegalEmu.h in Sources */, + 435915C11836766E002CB92C /* RegalEmuInfo.cpp in Sources */, + 435915C21836766E002CB92C /* RegalEmuInfo.h in Sources */, + 435915C31836766E002CB92C /* RegalEnum.h in Sources */, + 435915C41836766E002CB92C /* RegalFavicon.cpp in Sources */, + 435915C51836766E002CB92C /* RegalFavicon.h in Sources */, + 435915C61836766E002CB92C /* RegalFilt.cpp in Sources */, + 435915C71836766E002CB92C /* RegalFilt.h in Sources */, + 435915C81836766E002CB92C /* RegalFloat4.h in Sources */, + 435915C91836766E002CB92C /* RegalFrame.cpp in Sources */, + 435915CA1836766E002CB92C /* RegalFrame.h in Sources */, + 435915CB1836766E002CB92C /* RegalHelper.cpp in Sources */, + 435915CC1836766E002CB92C /* RegalHelper.h in Sources */, + 435915CD1836766E002CB92C /* RegalHint.h in Sources */, + 435915CE1836766E002CB92C /* RegalHttp.cpp in Sources */, + 435915CF1836766E002CB92C /* RegalHttp.h in Sources */, + 435915D01836766E002CB92C /* RegalIff.cpp in Sources */, + 435915D11836766E002CB92C /* RegalIff.h in Sources */, + 435915D21836766E002CB92C /* RegalInit.cpp in Sources */, + 435915D31836766E002CB92C /* RegalInit.h in Sources */, + 435915D41836766E002CB92C /* RegalJson.cpp in Sources */, + 435915D51836766E002CB92C /* RegalJson.h in Sources */, + 435915D61836766E002CB92C /* RegalJson.inl in Sources */, + 435915D71836766E002CB92C /* RegalLayerInfo.h in Sources */, + 435915D81836766E002CB92C /* RegalLog.cpp in Sources */, + 435915D91836766E002CB92C /* RegalLog.h in Sources */, + 435915DA1836766E002CB92C /* RegalLookup.cpp in Sources */, + 435915DB1836766E002CB92C /* RegalLookup.h in Sources */, + 435915DC1836766E002CB92C /* RegalMac.cpp in Sources */, + 435915DD1836766E002CB92C /* RegalMac.h in Sources */, + 435915DE1836766E002CB92C /* RegalMarker.cpp in Sources */, + 435915DF1836766E002CB92C /* RegalMarker.h in Sources */, + 435915E01836766E002CB92C /* RegalMutex.h in Sources */, + 435915E11836766E002CB92C /* RegalNamespace.h in Sources */, + 435915E21836766E002CB92C /* RegalObj.h in Sources */, + 435915E31836766E002CB92C /* RegalPixelConversions.cpp in Sources */, + 435915E41836766E002CB92C /* RegalPixelConversions.h in Sources */, + 435915E51836766E002CB92C /* RegalPixelConversions.inl in Sources */, + 435915E61836766E002CB92C /* RegalPlugin.cpp in Sources */, + 435915E71836766E002CB92C /* RegalPpa.h in Sources */, + 435915E81836766E002CB92C /* RegalPpca.h in Sources */, + 435915E91836766E002CB92C /* RegalPrecompile.h in Sources */, + 435915EA1836766E002CB92C /* RegalPrivate.h in Sources */, + 435915EB1836766E002CB92C /* RegalPush.h in Sources */, + 435915EC1836766E002CB92C /* RegalQuads.cpp in Sources */, + 435915ED1836766E002CB92C /* RegalQuads.h in Sources */, + 435915EE1836766E002CB92C /* RegalRect.h in Sources */, + 435915EF1836766E002CB92C /* RegalScopedPtr.h in Sources */, + 435915F01836766E002CB92C /* RegalShader.cpp in Sources */, + 435915F11836766E002CB92C /* RegalShader.h in Sources */, + 435915F21836766E002CB92C /* RegalShaderInstance.cpp in Sources */, + 435915F31836766E002CB92C /* RegalShaderInstance.h in Sources */, + 435915F41836766E002CB92C /* RegalSharedList.h in Sources */, + 435915F51836766E002CB92C /* RegalSharedMap.h in Sources */, + 435915F61836766E002CB92C /* RegalSharedPtr.h in Sources */, + 435915F71836766E002CB92C /* RegalSo.cpp in Sources */, + 435915F81836766E002CB92C /* RegalSo.h in Sources */, + 435915F91836766E002CB92C /* RegalState.h in Sources */, + 435915FA1836766E002CB92C /* RegalStatistics.cpp in Sources */, + 435915FB1836766E002CB92C /* RegalStatistics.h in Sources */, + 435915FC1836766E002CB92C /* RegalSystem.h in Sources */, + 435915FD1836766E002CB92C /* RegalTexC.cpp in Sources */, + 435915FE1836766E002CB92C /* RegalTexC.h in Sources */, + 435915FF1836766E002CB92C /* RegalTexSto.h in Sources */, + 435916001836766E002CB92C /* RegalThread.h in Sources */, + 435916011836766E002CB92C /* RegalTimer.h in Sources */, + 435916021836766E002CB92C /* RegalToken.cpp in Sources */, + 435916031836766E002CB92C /* RegalToken.h in Sources */, + 435916041836766E002CB92C /* RegalUtil.cpp in Sources */, + 435916051836766E002CB92C /* RegalUtil.h in Sources */, + 435916061836766E002CB92C /* RegalVao.h in Sources */, + 435916071836766E002CB92C /* RegalX11.cpp in Sources */, + 435916081836766E002CB92C /* RegalXfer.cpp in Sources */, + 435916091836766E002CB92C /* RegalXfer.h in Sources */, + 43C7580D184B69E2007E765F /* RegalDispatchHttp.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4359165418367DEE002CB92C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4359165518367DEE002CB92C /* Regal.cpp in Sources */, + 4359165618367DEE002CB92C /* RegalConfig.cpp in Sources */, + 4359165718367DEE002CB92C /* RegalContext.cpp in Sources */, + 4359165818367DEE002CB92C /* RegalContextInfo.cpp in Sources */, + 4359165918367DEE002CB92C /* RegalDispatchDebug.cpp in Sources */, + 4359165A18367DEE002CB92C /* RegalDispatchEmu.cpp in Sources */, + 4359165B18367DEE002CB92C /* RegalDispatchError.cpp in Sources */, + 4359165C18367DEE002CB92C /* RegalDispatchLoader.cpp in Sources */, + 4359165D18367DEE002CB92C /* RegalDispatchLog.cpp in Sources */, + 4359165E18367DEE002CB92C /* RegalDllMain.cpp in Sources */, + 4359165F18367DEE002CB92C /* RegalHelper.cpp in Sources */, + 4359166018367DEE002CB92C /* RegalHttp.cpp in Sources */, + 4359166118367DEE002CB92C /* RegalIff.cpp in Sources */, + 4359166218367DEE002CB92C /* RegalInit.cpp in Sources */, + 4359166318367DEE002CB92C /* RegalLog.cpp in Sources */, + 4359166418367DEE002CB92C /* RegalLookup.cpp in Sources */, + 4359166518367DEE002CB92C /* RegalToken.cpp in Sources */, + 4359166618367DEE002CB92C /* RegalUtil.cpp in Sources */, + 4359166718367DEE002CB92C /* RegalFavicon.cpp in Sources */, + 4359166818367DEE002CB92C /* RegalMac.cpp in Sources */, + 4359166918367DEE002CB92C /* RegalDispatchMissing.cpp in Sources */, + 4359166A18367DEE002CB92C /* RegalDispatchPpapi.cpp in Sources */, + 4359166B18367DEE002CB92C /* RegalDispatcher.cpp in Sources */, + 4359166C18367DEE002CB92C /* RegalDispatchStaticES2.cpp in Sources */, + 4359166D18367DEE002CB92C /* RegalDispatchGlobal.cpp in Sources */, + 4359166E18367DEE002CB92C /* RegalMarker.cpp in Sources */, + 4359166F18367DEE002CB92C /* RegalFrame.cpp in Sources */, + 4359167018367DEE002CB92C /* RegalSo.cpp in Sources */, + 4359167118367DEE002CB92C /* RegalDispatchCache.cpp in Sources */, + 4359167218367DEE002CB92C /* RegalDispatchCode.cpp in Sources */, + 4359167318367DEE002CB92C /* RegalJson.cpp in Sources */, + 4359167418367DEE002CB92C /* RegalPixelConversions.cpp in Sources */, + 4359167518367DEE002CB92C /* RegalTexC.cpp in Sources */, + 4359167618367DEE002CB92C /* RegalBreak.cpp in Sources */, + 4359167718367DEE002CB92C /* RegalFilt.cpp in Sources */, + 4359167818367DEE002CB92C /* RegalXfer.cpp in Sources */, + 4359167918367DEE002CB92C /* RegalCacheShader.cpp in Sources */, + 4359167A18367DEE002CB92C /* RegalCacheTexture.cpp in Sources */, + 4359167B18367DEE002CB92C /* RegalDispatcherGL.cpp in Sources */, + 4359167C18367DEE002CB92C /* RegalDispatcherGlobal.cpp in Sources */, + 4359167D18367DEE002CB92C /* RegalStatistics.cpp in Sources */, + 4359167E18367DEE002CB92C /* RegalDispatchStatistics.cpp in Sources */, + 4359167F18367DEE002CB92C /* RegalDispatchTrace.cpp in Sources */, + 4359168018367DEE002CB92C /* RegalPlugin.cpp in Sources */, + 4359168118367DEE002CB92C /* RegalDispatchGLX.cpp in Sources */, + 4359168218367DEE002CB92C /* RegalX11.cpp in Sources */, + 4359168318367DEE002CB92C /* RegalDispatchStaticEGL.cpp in Sources */, + 4359168418367DEE002CB92C /* RegalEmuInfo.cpp in Sources */, + 4359168518367DEE002CB92C /* RegalEmu.cpp in Sources */, + 4359168618367DEE002CB92C /* RegalDispatch.cpp in Sources */, + 4359168718367DEE002CB92C /* RegalQuads.cpp in Sources */, + 4359168818367DEE002CB92C /* RegalShader.cpp in Sources */, + 4359168918367DEE002CB92C /* RegalShaderInstance.cpp in Sources */, + 43C7580E184B69E2007E765F /* RegalDispatchHttp.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 435916E718367E05002CB92C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 435916E818367E05002CB92C /* linear.h in Sources */, + 435916E918367E05002CB92C /* Regal.cpp in Sources */, + 435916EA18367E05002CB92C /* Regal.h in Sources */, + 435916EB18367E05002CB92C /* RegalBaseVertex.h in Sources */, + 435916EC18367E05002CB92C /* RegalBin.h in Sources */, + 435916ED18367E05002CB92C /* RegalBreak.cpp in Sources */, + 435916EE18367E05002CB92C /* RegalBreak.h in Sources */, + 435916EF18367E05002CB92C /* RegalCacheShader.cpp in Sources */, + 435916F018367E05002CB92C /* RegalCacheShader.h in Sources */, + 435916F118367E05002CB92C /* RegalCacheTexture.cpp in Sources */, + 435916F218367E05002CB92C /* RegalCacheTexture.h in Sources */, + 435916F318367E05002CB92C /* RegalClientState.h in Sources */, + 435916F418367E05002CB92C /* RegalConfig.cpp in Sources */, + 435916F518367E05002CB92C /* RegalConfig.h in Sources */, + 435916F618367E05002CB92C /* RegalContext.cpp in Sources */, + 435916F718367E05002CB92C /* RegalContext.h in Sources */, + 435916F818367E05002CB92C /* RegalContextInfo.cpp in Sources */, + 435916F918367E05002CB92C /* RegalContextInfo.h in Sources */, + 435916FA18367E05002CB92C /* RegalDebugInfo.h in Sources */, + 435916FB18367E05002CB92C /* RegalDispatch.cpp in Sources */, + 435916FC18367E05002CB92C /* RegalDispatch.h in Sources */, + 435916FD18367E05002CB92C /* RegalDispatchCache.cpp in Sources */, + 435916FE18367E05002CB92C /* RegalDispatchCode.cpp in Sources */, + 435916FF18367E05002CB92C /* RegalDispatchDebug.cpp in Sources */, + 4359170018367E05002CB92C /* RegalDispatchEmu.cpp in Sources */, + 4359170118367E05002CB92C /* RegalDispatcher.cpp in Sources */, + 4359170218367E05002CB92C /* RegalDispatcher.h in Sources */, + 4359170318367E05002CB92C /* RegalDispatcherGL.cpp in Sources */, + 4359170418367E05002CB92C /* RegalDispatcherGL.h in Sources */, + 4359170518367E05002CB92C /* RegalDispatcherGlobal.cpp in Sources */, + 4359170618367E05002CB92C /* RegalDispatcherGlobal.h in Sources */, + 4359170718367E05002CB92C /* RegalDispatchError.cpp in Sources */, + 4359170818367E05002CB92C /* RegalDispatchError.h in Sources */, + 4359170918367E05002CB92C /* RegalDispatchGlobal.cpp in Sources */, + 4359170A18367E05002CB92C /* RegalDispatchGLX.cpp in Sources */, + 4359170B18367E05002CB92C /* RegalDispatchLoader.cpp in Sources */, + 4359170C18367E05002CB92C /* RegalDispatchLog.cpp in Sources */, + 4359170D18367E05002CB92C /* RegalDispatchMissing.cpp in Sources */, + 4359170E18367E05002CB92C /* RegalDispatchPpapi.cpp in Sources */, + 4359170F18367E05002CB92C /* RegalDispatchStaticEGL.cpp in Sources */, + 4359171018367E05002CB92C /* RegalDispatchStaticES2.cpp in Sources */, + 4359171118367E05002CB92C /* RegalDispatchStatistics.cpp in Sources */, + 4359171218367E05002CB92C /* RegalDispatchTrace.cpp in Sources */, + 4359171318367E05002CB92C /* RegalDllMain.cpp in Sources */, + 4359171418367E05002CB92C /* RegalDsa.h in Sources */, + 4359171518367E05002CB92C /* RegalEmu.cpp in Sources */, + 4359171618367E05002CB92C /* RegalEmu.h in Sources */, + 4359171718367E05002CB92C /* RegalEmuInfo.cpp in Sources */, + 4359171818367E05002CB92C /* RegalEmuInfo.h in Sources */, + 4359171918367E05002CB92C /* RegalEnum.h in Sources */, + 4359171A18367E05002CB92C /* RegalFavicon.cpp in Sources */, + 4359171B18367E05002CB92C /* RegalFavicon.h in Sources */, + 4359171C18367E05002CB92C /* RegalFilt.cpp in Sources */, + 4359171D18367E05002CB92C /* RegalFilt.h in Sources */, + 4359171E18367E05002CB92C /* RegalFloat4.h in Sources */, + 4359171F18367E05002CB92C /* RegalFrame.cpp in Sources */, + 4359172018367E05002CB92C /* RegalFrame.h in Sources */, + 4359172118367E05002CB92C /* RegalHelper.cpp in Sources */, + 4359172218367E05002CB92C /* RegalHelper.h in Sources */, + 4359172318367E05002CB92C /* RegalHint.h in Sources */, + 4359172418367E05002CB92C /* RegalHttp.cpp in Sources */, + 4359172518367E05002CB92C /* RegalHttp.h in Sources */, + 4359172618367E05002CB92C /* RegalIff.cpp in Sources */, + 4359172718367E05002CB92C /* RegalIff.h in Sources */, + 4359172818367E05002CB92C /* RegalInit.cpp in Sources */, + 4359172918367E05002CB92C /* RegalInit.h in Sources */, + 4359172A18367E05002CB92C /* RegalJson.cpp in Sources */, + 4359172B18367E05002CB92C /* RegalJson.h in Sources */, + 4359172C18367E05002CB92C /* RegalJson.inl in Sources */, + 4359172D18367E05002CB92C /* RegalLayerInfo.h in Sources */, + 4359172E18367E05002CB92C /* RegalLog.cpp in Sources */, + 4359172F18367E05002CB92C /* RegalLog.h in Sources */, + 4359173018367E05002CB92C /* RegalLookup.cpp in Sources */, + 4359173118367E05002CB92C /* RegalLookup.h in Sources */, + 4359173218367E05002CB92C /* RegalMac.cpp in Sources */, + 4359173318367E05002CB92C /* RegalMac.h in Sources */, + 4359173418367E05002CB92C /* RegalMarker.cpp in Sources */, + 4359173518367E05002CB92C /* RegalMarker.h in Sources */, + 4359173618367E05002CB92C /* RegalMutex.h in Sources */, + 4359173718367E05002CB92C /* RegalNamespace.h in Sources */, + 4359173818367E05002CB92C /* RegalObj.h in Sources */, + 4359173918367E05002CB92C /* RegalPixelConversions.cpp in Sources */, + 4359173A18367E05002CB92C /* RegalPixelConversions.h in Sources */, + 4359173B18367E05002CB92C /* RegalPixelConversions.inl in Sources */, + 4359173C18367E05002CB92C /* RegalPlugin.cpp in Sources */, + 4359173D18367E05002CB92C /* RegalPpa.h in Sources */, + 4359173E18367E05002CB92C /* RegalPpca.h in Sources */, + 4359173F18367E05002CB92C /* RegalPrecompile.h in Sources */, + 4359174018367E05002CB92C /* RegalPrivate.h in Sources */, + 4359174118367E05002CB92C /* RegalPush.h in Sources */, + 4359174218367E05002CB92C /* RegalQuads.cpp in Sources */, + 4359174318367E05002CB92C /* RegalQuads.h in Sources */, + 4359174418367E05002CB92C /* RegalRect.h in Sources */, + 4359174518367E05002CB92C /* RegalScopedPtr.h in Sources */, + 4359174618367E05002CB92C /* RegalShader.cpp in Sources */, + 4359174718367E05002CB92C /* RegalShader.h in Sources */, + 4359174818367E05002CB92C /* RegalShaderInstance.cpp in Sources */, + 4359174918367E05002CB92C /* RegalShaderInstance.h in Sources */, + 4359174A18367E05002CB92C /* RegalSharedList.h in Sources */, + 4359174B18367E05002CB92C /* RegalSharedMap.h in Sources */, + 4359174C18367E05002CB92C /* RegalSharedPtr.h in Sources */, + 4359174D18367E05002CB92C /* RegalSo.cpp in Sources */, + 4359174E18367E05002CB92C /* RegalSo.h in Sources */, + 4359174F18367E05002CB92C /* RegalState.h in Sources */, + 4359175018367E05002CB92C /* RegalStatistics.cpp in Sources */, + 4359175118367E05002CB92C /* RegalStatistics.h in Sources */, + 4359175218367E05002CB92C /* RegalSystem.h in Sources */, + 4359175318367E05002CB92C /* RegalTexC.cpp in Sources */, + 4359175418367E05002CB92C /* RegalTexC.h in Sources */, + 4359175518367E05002CB92C /* RegalTexSto.h in Sources */, + 4359175618367E05002CB92C /* RegalThread.h in Sources */, + 4359175718367E05002CB92C /* RegalTimer.h in Sources */, + 4359175818367E05002CB92C /* RegalToken.cpp in Sources */, + 4359175918367E05002CB92C /* RegalToken.h in Sources */, + 4359175A18367E05002CB92C /* RegalUtil.cpp in Sources */, + 4359175B18367E05002CB92C /* RegalUtil.h in Sources */, + 4359175C18367E05002CB92C /* RegalVao.h in Sources */, + 4359175D18367E05002CB92C /* RegalX11.cpp in Sources */, + 4359175E18367E05002CB92C /* RegalXfer.cpp in Sources */, + 4359175F18367E05002CB92C /* RegalXfer.h in Sources */, + 43C7580F184B69E2007E765F /* RegalDispatchHttp.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 43A6C1C215C48CD90063667E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -820,12 +1961,230 @@ BCBA1FCC17DF836700CB6E19 /* RegalEmu.cpp in Sources */, BCB6107117F21E6500BA0A06 /* RegalDispatch.cpp in Sources */, BC4DBEC31804FB0600F6D226 /* RegalQuads.cpp in Sources */, + 435914DC182BF69F002CB92C /* RegalShader.cpp in Sources */, + 435914DE182BF69F002CB92C /* RegalShaderInstance.cpp in Sources */, + 43C7580C184B69E2007E765F /* RegalDispatchHttp.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 43CEAE79183BFFEF002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = glsl_optimizer; + targetProxy = 43CEAE78183BFFEF002CE35E /* PBXContainerItemProxy */; + }; + 43CEAE86183BFFF4002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = apitrace; + targetProxy = 43CEAE85183BFFF4002CE35E /* PBXContainerItemProxy */; + }; + 43CEAE88183C0000002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = jsonsl; + targetProxy = 43CEAE87183C0000002CE35E /* PBXContainerItemProxy */; + }; + 43CEAE8A183C0009002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = md5; + targetProxy = 43CEAE89183C0009002CE35E /* PBXContainerItemProxy */; + }; + 43CEAE8C183C0009002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = mongoose; + targetProxy = 43CEAE8B183C0009002CE35E /* PBXContainerItemProxy */; + }; + 43CEAE8E183C0011002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = pcre; + targetProxy = 43CEAE8D183C0011002CE35E /* PBXContainerItemProxy */; + }; + 43CEAE90183C0011002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = png; + targetProxy = 43CEAE8F183C0011002CE35E /* PBXContainerItemProxy */; + }; + 43CEAE92183C0011002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = snappy; + targetProxy = 43CEAE91183C0011002CE35E /* PBXContainerItemProxy */; + }; + 43CEAE94183C0011002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = squish; + targetProxy = 43CEAE93183C0011002CE35E /* PBXContainerItemProxy */; + }; + 43CEAE96183C0011002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = zlib; + targetProxy = 43CEAE95183C0011002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEA3183C01E2002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = glsl_optimizer; + targetProxy = 43CEAEA2183C01E2002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEA5183C01E2002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = apitrace; + targetProxy = 43CEAEA4183C01E2002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEA7183C01E2002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = jsonsl; + targetProxy = 43CEAEA6183C01E2002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEA9183C01E2002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = md5; + targetProxy = 43CEAEA8183C01E2002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEAC183C01ED002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = mongoose; + targetProxy = 43CEAEAB183C01ED002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEAE183C01ED002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = pcre; + targetProxy = 43CEAEAD183C01ED002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEB0183C01ED002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = png; + targetProxy = 43CEAEAF183C01ED002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEB2183C01ED002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = snappy; + targetProxy = 43CEAEB1183C01ED002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEB4183C01ED002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = squish; + targetProxy = 43CEAEB3183C01ED002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEB6183C01ED002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = zlib; + targetProxy = 43CEAEB5183C01ED002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEB8183C01FF002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = jsonsl; + targetProxy = 43CEAEB7183C01FF002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEBA183C01FF002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = md5; + targetProxy = 43CEAEB9183C01FF002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEBC183C0207002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = jsonsl; + targetProxy = 43CEAEBB183C0207002CE35E /* PBXContainerItemProxy */; + }; + 43CEAEBE183C0207002CE35E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = md5; + targetProxy = 43CEAEBD183C0207002CE35E /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ + 4359158418367621002CB92C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_CXX_LIBRARY = "compiler-default"; + CLANG_WARN_EMPTY_BODY = YES; + EXECUTABLE_PREFIX = lib; + GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = Regal; + }; + name = Debug; + }; + 4359158518367621002CB92C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_CXX_LIBRARY = "compiler-default"; + CLANG_WARN_EMPTY_BODY = YES; + EXECUTABLE_PREFIX = lib; + GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = Regal; + }; + name = Release; + }; + 435916D818367DEE002CB92C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + EXECUTABLE_PREFIX = lib; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + "REGAL_WRANGLER=1", + ); + PRODUCT_NAME = RegalW; + }; + name = Debug; + }; + 435916D918367DEE002CB92C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + EXECUTABLE_PREFIX = lib; + GCC_PREPROCESSOR_DEFINITIONS = ( + "REGAL_WRANGLER=1", + "$(inherited)", + ); + PRODUCT_NAME = RegalW; + }; + name = Release; + }; + 4359176D18367E05002CB92C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_CXX_LIBRARY = "compiler-default"; + CLANG_WARN_EMPTY_BODY = YES; + EXECUTABLE_PREFIX = lib; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + "REGAL_WRANGLER=1", + ); + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = RegalW; + }; + name = Debug; + }; + 4359176E18367E05002CB92C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_CXX_LIBRARY = "compiler-default"; + CLANG_WARN_EMPTY_BODY = YES; + EXECUTABLE_PREFIX = lib; + GCC_PREPROCESSOR_DEFINITIONS = ( + "REGAL_WRANGLER=1", + "$(inherited)", + ); + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = RegalW; + }; + name = Release; + }; 43A6C1C815C48CD90063667E /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -842,7 +2201,7 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", - "REGAL_NO_HTTP=1", + "REGAL_HTTP=1", "REGAL_NO_PNG=1", "$(inherited)", ); @@ -866,6 +2225,10 @@ ../../../src/apitrace, ../../../src/apitrace/thirdparty/khronos, ../../../src/zlib/src, + ../../../src/glsl/src/glsl, + ../../../src/glsl/src/mesa, + ../../../src/glsl/include, + ../../../src/pcre, ); MACOSX_DEPLOYMENT_TARGET = 10.7; ONLY_ACTIVE_ARCH = YES; @@ -888,7 +2251,7 @@ GCC_C_LANGUAGE_STANDARD = gnu99; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( - "REGAL_NO_HTTP=1", + "REGAL_HTTP=1", "REGAL_NO_PNG=1", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; @@ -910,6 +2273,10 @@ ../../../src/apitrace, ../../../src/apitrace/thirdparty/khronos, ../../../src/zlib/src, + ../../../src/glsl/src/glsl, + ../../../src/glsl/src/mesa, + ../../../src/glsl/include, + ../../../src/pcre, ); MACOSX_DEPLOYMENT_TARGET = 10.7; SDKROOT = ""; @@ -923,6 +2290,8 @@ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; COMBINE_HIDPI_IMAGES = YES; EXECUTABLE_PREFIX = lib; + GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + HEADER_SEARCH_PATHS = "$(inherited)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; @@ -933,6 +2302,8 @@ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; COMBINE_HIDPI_IMAGES = YES; EXECUTABLE_PREFIX = lib; + GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + HEADER_SEARCH_PATHS = "$(inherited)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; @@ -940,6 +2311,33 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 4359159118367621002CB92C /* Build configuration list for PBXNativeTarget "RegalDynamic" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4359158418367621002CB92C /* Debug */, + 4359158518367621002CB92C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 435916D718367DEE002CB92C /* Build configuration list for PBXNativeTarget "RegalWrangler" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 435916D818367DEE002CB92C /* Debug */, + 435916D918367DEE002CB92C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4359176C18367E05002CB92C /* Build configuration list for PBXNativeTarget "RegalWranglerDynamic" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4359176D18367E05002CB92C /* Debug */, + 4359176E18367E05002CB92C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 43A6C1C015C48CD90063667E /* Build configuration list for PBXProject "Regal" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/build/mac/apitrace/apitrace.xcodeproj/project.pbxproj b/build/mac/apitrace/apitrace.xcodeproj/project.pbxproj index a14d2d8..7d2e516 100644 --- a/build/mac/apitrace/apitrace.xcodeproj/project.pbxproj +++ b/build/mac/apitrace/apitrace.xcodeproj/project.pbxproj @@ -13,8 +13,6 @@ 43777CE917DBF46700EA874E /* glcaps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43777CB417DBF46700EA874E /* glcaps.cpp */; }; 43777CEA17DBF46700EA874E /* gltrace_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43777CB517DBF46700EA874E /* gltrace_state.cpp */; }; 43777CEB17DBF46700EA874E /* regaltrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43777CB617DBF46700EA874E /* regaltrace.cpp */; }; - 43777CEC17DBF46700EA874E /* trace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43777CB717DBF46700EA874E /* trace.cpp */; }; - 43777CED17DBF46700EA874E /* trace.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 43777CB817DBF46700EA874E /* trace.hpp */; }; 43777CEE17DBF46700EA874E /* glproc_regal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43777CB917DBF46700EA874E /* glproc_regal.cpp */; }; 43777CEF17DBF46700EA874E /* glproc.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 43777CBA17DBF46700EA874E /* glproc.hpp */; }; 43777CF017DBF46700EA874E /* formatter.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 43777CBB17DBF46700EA874E /* formatter.hpp */; }; @@ -70,8 +68,6 @@ 43777CB417DBF46700EA874E /* glcaps.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = glcaps.cpp; path = ../../../src/apitrace/wrappers/glcaps.cpp; sourceTree = ""; }; 43777CB517DBF46700EA874E /* gltrace_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = gltrace_state.cpp; path = ../../../src/apitrace/wrappers/gltrace_state.cpp; sourceTree = ""; }; 43777CB617DBF46700EA874E /* regaltrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = regaltrace.cpp; path = ../../../src/apitrace/wrappers/regaltrace.cpp; sourceTree = ""; }; - 43777CB717DBF46700EA874E /* trace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = trace.cpp; path = ../../../src/apitrace/wrappers/trace.cpp; sourceTree = ""; }; - 43777CB817DBF46700EA874E /* trace.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = trace.hpp; path = ../../../src/apitrace/wrappers/trace.hpp; sourceTree = ""; }; 43777CB917DBF46700EA874E /* glproc_regal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = glproc_regal.cpp; path = ../../../src/apitrace/dispatch/glproc_regal.cpp; sourceTree = ""; }; 43777CBA17DBF46700EA874E /* glproc.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = glproc.hpp; path = ../../../src/apitrace/dispatch/glproc.hpp; sourceTree = ""; }; 43777CBB17DBF46700EA874E /* formatter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = formatter.hpp; path = ../../../src/apitrace/common/formatter.hpp; sourceTree = ""; }; @@ -157,8 +153,6 @@ 43777CB417DBF46700EA874E /* glcaps.cpp */, 43777CB517DBF46700EA874E /* gltrace_state.cpp */, 43777CB617DBF46700EA874E /* regaltrace.cpp */, - 43777CB717DBF46700EA874E /* trace.cpp */, - 43777CB817DBF46700EA874E /* trace.hpp */, 43777CB917DBF46700EA874E /* glproc_regal.cpp */, 43777CBA17DBF46700EA874E /* glproc.hpp */, 43777CBB17DBF46700EA874E /* formatter.hpp */, @@ -215,7 +209,6 @@ files = ( 43777CE717DBF46700EA874E /* eglsize.hpp in Headers */, 43777CE817DBF46700EA874E /* glsize.hpp in Headers */, - 43777CED17DBF46700EA874E /* trace.hpp in Headers */, 43777CEF17DBF46700EA874E /* glproc.hpp in Headers */, 43777CF017DBF46700EA874E /* formatter.hpp in Headers */, 43777CF117DBF46700EA874E /* os_binary.hpp in Headers */, @@ -299,7 +292,6 @@ 43777CE917DBF46700EA874E /* glcaps.cpp in Sources */, 43777CEA17DBF46700EA874E /* gltrace_state.cpp in Sources */, 43777CEB17DBF46700EA874E /* regaltrace.cpp in Sources */, - 43777CEC17DBF46700EA874E /* trace.cpp in Sources */, 43777CEE17DBF46700EA874E /* glproc_regal.cpp in Sources */, 43777CF417DBF46700EA874E /* os_posix.cpp in Sources */, 43777CF917DBF46700EA874E /* os_win32.cpp in Sources */, diff --git a/build/pcre.inc b/build/pcre.inc new file mode 100644 index 0000000..d253c38 --- /dev/null +++ b/build/pcre.inc @@ -0,0 +1,98 @@ +# pcre.inc +# +# Generic gnumake .inc for building pcre +# + +# Sources + +PCRE.C := +#PCRE.C += src/pcre/dftables.c +PCRE.C += src/pcre/pcre16_byte_order.c +PCRE.C += src/pcre/pcre16_chartables.c +PCRE.C += src/pcre/pcre16_compile.c +PCRE.C += src/pcre/pcre16_config.c +PCRE.C += src/pcre/pcre16_dfa_exec.c +PCRE.C += src/pcre/pcre16_exec.c +PCRE.C += src/pcre/pcre16_fullinfo.c +PCRE.C += src/pcre/pcre16_get.c +PCRE.C += src/pcre/pcre16_globals.c +PCRE.C += src/pcre/pcre16_jit_compile.c +PCRE.C += src/pcre/pcre16_maketables.c +PCRE.C += src/pcre/pcre16_newline.c +PCRE.C += src/pcre/pcre16_ord2utf16.c +PCRE.C += src/pcre/pcre16_printint.c +PCRE.C += src/pcre/pcre16_refcount.c +PCRE.C += src/pcre/pcre16_string_utils.c +PCRE.C += src/pcre/pcre16_study.c +PCRE.C += src/pcre/pcre16_tables.c +PCRE.C += src/pcre/pcre16_ucd.c +PCRE.C += src/pcre/pcre16_utf16_utils.c +PCRE.C += src/pcre/pcre16_valid_utf16.c +PCRE.C += src/pcre/pcre16_version.c +PCRE.C += src/pcre/pcre16_xclass.c +PCRE.C += src/pcre/pcre32_byte_order.c +PCRE.C += src/pcre/pcre32_chartables.c +PCRE.C += src/pcre/pcre32_compile.c +PCRE.C += src/pcre/pcre32_config.c +PCRE.C += src/pcre/pcre32_dfa_exec.c +PCRE.C += src/pcre/pcre32_exec.c +PCRE.C += src/pcre/pcre32_fullinfo.c +PCRE.C += src/pcre/pcre32_get.c +PCRE.C += src/pcre/pcre32_globals.c +PCRE.C += src/pcre/pcre32_jit_compile.c +PCRE.C += src/pcre/pcre32_maketables.c +PCRE.C += src/pcre/pcre32_newline.c +PCRE.C += src/pcre/pcre32_ord2utf32.c +PCRE.C += src/pcre/pcre32_printint.c +PCRE.C += src/pcre/pcre32_refcount.c +PCRE.C += src/pcre/pcre32_string_utils.c +PCRE.C += src/pcre/pcre32_study.c +PCRE.C += src/pcre/pcre32_tables.c +PCRE.C += src/pcre/pcre32_ucd.c +PCRE.C += src/pcre/pcre32_utf32_utils.c +PCRE.C += src/pcre/pcre32_valid_utf32.c +PCRE.C += src/pcre/pcre32_version.c +PCRE.C += src/pcre/pcre32_xclass.c +PCRE.C += src/pcre/pcre_byte_order.c +PCRE.C += src/pcre/pcre_chartables.c +PCRE.C += src/pcre/pcre_compile.c +PCRE.C += src/pcre/pcre_config.c +#PCRE.C += src/pcre/pcredemo.c +PCRE.C += src/pcre/pcre_dfa_exec.c +PCRE.C += src/pcre/pcre_exec.c +PCRE.C += src/pcre/pcre_fullinfo.c +PCRE.C += src/pcre/pcre_get.c +PCRE.C += src/pcre/pcre_globals.c +#PCRE.C += src/pcre/pcregrep.c +PCRE.C += src/pcre/pcre_jit_compile.c +PCRE.C += src/pcre/pcre_jit_test.c +PCRE.C += src/pcre/pcre_maketables.c +PCRE.C += src/pcre/pcre_newline.c +PCRE.C += src/pcre/pcre_ord2utf8.c +PCRE.C += src/pcre/pcreposix.c +PCRE.C += src/pcre/pcre_printint.c +PCRE.C += src/pcre/pcre_refcount.c +PCRE.C += src/pcre/pcre_string_utils.c +PCRE.C += src/pcre/pcre_study.c +PCRE.C += src/pcre/pcre_tables.c +#PCRE.C += src/pcre/pcretest.c +PCRE.C += src/pcre/pcre_ucd.c +PCRE.C += src/pcre/pcre_valid_utf8.c +PCRE.C += src/pcre/pcre_version.c +PCRE.C += src/pcre/pcre_xclass.c + +# Internal Headers +# seth: is this used for dependencies? +PCRE.H := + +# Other Headers +# seth: do all of these need to be specified? +PCRE.H.OTHER := + +# +# Includes + +PCRE.INCLUDE := +PCRE.INCLUDE += -Isrc/pcre + +PCRE.STATIC ?= libpcre.a diff --git a/build/ppapi/vs2010/Regal/Regal.vcxproj b/build/ppapi/vs2010/Regal/Regal.vcxproj index 1c29475..6fd41f9 100644 --- a/build/ppapi/vs2010/Regal/Regal.vcxproj +++ b/build/ppapi/vs2010/Regal/Regal.vcxproj @@ -172,7 +172,7 @@ ../../../../src/jsonsl;../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;%(AdditionalIncludeDirectories) 4996 Level4 - PPAPI;REGAL_NO_TLS=1;REGAL_WIN_TLS=0;REGAL_DECL_EXPORT;REGAL_SYS_WGL_DECLARE_WGL;JSONSL_STATE_GENERIC=1;DNDEBUG;REGAL_DECL_EXPORT=1;REGAL_LOG=0;REGAL_LOG_ALL=0;REGAL_LOG_ONCE=0;REGAL_LOG_JSON=0;REGAL_NO_HTTP=1;REGAL_NO_ASSERT=1;REGAL_NO_PNG=1;REGAL_ERROR=0;REGAL_DEBUG=0;REGAL_CACHE=0;REGAL_EMULATION=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + PPAPI;REGAL_NO_TLS=1;REGAL_WIN_TLS=0;REGAL_DECL_EXPORT;REGAL_SYS_WGL_DECLARE_WGL;JSONSL_STATE_GENERIC=1;DNDEBUG;REGAL_DECL_EXPORT=1;REGAL_LOG=0;REGAL_LOG_ALL=0;REGAL_LOG_ONCE=0;REGAL_LOG_JSON=0;REGAL_HTTP=0;REGAL_NO_ASSERT=1;REGAL_NO_PNG=1;REGAL_ERROR=0;REGAL_DEBUG=0;REGAL_CACHE=0;REGAL_EMULATION=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true true @@ -279,4 +279,4 @@ - \ No newline at end of file + diff --git a/build/regal.inc b/build/regal.inc index 5545ef4..32e7933 100644 --- a/build/regal.inc +++ b/build/regal.inc @@ -6,6 +6,7 @@ # Regal Sources REGAL.CXX := +REGAL.CXX += src/regal/RegalShaderInstance.cpp REGAL.CXX += src/regal/RegalIff.cpp REGAL.CXX += src/regal/RegalQuads.cpp REGAL.CXX += src/regal/Regal.cpp @@ -28,6 +29,7 @@ REGAL.CXX += src/regal/RegalDispatch.cpp REGAL.CXX += src/regal/RegalStatistics.cpp REGAL.CXX += src/regal/RegalLookup.cpp REGAL.CXX += src/regal/RegalPlugin.cpp +REGAL.CXX += src/regal/RegalShader.cpp REGAL.CXX += src/regal/RegalToken.cpp REGAL.CXX += src/regal/RegalDispatchGlobal.cpp REGAL.CXX += src/regal/RegalDispatcher.cpp @@ -49,6 +51,7 @@ REGAL.CXX += src/regal/RegalDispatchTrace.cpp REGAL.CXX += src/regal/RegalDispatchMissing.cpp REGAL.CXX += src/regal/RegalPixelConversions.cpp REGAL.CXX += src/regal/RegalHttp.cpp +REGAL.CXX += src/regal/RegalDispatchHttp.cpp REGAL.CXX += src/regal/RegalJson.cpp REGAL.CXX += src/regal/RegalFavicon.cpp REGAL.CXX += src/regal/RegalMac.cpp @@ -85,6 +88,7 @@ REGAL.H += src/regal/RegalXfer.h REGAL.H += src/regal/RegalFrame.h REGAL.H += src/regal/RegalHelper.h REGAL.H += src/regal/RegalHttp.h +REGAL.H += src/regal/RegalDispatchHttp.h REGAL.H += src/regal/RegalJson.h REGAL.H += src/regal/RegalJson.inl REGAL.H += src/regal/RegalIff.h @@ -94,6 +98,7 @@ REGAL.H += src/regal/RegalLog.h REGAL.H += src/regal/RegalLookup.h REGAL.H += src/regal/RegalMarker.h REGAL.H += src/regal/RegalNamespace.h +REGAL.H += src/regal/RegalShader.h REGAL.H += src/regal/RegalTexC.h REGAL.H += src/regal/RegalTexSto.h REGAL.H += src/regal/RegalMac.h @@ -128,6 +133,7 @@ REGAL.H.OTHER += src/lookup3/lookup3.h # + REGAL.INCLUDE := REGAL.INCLUDE += -Isrc/regal REGAL.INCLUDE += -Isrc/zlib/include @@ -135,8 +141,17 @@ REGAL.INCLUDE += -Isrc/libpng/include REGAL.INCLUDE += -Isrc/civetweb REGAL.INCLUDE += -Isrc/md5/include REGAL.INCLUDE += -Isrc/lookup3 +REGAL.INCLUDE += -Isrc/pcre REGAL.INCLUDE += -Isrc/jsonsl REGAL.INCLUDE += -Isrc/boost +REGAL.INCLUDE += -Isrc/glsl/include +REGAL.INCLUDE += -Isrc/glsl/src/glsl +REGAL.INCLUDE += -Isrc/glsl/src/mesa + +ifeq ($(PROFILE_OS),Windows) +REGAL.INCLUDE += -Isrc/glsl/include/c99 +endif + REGAL.STATIC ?= libRegallib.a REGAL.SHARED ?= libRegal.so diff --git a/build/win32/vs2010/Regal/All.sln b/build/win32/vs2010/Regal/All.sln index 24ea43b..f95a890 100644 --- a/build/win32/vs2010/Regal/All.sln +++ b/build/win32/vs2010/Regal/All.sln @@ -6,9 +6,11 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regal", "Regal.vcxproj", "{ {EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08} {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} {9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016} + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} {27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64} {A996811D-4FA1-5874-A99B-81B8A0F3AA21} = {A996811D-4FA1-5874-A99B-81B8A0F3AA21} + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} {E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD} EndProjectSection EndProject @@ -22,9 +24,11 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalm", "Regalm.vcxproj", {EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08} {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} {9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016} + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} {27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64} {A996811D-4FA1-5874-A99B-81B8A0F3AA21} = {A996811D-4FA1-5874-A99B-81B8A0F3AA21} + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} {E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD} EndProjectSection EndProject @@ -54,6 +58,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pnglib", "pnglib.vcxproj", {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} EndProjectSection EndProject +Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pcrelib", "pcrelib.vcxproj", "{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "jsonsllib", "jsonsllib.vcxproj", "{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -66,6 +74,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "apitracelib", "apitracelib. ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "glsloptlib", "glsloptlib.vcxproj", "{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "snappylib", "snappylib.vcxproj", "{E3BB0211-87AF-58EF-3C65-999758F666FD}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -114,6 +126,13 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "dreamtorus", "dreamtorus.vc {D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E} = {D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E} EndProjectSection EndProject +Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "alphatorus", "alphatorus.vcxproj", "{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}" + ProjectSection(ProjectDependencies) = postProject + {6B2786AC-DF6B-8B13-DE42-875D8D9194D9} = {6B2786AC-DF6B-8B13-DE42-875D8D9194D9} + {2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32} = {2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32} + {D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E} = {D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E} + EndProjectSection +EndProject Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "tiger", "tiger.vcxproj", "{CC6D2AA2-765F-3405-4DF6-DC537EE16992}" ProjectSection(ProjectDependencies) = postProject {6B2786AC-DF6B-8B13-DE42-875D8D9194D9} = {6B2786AC-DF6B-8B13-DE42-875D8D9194D9} @@ -129,8 +148,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "dreamtorus_static", "dreamt {EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08} {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} {9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016} + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} {A996811D-4FA1-5874-A99B-81B8A0F3AA21} = {A996811D-4FA1-5874-A99B-81B8A0F3AA21} + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} {E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD} {70EF5244-5141-EC9E-11A6-7B6DD126FFFA} = {70EF5244-5141-EC9E-11A6-7B6DD126FFFA} {476C0BD6-57F1-93F9-0E06-2E90D934A88F} = {476C0BD6-57F1-93F9-0E06-2E90D934A88F} @@ -227,6 +248,14 @@ Global {9C419167-D705-A241-8927-763A6F9A5016}.Release|Win32.ActiveCfg = Release|Win32 {9C419167-D705-A241-8927-763A6F9A5016}.Release|x64.Build.0 = Release|x64 {9C419167-D705-A241-8927-763A6F9A5016}.Release|x64.ActiveCfg = Release|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.Build.0 = Debug|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.ActiveCfg = Debug|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.Build.0 = Debug|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.ActiveCfg = Debug|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.Build.0 = Release|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.ActiveCfg = Release|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|x64.Build.0 = Release|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|x64.ActiveCfg = Release|x64 {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|Win32.Build.0 = Debug|Win32 {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|Win32.ActiveCfg = Debug|Win32 {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|x64.Build.0 = Debug|x64 @@ -251,6 +280,14 @@ Global {A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|Win32.ActiveCfg = Release|Win32 {A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|x64.Build.0 = Release|x64 {A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|x64.ActiveCfg = Release|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.Build.0 = Debug|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.ActiveCfg = Debug|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.Build.0 = Debug|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.ActiveCfg = Debug|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.Build.0 = Release|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.ActiveCfg = Release|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|x64.Build.0 = Release|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|x64.ActiveCfg = Release|x64 {E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|Win32.Build.0 = Debug|Win32 {E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|Win32.ActiveCfg = Debug|Win32 {E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|x64.Build.0 = Debug|x64 @@ -331,6 +368,14 @@ Global {55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Release|Win32.ActiveCfg = Release|Win32 {55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Release|x64.Build.0 = Release|x64 {55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Release|x64.ActiveCfg = Release|x64 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|Win32.Build.0 = Debug|Win32 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|Win32.ActiveCfg = Debug|Win32 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|x64.Build.0 = Debug|x64 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|x64.ActiveCfg = Debug|x64 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|Win32.Build.0 = Release|Win32 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|Win32.ActiveCfg = Release|Win32 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|x64.Build.0 = Release|x64 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|x64.ActiveCfg = Release|x64 {CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Debug|Win32.Build.0 = Debug|Win32 {CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Debug|Win32.ActiveCfg = Debug|Win32 {CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Debug|x64.Build.0 = Debug|x64 @@ -369,9 +414,11 @@ Global {EF516F6A-1965-7089-C2CA-65778D394F08} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A} {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A} {9C419167-D705-A241-8927-763A6F9A5016} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A} + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A} {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A} {27193EF0-3CCB-8553-C48A-271082615A64} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A} {A996811D-4FA1-5874-A99B-81B8A0F3AA21} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A} + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A} {E3BB0211-87AF-58EF-3C65-999758F666FD} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A} {2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A} {70EF5244-5141-EC9E-11A6-7B6DD126FFFA} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A} @@ -382,6 +429,7 @@ Global {C04D78E5-3A59-67AE-8832-C03CE8DFF0B7} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A} {6446D860-DBBF-E540-E9E2-CBAB5F98F1E3} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A} {55D3AA5A-E8FE-2AC9-A665-77FC920A8658} = {FF7C0FCD-6A31-E735-A61C-001F75426961} + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3} = {FF7C0FCD-6A31-E735-A61C-001F75426961} {CC6D2AA2-765F-3405-4DF6-DC537EE16992} = {FF7C0FCD-6A31-E735-A61C-001F75426961} {4279720C-503C-C9A3-8714-4E88F1D2B1E0} = {FF7C0FCD-6A31-E735-A61C-001F75426961} {DB51380C-CDCA-2EE5-24C3-7307B6C32AE1} = {FF7C0FCD-6A31-E735-A61C-001F75426961} diff --git a/build/win32/vs2010/Regal/Examples.sln b/build/win32/vs2010/Regal/Examples.sln index a31752f..e66f759 100644 --- a/build/win32/vs2010/Regal/Examples.sln +++ b/build/win32/vs2010/Regal/Examples.sln @@ -8,6 +8,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "dreamtorus", "dreamtorus.vc ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "alphatorus", "alphatorus.vcxproj", "{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "tiger", "tiger.vcxproj", "{CC6D2AA2-765F-3405-4DF6-DC537EE16992}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -45,6 +49,14 @@ Global {55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Release|Win32.ActiveCfg = Release|Win32 {55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Release|x64.Build.0 = Release|x64 {55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Release|x64.ActiveCfg = Release|x64 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|Win32.Build.0 = Debug|Win32 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|Win32.ActiveCfg = Debug|Win32 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|x64.Build.0 = Debug|x64 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|x64.ActiveCfg = Debug|x64 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|Win32.Build.0 = Release|Win32 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|Win32.ActiveCfg = Release|Win32 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|x64.Build.0 = Release|x64 + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|x64.ActiveCfg = Release|x64 {CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Debug|Win32.Build.0 = Debug|Win32 {CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Debug|Win32.ActiveCfg = Debug|Win32 {CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Debug|x64.Build.0 = Debug|x64 diff --git a/build/win32/vs2010/Regal/Libraries.sln b/build/win32/vs2010/Regal/Libraries.sln index 07ac679..3f582bd 100644 --- a/build/win32/vs2010/Regal/Libraries.sln +++ b/build/win32/vs2010/Regal/Libraries.sln @@ -51,6 +51,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "png", "png.vcxproj", "{6446 {C04D78E5-3A59-67AE-8832-C03CE8DFF0B7} = {C04D78E5-3A59-67AE-8832-C03CE8DFF0B7} EndProjectSection EndProject +Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pcrelib", "pcrelib.vcxproj", "{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "jsonsllib", "jsonsllib.vcxproj", "{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -63,6 +67,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "apitracelib", "apitracelib. ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "glsloptlib", "glsloptlib.vcxproj", "{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "snappylib", "snappylib.vcxproj", "{E3BB0211-87AF-58EF-3C65-999758F666FD}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -171,6 +179,14 @@ Global {6446D860-DBBF-E540-E9E2-CBAB5F98F1E3}.Release|Win32.ActiveCfg = Release|Win32 {6446D860-DBBF-E540-E9E2-CBAB5F98F1E3}.Release|x64.Build.0 = Release|x64 {6446D860-DBBF-E540-E9E2-CBAB5F98F1E3}.Release|x64.ActiveCfg = Release|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.Build.0 = Debug|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.ActiveCfg = Debug|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.Build.0 = Debug|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.ActiveCfg = Debug|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.Build.0 = Release|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.ActiveCfg = Release|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|x64.Build.0 = Release|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|x64.ActiveCfg = Release|x64 {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|Win32.Build.0 = Debug|Win32 {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|Win32.ActiveCfg = Debug|Win32 {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|x64.Build.0 = Debug|x64 @@ -195,6 +211,14 @@ Global {A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|Win32.ActiveCfg = Release|Win32 {A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|x64.Build.0 = Release|x64 {A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|x64.ActiveCfg = Release|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.Build.0 = Debug|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.ActiveCfg = Debug|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.Build.0 = Debug|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.ActiveCfg = Debug|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.Build.0 = Release|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.ActiveCfg = Release|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|x64.Build.0 = Release|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|x64.ActiveCfg = Release|x64 {E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|Win32.Build.0 = Debug|Win32 {E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|Win32.ActiveCfg = Debug|Win32 {E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|x64.Build.0 = Debug|x64 diff --git a/build/win32/vs2010/Regal/Regal.sln b/build/win32/vs2010/Regal/Regal.sln index e9600c4..c8bd8d2 100755 --- a/build/win32/vs2010/Regal/Regal.sln +++ b/build/win32/vs2010/Regal/Regal.sln @@ -6,9 +6,11 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regal", "Regal.vcxproj", "{ {EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08} {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} {9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016} + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} {27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64} {A996811D-4FA1-5874-A99B-81B8A0F3AA21} = {A996811D-4FA1-5874-A99B-81B8A0F3AA21} + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} {E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD} EndProjectSection EndProject @@ -22,9 +24,11 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalm", "Regalm.vcxproj", {EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08} {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} {9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016} + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} {27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64} {A996811D-4FA1-5874-A99B-81B8A0F3AA21} = {A996811D-4FA1-5874-A99B-81B8A0F3AA21} + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} {E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD} EndProjectSection EndProject @@ -54,6 +58,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pnglib", "pnglib.vcxproj", {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} EndProjectSection EndProject +Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pcrelib", "pcrelib.vcxproj", "{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "jsonsllib", "jsonsllib.vcxproj", "{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -66,6 +74,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "apitracelib", "apitracelib. ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "glsloptlib", "glsloptlib.vcxproj", "{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "snappylib", "snappylib.vcxproj", "{E3BB0211-87AF-58EF-3C65-999758F666FD}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -150,6 +162,14 @@ Global {9C419167-D705-A241-8927-763A6F9A5016}.Release|Win32.ActiveCfg = Release|Win32 {9C419167-D705-A241-8927-763A6F9A5016}.Release|x64.Build.0 = Release|x64 {9C419167-D705-A241-8927-763A6F9A5016}.Release|x64.ActiveCfg = Release|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.Build.0 = Debug|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.ActiveCfg = Debug|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.Build.0 = Debug|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.ActiveCfg = Debug|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.Build.0 = Release|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.ActiveCfg = Release|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|x64.Build.0 = Release|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|x64.ActiveCfg = Release|x64 {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|Win32.Build.0 = Debug|Win32 {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|Win32.ActiveCfg = Debug|Win32 {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|x64.Build.0 = Debug|x64 @@ -174,6 +194,14 @@ Global {A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|Win32.ActiveCfg = Release|Win32 {A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|x64.Build.0 = Release|x64 {A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|x64.ActiveCfg = Release|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.Build.0 = Debug|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.ActiveCfg = Debug|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.Build.0 = Debug|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.ActiveCfg = Debug|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.Build.0 = Release|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.ActiveCfg = Release|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|x64.Build.0 = Release|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|x64.ActiveCfg = Release|x64 {E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|Win32.Build.0 = Debug|Win32 {E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|Win32.ActiveCfg = Debug|Win32 {E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|x64.Build.0 = Debug|x64 diff --git a/build/win32/vs2010/Regal/Regal.vcxproj b/build/win32/vs2010/Regal/Regal.vcxproj index 8ac5cd4..390d2a6 100755 --- a/build/win32/vs2010/Regal/Regal.vcxproj +++ b/build/win32/vs2010/Regal/Regal.vcxproj @@ -78,8 +78,8 @@ MaxSpeed OnlyExplicitInline - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreaded true @@ -96,7 +96,7 @@ true - civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) + civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;pcrelib.lib;glsloptlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) true Release\Win32\;%(AdditionalLibraryDirectories) ../../../../src/regal/Regal.def @@ -118,8 +118,8 @@ MaxSpeed OnlyExplicitInline - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreaded true @@ -133,11 +133,11 @@ Default 4996 ProgramDatabase - %(AdditionalOptions) + /bigobj %(AdditionalOptions) true - civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) + civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;pcrelib.lib;glsloptlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) true Release\x64\;%(AdditionalLibraryDirectories) ../../../../src/regal/Regal.def @@ -157,8 +157,8 @@ Disabled - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -175,7 +175,7 @@ true - civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) + civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;pcrelib.lib;glsloptlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) true Debug\Win32\;%(AdditionalLibraryDirectories) ../../../../src/regal/Regal.def @@ -197,8 +197,8 @@ Disabled - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -211,11 +211,11 @@ Default 4996 ProgramDatabase - %(AdditionalOptions) + /bigobj %(AdditionalOptions) true - civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) + civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;pcrelib.lib;glsloptlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) true Debug\x64\;%(AdditionalLibraryDirectories) ../../../../src/regal/Regal.def @@ -259,6 +259,8 @@ + + @@ -319,6 +321,9 @@ + + + diff --git a/build/win32/vs2010/Regal/RegalTest.sln b/build/win32/vs2010/Regal/RegalTest.sln index 349f34e..708f59c 100644 --- a/build/win32/vs2010/Regal/RegalTest.sln +++ b/build/win32/vs2010/Regal/RegalTest.sln @@ -16,6 +16,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pnglib", "pnglib.vcxproj", ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pcrelib", "pcrelib.vcxproj", "{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "jsonsllib", "jsonsllib.vcxproj", "{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -24,6 +28,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "squishlib", "squishlib.vcxp ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "glsloptlib", "glsloptlib.vcxproj", "{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "snappylib", "snappylib.vcxproj", "{E3BB0211-87AF-58EF-3C65-999758F666FD}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -38,8 +46,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regaltest", "Regaltest.vcxp {DF066256-E0AD-E016-6F07-52E868F96C02} = {DF066256-E0AD-E016-6F07-52E868F96C02} {EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08} {9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016} + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} {27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64} + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} {E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD} {8772AF49-E799-D743-4AED-682CB7047DB9} = {8772AF49-E799-D743-4AED-682CB7047DB9} EndProjectSection @@ -84,6 +94,14 @@ Global {9C419167-D705-A241-8927-763A6F9A5016}.Release|Win32.ActiveCfg = Release|Win32 {9C419167-D705-A241-8927-763A6F9A5016}.Release|x64.Build.0 = Release|x64 {9C419167-D705-A241-8927-763A6F9A5016}.Release|x64.ActiveCfg = Release|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.Build.0 = Debug|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.ActiveCfg = Debug|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.Build.0 = Debug|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.ActiveCfg = Debug|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.Build.0 = Release|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.ActiveCfg = Release|Win32 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|x64.Build.0 = Release|x64 + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|x64.ActiveCfg = Release|x64 {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|Win32.Build.0 = Debug|Win32 {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|Win32.ActiveCfg = Debug|Win32 {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|x64.Build.0 = Debug|x64 @@ -100,6 +118,14 @@ Global {27193EF0-3CCB-8553-C48A-271082615A64}.Release|Win32.ActiveCfg = Release|Win32 {27193EF0-3CCB-8553-C48A-271082615A64}.Release|x64.Build.0 = Release|x64 {27193EF0-3CCB-8553-C48A-271082615A64}.Release|x64.ActiveCfg = Release|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.Build.0 = Debug|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.ActiveCfg = Debug|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.Build.0 = Debug|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.ActiveCfg = Debug|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.Build.0 = Release|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.ActiveCfg = Release|Win32 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|x64.Build.0 = Release|x64 + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|x64.ActiveCfg = Release|x64 {E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|Win32.Build.0 = Debug|Win32 {E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|Win32.ActiveCfg = Debug|Win32 {E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|x64.Build.0 = Debug|x64 diff --git a/build/win32/vs2010/Regal/Regallib.vcxproj b/build/win32/vs2010/Regal/Regallib.vcxproj index c525be9..2f8117c 100644 --- a/build/win32/vs2010/Regal/Regallib.vcxproj +++ b/build/win32/vs2010/Regal/Regallib.vcxproj @@ -78,8 +78,8 @@ MaxSpeed OnlyExplicitInline - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreaded true @@ -118,8 +118,8 @@ MaxSpeed OnlyExplicitInline - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreaded true @@ -133,7 +133,7 @@ Default 4996 ProgramDatabase - %(AdditionalOptions) + /bigobj %(AdditionalOptions) true @@ -157,8 +157,8 @@ Disabled - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -197,8 +197,8 @@ Disabled - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -211,7 +211,7 @@ Default 4996 ProgramDatabase - %(AdditionalOptions) + /bigobj %(AdditionalOptions) true @@ -259,6 +259,8 @@ + + @@ -319,6 +321,9 @@ + + + diff --git a/build/win32/vs2010/Regal/Regalm.vcxproj b/build/win32/vs2010/Regal/Regalm.vcxproj index 32332e2..7d242bf 100644 --- a/build/win32/vs2010/Regal/Regalm.vcxproj +++ b/build/win32/vs2010/Regal/Regalm.vcxproj @@ -78,8 +78,8 @@ MaxSpeed OnlyExplicitInline - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreaded true @@ -96,7 +96,7 @@ true - civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) + civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) true Release\Win32\;%(AdditionalLibraryDirectories) ../../../../src/regal/Regalm.def @@ -118,8 +118,8 @@ MaxSpeed OnlyExplicitInline - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreaded true @@ -133,11 +133,11 @@ Default 4996 ProgramDatabase - %(AdditionalOptions) + /bigobj %(AdditionalOptions) true - civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) + civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) true Release\x64\;%(AdditionalLibraryDirectories) ../../../../src/regal/Regalm.def @@ -157,8 +157,8 @@ Disabled - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -175,7 +175,7 @@ true - civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) + civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) true Debug\Win32\;%(AdditionalLibraryDirectories) ../../../../src/regal/Regalm.def @@ -197,8 +197,8 @@ Disabled - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -211,11 +211,11 @@ Default 4996 ProgramDatabase - %(AdditionalOptions) + /bigobj %(AdditionalOptions) true - civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) + civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies) true Debug\x64\;%(AdditionalLibraryDirectories) ../../../../src/regal/Regalm.def @@ -259,6 +259,8 @@ + + @@ -319,6 +321,9 @@ + + + diff --git a/build/win32/vs2010/Regal/Regalmlib.vcxproj b/build/win32/vs2010/Regal/Regalmlib.vcxproj index e61e62b..f2e2f4f 100644 --- a/build/win32/vs2010/Regal/Regalmlib.vcxproj +++ b/build/win32/vs2010/Regal/Regalmlib.vcxproj @@ -78,8 +78,8 @@ MaxSpeed OnlyExplicitInline - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreaded true @@ -118,8 +118,8 @@ MaxSpeed OnlyExplicitInline - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreaded true @@ -133,7 +133,7 @@ Default 4996 ProgramDatabase - %(AdditionalOptions) + /bigobj %(AdditionalOptions) true @@ -157,8 +157,8 @@ Disabled - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -197,8 +197,8 @@ Disabled - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -211,7 +211,7 @@ Default 4996 ProgramDatabase - %(AdditionalOptions) + /bigobj %(AdditionalOptions) true @@ -259,6 +259,8 @@ + + @@ -319,6 +321,9 @@ + + + diff --git a/build/win32/vs2010/Regal/Regaltest.vcxproj b/build/win32/vs2010/Regal/Regaltest.vcxproj index 5157c43..4b21b0a 100644 --- a/build/win32/vs2010/Regal/Regaltest.vcxproj +++ b/build/win32/vs2010/Regal/Regaltest.vcxproj @@ -78,8 +78,8 @@ MaxSpeed OnlyExplicitInline - ../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../include;%(AdditionalIncludeDirectories) - GTEST_HAS_RTTI=0;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../src/pcre;../../../../include;%(AdditionalIncludeDirectories) + GTEST_HAS_RTTI=0;PCRE_STATIC=1;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreaded true @@ -96,7 +96,7 @@ true - gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies) + gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies) true Release\Win32\;%(AdditionalLibraryDirectories) @@ -118,8 +118,8 @@ MaxSpeed OnlyExplicitInline - ../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../include;%(AdditionalIncludeDirectories) - GTEST_HAS_RTTI=0;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../src/pcre;../../../../include;%(AdditionalIncludeDirectories) + GTEST_HAS_RTTI=0;PCRE_STATIC=1;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreaded true @@ -137,7 +137,7 @@ true - gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies) + gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies) true Release\x64\;%(AdditionalLibraryDirectories) @@ -157,8 +157,8 @@ Disabled - ../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../include;%(AdditionalIncludeDirectories) - GTEST_HAS_RTTI=0;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../src/pcre;../../../../include;%(AdditionalIncludeDirectories) + GTEST_HAS_RTTI=0;PCRE_STATIC=1;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -175,7 +175,7 @@ true - gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies) + gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies) true Debug\Win32\;%(AdditionalLibraryDirectories) @@ -197,8 +197,8 @@ Disabled - ../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../include;%(AdditionalIncludeDirectories) - GTEST_HAS_RTTI=0;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../src/pcre;../../../../include;%(AdditionalIncludeDirectories) + GTEST_HAS_RTTI=0;PCRE_STATIC=1;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -215,7 +215,7 @@ true - gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies) + gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies) true Debug\x64\;%(AdditionalLibraryDirectories) diff --git a/build/win32/vs2010/Regal/Regalw.vcxproj b/build/win32/vs2010/Regal/Regalw.vcxproj index 564ce55..ebe2ba4 100644 --- a/build/win32/vs2010/Regal/Regalw.vcxproj +++ b/build/win32/vs2010/Regal/Regalw.vcxproj @@ -78,8 +78,8 @@ MaxSpeed OnlyExplicitInline - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreaded true @@ -118,8 +118,8 @@ MaxSpeed OnlyExplicitInline - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreaded true @@ -133,7 +133,7 @@ Default 4996 ProgramDatabase - %(AdditionalOptions) + /bigobj %(AdditionalOptions) true @@ -157,8 +157,8 @@ Disabled - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -197,8 +197,8 @@ Disabled - ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories) - REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -211,7 +211,7 @@ Default 4996 ProgramDatabase - %(AdditionalOptions) + /bigobj %(AdditionalOptions) true @@ -259,6 +259,8 @@ + + @@ -319,6 +321,9 @@ + + + diff --git a/build/win32/vs2010/Regal/alphatorus.vcxproj b/build/win32/vs2010/Regal/alphatorus.vcxproj new file mode 100644 index 0000000..4710702 --- /dev/null +++ b/build/win32/vs2010/Regal/alphatorus.vcxproj @@ -0,0 +1,244 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + alphatorus + {B16811C6-F61E-8CD5-E8A4-94D84F05D7A3} + + + + Application + false + Unicode + + + Application + false + Unicode + + + Application + false + Unicode + + + Application + false + Unicode + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + Release\Win32\ + Release\x64\ + Release\Win32\alphatorus\ + Release\x64\alphatorus\ + Debug\Win32\ + Debug\x64\ + Debug\Win32\alphatorus\ + Debug\x64\alphatorus\ + alphatorus + alphatorus + alphatorus + alphatorus + + + + MaxSpeed + OnlyExplicitInline + ../../../../include;../../../../src/glu/include;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories) + GLUT_NO_LIB_PRAGMA;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + MultiThreaded + true + + + Release\Win32\alphatorus\ + Release\Win32\alphatorus\ + Release\Win32\alphatorus.pdb + Level3 + true + Default + 4996 + %(AdditionalOptions) + true + + + rglut32.lib;rglu32.lib;regal32.lib;%(AdditionalDependencies) + true + Release\Win32\;%(AdditionalLibraryDirectories) + + Release\Win32\alphatorus.pdb + Console + MachineX86 + Release\Win32\alphatorus.lib + + + + + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + MaxSpeed + OnlyExplicitInline + ../../../../include;../../../../src/glu/include;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories) + GLUT_NO_LIB_PRAGMA;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + MultiThreaded + true + + + Release\x64\alphatorus\ + Release\x64\alphatorus\ + Release\x64\alphatorus.pdb + Level3 + true + Default + 4996 + ProgramDatabase + %(AdditionalOptions) + true + + + rglut32.lib;rglu32.lib;regal32.lib;%(AdditionalDependencies) + true + Release\x64\;%(AdditionalLibraryDirectories) + + Release\x64\alphatorus.pdb + Console + Release\x64\alphatorus.lib + + + + + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + Disabled + ../../../../include;../../../../src/glu/include;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories) + GLUT_NO_LIB_PRAGMA;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + Debug\Win32\alphatorus\ + Debug\Win32\alphatorus\ + Debug\Win32\alphatorus.pdb + Level3 + true + EditAndContinue + Default + 4996 + %(AdditionalOptions) + true + + + rglut32.lib;rglu32.lib;regal32.lib;%(AdditionalDependencies) + true + Debug\Win32\;%(AdditionalLibraryDirectories) + + true + Debug\Win32\alphatorus.pdb + Console + MachineX86 + Debug\Win32\alphatorus.lib + + + + + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + Disabled + ../../../../include;../../../../src/glu/include;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories) + GLUT_NO_LIB_PRAGMA;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + Debug\x64\alphatorus\ + Debug\x64\alphatorus\ + Debug\x64\alphatorus.pdb + Level3 + true + Default + 4996 + ProgramDatabase + %(AdditionalOptions) + true + + + rglut32.lib;rglu32.lib;regal32.lib;%(AdditionalDependencies) + true + Debug\x64\;%(AdditionalLibraryDirectories) + + true + Debug\x64\alphatorus.pdb + Console + Debug\x64\alphatorus.lib + + + + + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + + + + + + + \ No newline at end of file diff --git a/build/win32/vs2010/Regal/alphatorus_win32.vcxproj b/build/win32/vs2010/Regal/alphatorus_win32.vcxproj new file mode 100644 index 0000000..60be323 --- /dev/null +++ b/build/win32/vs2010/Regal/alphatorus_win32.vcxproj @@ -0,0 +1,244 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + alphatorus_win32 + {9722CBCF-433D-69FD-9DF1-5D4BEA237F5E} + + + + Application + false + Unicode + + + Application + false + Unicode + + + Application + false + Unicode + + + Application + false + Unicode + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + Release\Win32\ + Release\x64\ + Release\Win32\alphatorus_win32\ + Release\x64\alphatorus_win32\ + Debug\Win32\ + Debug\x64\ + Debug\Win32\alphatorus_win32\ + Debug\x64\alphatorus_win32\ + alphatorus_win32 + alphatorus_win32 + alphatorus_win32 + alphatorus_win32 + + + + MaxSpeed + OnlyExplicitInline + ../../../../include;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories) + ;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + MultiThreaded + true + + + Release\Win32\alphatorus_win32\ + Release\Win32\alphatorus_win32\ + Release\Win32\alphatorus_win32.pdb + Level3 + true + Default + 4996 + %(AdditionalOptions) + true + + + regal32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies) + true + Release\Win32\;%(AdditionalLibraryDirectories) + + Release\Win32\alphatorus_win32.pdb + Windows + MachineX86 + Release\Win32\alphatorus_win32.lib + + + + + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + MaxSpeed + OnlyExplicitInline + ../../../../include;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories) + ;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + MultiThreaded + true + + + Release\x64\alphatorus_win32\ + Release\x64\alphatorus_win32\ + Release\x64\alphatorus_win32.pdb + Level3 + true + Default + 4996 + ProgramDatabase + %(AdditionalOptions) + true + + + regal32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies) + true + Release\x64\;%(AdditionalLibraryDirectories) + + Release\x64\alphatorus_win32.pdb + Windows + Release\x64\alphatorus_win32.lib + + + + + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + Disabled + ../../../../include;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories) + ;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + Debug\Win32\alphatorus_win32\ + Debug\Win32\alphatorus_win32\ + Debug\Win32\alphatorus_win32.pdb + Level3 + true + EditAndContinue + Default + 4996 + %(AdditionalOptions) + true + + + regal32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies) + true + Debug\Win32\;%(AdditionalLibraryDirectories) + + true + Debug\Win32\alphatorus_win32.pdb + Windows + MachineX86 + Debug\Win32\alphatorus_win32.lib + + + + + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + Disabled + ../../../../include;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories) + ;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + Debug\x64\alphatorus_win32\ + Debug\x64\alphatorus_win32\ + Debug\x64\alphatorus_win32.pdb + Level3 + true + Default + 4996 + ProgramDatabase + %(AdditionalOptions) + true + + + regal32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies) + true + Debug\x64\;%(AdditionalLibraryDirectories) + + true + Debug\x64\alphatorus_win32.pdb + Windows + Debug\x64\alphatorus_win32.lib + + + + + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + + + + + + + \ No newline at end of file diff --git a/build/win32/vs2010/Regal/apitracelib.vcxproj b/build/win32/vs2010/Regal/apitracelib.vcxproj index 2ddef5a..f668508 100644 --- a/build/win32/vs2010/Regal/apitracelib.vcxproj +++ b/build/win32/vs2010/Regal/apitracelib.vcxproj @@ -259,7 +259,6 @@ - diff --git a/build/win32/vs2010/Regal/dreamtorus_static.vcxproj b/build/win32/vs2010/Regal/dreamtorus_static.vcxproj index 53fa228..c18a875 100644 --- a/build/win32/vs2010/Regal/dreamtorus_static.vcxproj +++ b/build/win32/vs2010/Regal/dreamtorus_static.vcxproj @@ -96,7 +96,7 @@ true - rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies) + rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;glsloptlib.lib;pcrelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies) true Release\Win32\;%(AdditionalLibraryDirectories) @@ -137,7 +137,7 @@ true - rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies) + rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;glsloptlib.lib;pcrelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies) true Release\x64\;%(AdditionalLibraryDirectories) @@ -175,7 +175,7 @@ true - rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies) + rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;glsloptlib.lib;pcrelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies) true Debug\Win32\;%(AdditionalLibraryDirectories) @@ -215,7 +215,7 @@ true - rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies) + rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;glsloptlib.lib;pcrelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies) true Debug\x64\;%(AdditionalLibraryDirectories) diff --git a/build/win32/vs2010/Regal/glsloptlib.vcxproj b/build/win32/vs2010/Regal/glsloptlib.vcxproj new file mode 100644 index 0000000..1db9897 --- /dev/null +++ b/build/win32/vs2010/Regal/glsloptlib.vcxproj @@ -0,0 +1,327 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + glsloptlib + {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} + + + + StaticLibrary + false + Unicode + + + StaticLibrary + false + Unicode + + + StaticLibrary + false + Unicode + + + StaticLibrary + false + Unicode + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + Release\Win32\ + Release\x64\ + Release\Win32\glsloptlib\ + Release\x64\glsloptlib\ + Debug\Win32\ + Debug\x64\ + Debug\Win32\glsloptlib\ + Debug\x64\glsloptlib\ + glsloptlib + glsloptlib + glsloptlib + glsloptlib + + + + MaxSpeed + OnlyExplicitInline + ../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + _ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + MultiThreaded + true + + + Release\Win32\glsloptlib\ + Release\Win32\glsloptlib\ + Release\Win32\glsloptlib.pdb + Level3 + true + Default + 4996 + %(AdditionalOptions) + true + + + %(AdditionalDependencies) + true + Release\Win32\;%(AdditionalLibraryDirectories) + + Release\Win32\glsloptlib.pdb + Console + MachineX86 + Release\Win32\glsloptlib.lib + + + + + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + MaxSpeed + OnlyExplicitInline + ../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + _ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + MultiThreaded + true + + + Release\x64\glsloptlib\ + Release\x64\glsloptlib\ + Release\x64\glsloptlib.pdb + Level3 + true + Default + 4996 + ProgramDatabase + %(AdditionalOptions) + true + + + %(AdditionalDependencies) + true + Release\x64\;%(AdditionalLibraryDirectories) + + Release\x64\glsloptlib.pdb + Console + Release\x64\glsloptlib.lib + + + + + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + Disabled + ../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + _ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + Debug\Win32\glsloptlib\ + Debug\Win32\glsloptlib\ + Debug\Win32\glsloptlib.pdb + Level3 + true + EditAndContinue + Default + 4996 + %(AdditionalOptions) + true + + + %(AdditionalDependencies) + true + Debug\Win32\;%(AdditionalLibraryDirectories) + + true + Debug\Win32\glsloptlib.pdb + Console + MachineX86 + Debug\Win32\glsloptlib.lib + + + + + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + Disabled + ../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories) + _ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + Debug\x64\glsloptlib\ + Debug\x64\glsloptlib\ + Debug\x64\glsloptlib.pdb + Level3 + true + Default + 4996 + ProgramDatabase + %(AdditionalOptions) + true + + + %(AdditionalDependencies) + true + Debug\x64\;%(AdditionalLibraryDirectories) + + true + Debug\x64\glsloptlib.pdb + Console + Debug\x64\glsloptlib.lib + + + + + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/win32/vs2010/Regal/pcrelib.vcxproj b/build/win32/vs2010/Regal/pcrelib.vcxproj new file mode 100644 index 0000000..867bb3b --- /dev/null +++ b/build/win32/vs2010/Regal/pcrelib.vcxproj @@ -0,0 +1,268 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + pcrelib + {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} + + + + StaticLibrary + false + Unicode + + + StaticLibrary + false + Unicode + + + StaticLibrary + false + Unicode + + + StaticLibrary + false + Unicode + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + Release\Win32\ + Release\x64\ + Release\Win32\pcrelib\ + Release\x64\pcrelib\ + Debug\Win32\ + Debug\x64\ + Debug\Win32\pcrelib\ + Debug\x64\pcrelib\ + pcrelib + pcrelib + pcrelib + pcrelib + + + + MaxSpeed + OnlyExplicitInline + ../../../../src/pcre;%(AdditionalIncludeDirectories) + HAVE_CONFIG_H=1;HAVE_DIRENT_H=0;HAVE_INTTYPES_H=0;HAVE_STDINT_H=0;HAVE_UNISTD_H=0;HAVE_WINDOWS_H=1;PCRE_STATIC=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + MultiThreaded + true + + + Release\Win32\pcrelib\ + Release\Win32\pcrelib\ + Release\Win32\pcrelib.pdb + Level3 + true + Default + 4996 + %(AdditionalOptions) + true + + + %(AdditionalDependencies) + true + Release\Win32\;%(AdditionalLibraryDirectories) + + Release\Win32\pcrelib.pdb + Console + MachineX86 + Release\Win32\pcrelib.lib + + + + + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + MaxSpeed + OnlyExplicitInline + ../../../../src/pcre;%(AdditionalIncludeDirectories) + HAVE_CONFIG_H=1;HAVE_DIRENT_H=0;HAVE_INTTYPES_H=0;HAVE_STDINT_H=0;HAVE_UNISTD_H=0;HAVE_WINDOWS_H=1;PCRE_STATIC=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + MultiThreaded + true + + + Release\x64\pcrelib\ + Release\x64\pcrelib\ + Release\x64\pcrelib.pdb + Level3 + true + Default + 4996 + ProgramDatabase + %(AdditionalOptions) + true + + + %(AdditionalDependencies) + true + Release\x64\;%(AdditionalLibraryDirectories) + + Release\x64\pcrelib.pdb + Console + Release\x64\pcrelib.lib + + + + + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + Disabled + ../../../../src/pcre;%(AdditionalIncludeDirectories) + HAVE_CONFIG_H=1;HAVE_DIRENT_H=0;HAVE_INTTYPES_H=0;HAVE_STDINT_H=0;HAVE_UNISTD_H=0;HAVE_WINDOWS_H=1;PCRE_STATIC=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + Debug\Win32\pcrelib\ + Debug\Win32\pcrelib\ + Debug\Win32\pcrelib.pdb + Level3 + true + EditAndContinue + Default + 4996 + %(AdditionalOptions) + true + + + %(AdditionalDependencies) + true + Debug\Win32\;%(AdditionalLibraryDirectories) + + true + Debug\Win32\pcrelib.pdb + Console + MachineX86 + Debug\Win32\pcrelib.lib + + + + + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + Disabled + ../../../../src/pcre;%(AdditionalIncludeDirectories) + HAVE_CONFIG_H=1;HAVE_DIRENT_H=0;HAVE_INTTYPES_H=0;HAVE_STDINT_H=0;HAVE_UNISTD_H=0;HAVE_WINDOWS_H=1;PCRE_STATIC=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + Debug\x64\pcrelib\ + Debug\x64\pcrelib\ + Debug\x64\pcrelib.pdb + Level3 + true + Default + 4996 + ProgramDatabase + %(AdditionalOptions) + true + + + %(AdditionalDependencies) + true + Debug\x64\;%(AdditionalLibraryDirectories) + + true + Debug\x64\pcrelib.pdb + Console + Debug\x64\pcrelib.lib + + + + + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/alphatorus/android/.classpath b/examples/alphatorus/android/.classpath new file mode 100644 index 0000000..a4763d1 --- /dev/null +++ b/examples/alphatorus/android/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/examples/alphatorus/android/.project b/examples/alphatorus/android/.project new file mode 100644 index 0000000..78b3e7b --- /dev/null +++ b/examples/alphatorus/android/.project @@ -0,0 +1,33 @@ + + + minimalAndroid + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/examples/alphatorus/android/AndroidManifest.xml b/examples/alphatorus/android/AndroidManifest.xml new file mode 100644 index 0000000..ef540ab --- /dev/null +++ b/examples/alphatorus/android/AndroidManifest.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + diff --git a/examples/alphatorus/android/default.properties b/examples/alphatorus/android/default.properties new file mode 100644 index 0000000..cd119de --- /dev/null +++ b/examples/alphatorus/android/default.properties @@ -0,0 +1,2 @@ +# Project target. +target=android-15 diff --git a/examples/alphatorus/android/jni/Android.mk b/examples/alphatorus/android/jni/Android.mk new file mode 100644 index 0000000..16b351f --- /dev/null +++ b/examples/alphatorus/android/jni/Android.mk @@ -0,0 +1,40 @@ +# Copyright (C) 2009 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +LOCAL_PATH:= $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := libalphatorus +LOCAL_CFLAGS := -Werror +LOCAL_ARM_MODE := arm + +SHARED_DIR := $(LOCAL_PATH)/../../src + +LOCAL_C_INCLUDES += $(SHARED_DIR) +MY_SRC_FILES := gl_code.cpp $(SHARED_DIR)/render.cpp +LOCAL_SRC_FILES := $(patsubst $(LOCAL_PATH)/%,%,$(MY_SRC_FILES)) +LOCAL_STATIC_LIBRARIES := zlib snappy +LOCAL_WHOLE_STATIC_LIBRARIES := Regal_static apitrace +LOCAL_CFLAGS := -DANDROID=1 +LOCAL_LDLIBS := -llog + +#-lGLESv2 + +include $(BUILD_SHARED_LIBRARY) + +$(call import-add-path, $(LOCAL_PATH)/../../../../build/android/Regal) +$(call import-module, jni) + diff --git a/examples/alphatorus/android/jni/Application.mk b/examples/alphatorus/android/jni/Application.mk new file mode 100644 index 0000000..715a364 --- /dev/null +++ b/examples/alphatorus/android/jni/Application.mk @@ -0,0 +1,6 @@ +APP_STL := stlport_static + +ifeq ($(NDK_DEBUG),1) + $(warning NDK_DEBUG set, enabling debug build.) + APP_OPTIM := debug +endif diff --git a/examples/alphatorus/android/jni/gl_code.cpp b/examples/alphatorus/android/jni/gl_code.cpp new file mode 100644 index 0000000..63fb715 --- /dev/null +++ b/examples/alphatorus/android/jni/gl_code.cpp @@ -0,0 +1,66 @@ +/* + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + +*/ + +#include +#include + +#include + +#include "render.h" + +#include +#include +#include + +#define LOG_TAG "alphatorus" +#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__) +#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__) + +extern "C" +{ + JNIEXPORT void JNICALL Java_com_regal_alphatorus_AlphatorusLib_init(JNIEnv *env, jobject obj, jint width, jint height); + JNIEXPORT void JNICALL Java_com_regal_alphatorus_AlphatorusLib_step(JNIEnv *env, jobject obj); +}; + +JNIEXPORT void JNICALL Java_com_regal_alphatorus_AlphatorusLib_init(JNIEnv *env, jobject obj, jint width, jint height) +{ + // On Android there is a new context each time the application + // is activated - we ought to clean up the Regal resources for + // the old context, but there is no API for that yet. + + RegalMakeCurrent(eglGetCurrentContext()); + alphaTorusInit(); + alphaTorusReshape(width, height); +} + +JNIEXPORT void JNICALL Java_com_regal_alphatorus_AlphatorusLib_step(JNIEnv *env, jobject obj) +{ + //glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT); + alphaTorusDisplay( true ); +} diff --git a/examples/alphatorus/android/project.properties b/examples/alphatorus/android/project.properties new file mode 100644 index 0000000..f049142 --- /dev/null +++ b/examples/alphatorus/android/project.properties @@ -0,0 +1,11 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-10 diff --git a/examples/alphatorus/android/res/drawable-hdpi/ic_launcher_regal.png b/examples/alphatorus/android/res/drawable-hdpi/ic_launcher_regal.png new file mode 100644 index 0000000..b294368 Binary files /dev/null and b/examples/alphatorus/android/res/drawable-hdpi/ic_launcher_regal.png differ diff --git a/examples/alphatorus/android/res/drawable-ldpi/ic_launcher_regal.png b/examples/alphatorus/android/res/drawable-ldpi/ic_launcher_regal.png new file mode 100644 index 0000000..dac034b Binary files /dev/null and b/examples/alphatorus/android/res/drawable-ldpi/ic_launcher_regal.png differ diff --git a/examples/alphatorus/android/res/drawable-mdpi/ic_launcher_regal.png b/examples/alphatorus/android/res/drawable-mdpi/ic_launcher_regal.png new file mode 100644 index 0000000..964404f Binary files /dev/null and b/examples/alphatorus/android/res/drawable-mdpi/ic_launcher_regal.png differ diff --git a/examples/alphatorus/android/res/drawable-xhdpi/ic_launcher_regal.png b/examples/alphatorus/android/res/drawable-xhdpi/ic_launcher_regal.png new file mode 100644 index 0000000..8abfeed Binary files /dev/null and b/examples/alphatorus/android/res/drawable-xhdpi/ic_launcher_regal.png differ diff --git a/examples/alphatorus/android/res/values/strings.xml b/examples/alphatorus/android/res/values/strings.xml new file mode 100644 index 0000000..c6d6a41 --- /dev/null +++ b/examples/alphatorus/android/res/values/strings.xml @@ -0,0 +1,29 @@ + + + + + + + + alphatorus + + + diff --git a/examples/alphatorus/android/src/com/regal/alphatorus/AlphatorusActivity.java b/examples/alphatorus/android/src/com/regal/alphatorus/AlphatorusActivity.java new file mode 100644 index 0000000..a046154 --- /dev/null +++ b/examples/alphatorus/android/src/com/regal/alphatorus/AlphatorusActivity.java @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2007 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.regal.alphatorus; + +import android.app.Activity; +import android.os.Bundle; +import android.util.Log; +import android.view.WindowManager; + +import java.io.File; + + +public class AlphatorusActivity extends Activity { + + AlphatorusView mView; + + @Override protected void onCreate(Bundle icicle) { + super.onCreate(icicle); + mView = new AlphatorusView(getApplication()); + setContentView(mView); + } + + @Override protected void onPause() { + super.onPause(); + mView.onPause(); + } + + @Override protected void onResume() { + super.onResume(); + mView.onResume(); + } +} diff --git a/examples/alphatorus/android/src/com/regal/alphatorus/AlphatorusLib.java b/examples/alphatorus/android/src/com/regal/alphatorus/AlphatorusLib.java new file mode 100644 index 0000000..4759dbd --- /dev/null +++ b/examples/alphatorus/android/src/com/regal/alphatorus/AlphatorusLib.java @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2007 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.regal.alphatorus; + +// Wrapper for native library + +public class AlphatorusLib { + + static { + System.loadLibrary("alphatorus"); + } + + /** + * @param width the current view width + * @param height the current view height + */ + public static native void init(int width, int height); + public static native void step(); +} diff --git a/examples/alphatorus/android/src/com/regal/alphatorus/AlphatorusView.java b/examples/alphatorus/android/src/com/regal/alphatorus/AlphatorusView.java new file mode 100644 index 0000000..b41fc6f --- /dev/null +++ b/examples/alphatorus/android/src/com/regal/alphatorus/AlphatorusView.java @@ -0,0 +1,339 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.regal.alphatorus; +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +import android.content.Context; +import android.graphics.PixelFormat; +import android.opengl.GLSurfaceView; +import android.util.AttributeSet; +import android.util.Log; +import android.view.KeyEvent; +import android.view.MotionEvent; + +import javax.microedition.khronos.egl.EGL10; +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.egl.EGLContext; +import javax.microedition.khronos.egl.EGLDisplay; +import javax.microedition.khronos.opengles.GL10; + +/** + * A simple GLSurfaceView sub-class that demonstrate how to perform + * OpenGL ES 2.0 rendering into a GL Surface. Note the following important + * details: + * + * - The class must use a custom context factory to enable 2.0 rendering. + * See ContextFactory class definition below. + * + * - The class must use a custom EGLConfigChooser to be able to select + * an EGLConfig that supports 2.0. This is done by providing a config + * specification to eglChooseConfig() that has the attribute + * EGL10.ELG_RENDERABLE_TYPE containing the EGL_OPENGL_ES2_BIT flag + * set. See ConfigChooser class definition below. + * + * - The class must select the surface's format, then choose an EGLConfig + * that matches it exactly (with regards to red/green/blue/alpha channels + * bit depths). Failure to do so would result in an EGL_BAD_MATCH error. + */ +class AlphatorusView extends GLSurfaceView { + private static String TAG = "AlphatorusView"; + private static final boolean DEBUG = false; + + public AlphatorusView(Context context) { + super(context); + init(false, 0, 0); + } + + public AlphatorusView(Context context, boolean translucent, int depth, int stencil) { + super(context); + init(translucent, depth, stencil); + } + + private void init(boolean translucent, int depth, int stencil) { + + /* By default, GLSurfaceView() creates a RGB_565 opaque surface. + * If we want a translucent one, we should change the surface's + * format here, using PixelFormat.TRANSLUCENT for GL Surfaces + * is interpreted as any 32-bit surface with alpha by SurfaceFlinger. + */ + if (translucent) { + this.getHolder().setFormat(PixelFormat.TRANSLUCENT); + } + + /* Setup the context factory for 2.0 rendering. + * See ContextFactory class definition below + */ + setEGLContextFactory(new ContextFactory()); + + /* We need to choose an EGLConfig that matches the format of + * our surface exactly. This is going to be done in our + * custom config chooser. See ConfigChooser class definition + * below. + */ + setEGLConfigChooser( translucent ? + new ConfigChooser(8, 8, 8, 8, depth, stencil) : + new ConfigChooser(5, 6, 5, 0, depth, stencil) ); + + /* Set the renderer responsible for frame rendering */ + setRenderer(new Renderer()); + } + + private static class ContextFactory implements GLSurfaceView.EGLContextFactory { + private static int EGL_CONTEXT_CLIENT_VERSION = 0x3098; + public EGLContext createContext(EGL10 egl, EGLDisplay display, EGLConfig eglConfig) { + Log.w(TAG, "creating OpenGL ES 2.0 context"); + checkEglError("Before eglCreateContext", egl); + int[] attrib_list = {EGL_CONTEXT_CLIENT_VERSION, 2, EGL10.EGL_NONE }; + EGLContext context = egl.eglCreateContext(display, eglConfig, EGL10.EGL_NO_CONTEXT, attrib_list); + checkEglError("After eglCreateContext", egl); + return context; + } + + public void destroyContext(EGL10 egl, EGLDisplay display, EGLContext context) { + egl.eglDestroyContext(display, context); + } + } + + private static void checkEglError(String prompt, EGL10 egl) { + int error; + while ((error = egl.eglGetError()) != EGL10.EGL_SUCCESS) { + Log.e(TAG, String.format("%s: EGL error: 0x%x", prompt, error)); + } + } + + private static class ConfigChooser implements GLSurfaceView.EGLConfigChooser { + + public ConfigChooser(int r, int g, int b, int a, int depth, int stencil) { + mRedSize = r; + mGreenSize = g; + mBlueSize = b; + mAlphaSize = a; + mDepthSize = depth; + mStencilSize = stencil; + } + + /* This EGL config specification is used to specify 2.0 rendering. + * We use a minimum size of 4 bits for red/green/blue, but will + * perform actual matching in chooseConfig() below. + */ + private static int EGL_OPENGL_ES2_BIT = 4; + private static int[] s_configAttribs2 = + { + EGL10.EGL_RED_SIZE, 4, + EGL10.EGL_GREEN_SIZE, 4, + EGL10.EGL_BLUE_SIZE, 4, + EGL10.EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, + EGL10.EGL_NONE + }; + + public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) { + + /* Get the number of minimally matching EGL configurations + */ + int[] num_config = new int[1]; + egl.eglChooseConfig(display, s_configAttribs2, null, 0, num_config); + + int numConfigs = num_config[0]; + + if (numConfigs <= 0) { + throw new IllegalArgumentException("No configs match configSpec"); + } + + /* Allocate then read the array of minimally matching EGL configs + */ + EGLConfig[] configs = new EGLConfig[numConfigs]; + egl.eglChooseConfig(display, s_configAttribs2, configs, numConfigs, num_config); + + if (DEBUG) { + printConfigs(egl, display, configs); + } + /* Now return the "best" one + */ + return chooseConfig(egl, display, configs); + } + + public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display, + EGLConfig[] configs) { + for(EGLConfig config : configs) { + int d = findConfigAttrib(egl, display, config, + EGL10.EGL_DEPTH_SIZE, 0); + int s = findConfigAttrib(egl, display, config, + EGL10.EGL_STENCIL_SIZE, 0); + + // We need at least mDepthSize and mStencilSize bits + if (d < mDepthSize || s < mStencilSize) + continue; + + // We want an *exact* match for red/green/blue/alpha + int r = findConfigAttrib(egl, display, config, + EGL10.EGL_RED_SIZE, 0); + int g = findConfigAttrib(egl, display, config, + EGL10.EGL_GREEN_SIZE, 0); + int b = findConfigAttrib(egl, display, config, + EGL10.EGL_BLUE_SIZE, 0); + int a = findConfigAttrib(egl, display, config, + EGL10.EGL_ALPHA_SIZE, 0); + + if (r == mRedSize && g == mGreenSize && b == mBlueSize && a == mAlphaSize) + return config; + } + return null; + } + + private int findConfigAttrib(EGL10 egl, EGLDisplay display, + EGLConfig config, int attribute, int defaultValue) { + + if (egl.eglGetConfigAttrib(display, config, attribute, mValue)) { + return mValue[0]; + } + return defaultValue; + } + + private void printConfigs(EGL10 egl, EGLDisplay display, + EGLConfig[] configs) { + int numConfigs = configs.length; + Log.w(TAG, String.format("%d configurations", numConfigs)); + for (int i = 0; i < numConfigs; i++) { + Log.w(TAG, String.format("Configuration %d:\n", i)); + printConfig(egl, display, configs[i]); + } + } + + private void printConfig(EGL10 egl, EGLDisplay display, + EGLConfig config) { + int[] attributes = { + EGL10.EGL_BUFFER_SIZE, + EGL10.EGL_ALPHA_SIZE, + EGL10.EGL_BLUE_SIZE, + EGL10.EGL_GREEN_SIZE, + EGL10.EGL_RED_SIZE, + EGL10.EGL_DEPTH_SIZE, + EGL10.EGL_STENCIL_SIZE, + EGL10.EGL_CONFIG_CAVEAT, + EGL10.EGL_CONFIG_ID, + EGL10.EGL_LEVEL, + EGL10.EGL_MAX_PBUFFER_HEIGHT, + EGL10.EGL_MAX_PBUFFER_PIXELS, + EGL10.EGL_MAX_PBUFFER_WIDTH, + EGL10.EGL_NATIVE_RENDERABLE, + EGL10.EGL_NATIVE_VISUAL_ID, + EGL10.EGL_NATIVE_VISUAL_TYPE, + 0x3030, // EGL10.EGL_PRESERVED_RESOURCES, + EGL10.EGL_SAMPLES, + EGL10.EGL_SAMPLE_BUFFERS, + EGL10.EGL_SURFACE_TYPE, + EGL10.EGL_TRANSPARENT_TYPE, + EGL10.EGL_TRANSPARENT_RED_VALUE, + EGL10.EGL_TRANSPARENT_GREEN_VALUE, + EGL10.EGL_TRANSPARENT_BLUE_VALUE, + 0x3039, // EGL10.EGL_BIND_TO_TEXTURE_RGB, + 0x303A, // EGL10.EGL_BIND_TO_TEXTURE_RGBA, + 0x303B, // EGL10.EGL_MIN_SWAP_INTERVAL, + 0x303C, // EGL10.EGL_MAX_SWAP_INTERVAL, + EGL10.EGL_LUMINANCE_SIZE, + EGL10.EGL_ALPHA_MASK_SIZE, + EGL10.EGL_COLOR_BUFFER_TYPE, + EGL10.EGL_RENDERABLE_TYPE, + 0x3042 // EGL10.EGL_CONFORMANT + }; + String[] names = { + "EGL_BUFFER_SIZE", + "EGL_ALPHA_SIZE", + "EGL_BLUE_SIZE", + "EGL_GREEN_SIZE", + "EGL_RED_SIZE", + "EGL_DEPTH_SIZE", + "EGL_STENCIL_SIZE", + "EGL_CONFIG_CAVEAT", + "EGL_CONFIG_ID", + "EGL_LEVEL", + "EGL_MAX_PBUFFER_HEIGHT", + "EGL_MAX_PBUFFER_PIXELS", + "EGL_MAX_PBUFFER_WIDTH", + "EGL_NATIVE_RENDERABLE", + "EGL_NATIVE_VISUAL_ID", + "EGL_NATIVE_VISUAL_TYPE", + "EGL_PRESERVED_RESOURCES", + "EGL_SAMPLES", + "EGL_SAMPLE_BUFFERS", + "EGL_SURFACE_TYPE", + "EGL_TRANSPARENT_TYPE", + "EGL_TRANSPARENT_RED_VALUE", + "EGL_TRANSPARENT_GREEN_VALUE", + "EGL_TRANSPARENT_BLUE_VALUE", + "EGL_BIND_TO_TEXTURE_RGB", + "EGL_BIND_TO_TEXTURE_RGBA", + "EGL_MIN_SWAP_INTERVAL", + "EGL_MAX_SWAP_INTERVAL", + "EGL_LUMINANCE_SIZE", + "EGL_ALPHA_MASK_SIZE", + "EGL_COLOR_BUFFER_TYPE", + "EGL_RENDERABLE_TYPE", + "EGL_CONFORMANT" + }; + int[] value = new int[1]; + for (int i = 0; i < attributes.length; i++) { + int attribute = attributes[i]; + String name = names[i]; + if ( egl.eglGetConfigAttrib(display, config, attribute, value)) { + Log.w(TAG, String.format(" %s: %d\n", name, value[0])); + } else { + // Log.w(TAG, String.format(" %s: failed\n", name)); + while (egl.eglGetError() != EGL10.EGL_SUCCESS); + } + } + } + + // Subclasses can adjust these values: + protected int mRedSize; + protected int mGreenSize; + protected int mBlueSize; + protected int mAlphaSize; + protected int mDepthSize; + protected int mStencilSize; + private int[] mValue = new int[1]; + } + + private static class Renderer implements GLSurfaceView.Renderer { + public void onDrawFrame(GL10 gl) { + AlphatorusLib.step(); + } + + public void onSurfaceChanged(GL10 gl, int width, int height) { + AlphatorusLib.init(width, height); + } + + public void onSurfaceCreated(GL10 gl, EGLConfig config) { + // Do nothing. + } + } +} diff --git a/examples/alphatorus/egl/Makefile b/examples/alphatorus/egl/Makefile new file mode 100644 index 0000000..3622491 --- /dev/null +++ b/examples/alphatorus/egl/Makefile @@ -0,0 +1,37 @@ + +all: alphatorus + +clean: + rm -f alphatorus + rm -rf obj + +REGAL_DIR := ../../../../regal +REGAL_SRC := $(wildcard $(REGAL_DIR)/gen/*.cpp $(REGAL_DIR)/src/*.cpp) +REGAL_INC := $(REGAL_DIR)/include $(REGAL_DIR)/src +REGAL_DEF := -DREGAL_SYS_EGL=1 + +SHARED_DIR := ../src +SHARED_SRC := $(wildcard $(SHARED_DIR)/*.cpp) +SHARED_INC := $(SHARED_DIR) + +LOCAL_SRC := $(wildcard *.cpp) + +MY_SRC := $(REGAL_SRC) $(LOCAL_SRC) $(SHARED_SRC) +MY_SRC_DIRS := $(sort $(dir $(MY_SRC))) + +MY_OBJ := $(MY_SRC) +MY_OBJ := $(patsubst %.cpp, obj$(CURDIR)/%.o, $(MY_OBJ)) +MY_OBJ := $(patsubst %.c, obj$(CURDIR)/%.o, $(MY_OBJ)) +MY_OBJ_DIRS := $(sort $(dir $(MY_OBJ))) + +MY_INC := $(REGAL_INC) $(SHARED_INC) +MY_CMD_INC := $(patsubst %, -I %, $(MY_INC)) + +obj$(CURDIR)/%.o: %.cpp + @mkdir -p $(dir $@) + g++ -g -c -o $@ $(MY_CMD_INC) $(REGAL_DEF) $< + @echo $@ ---- $< + +alphatorus: $(MY_OBJ) + g++ -g -o $@ $(MY_OBJ) -L$(REGAL_DIR)/lib -lRegal -lX11 -lpthread + diff --git a/examples/alphatorus/egl/main.cpp b/examples/alphatorus/egl/main.cpp new file mode 100644 index 0000000..a095074 --- /dev/null +++ b/examples/alphatorus/egl/main.cpp @@ -0,0 +1,431 @@ +/* Created by exoticorn ( http://talk.maemo.org/showthread.php?t=37356 ) + * edited and commented by André Bergner [endboss] + * + * libraries needed: libx11-dev, libgles2-dev + * + * compile with: g++ -lX11 -lEGL -lGLESv2 egl-example.cpp + */ + +#include +#include +#include + +#include +using namespace std; + +#include +#include + +#include +#include +#include + +#include +#include "render.h" + +/* +#include +#include +*/ + +#include + +const char vertex_src [] = +" \ + attribute vec4 position; \ + varying mediump vec2 pos; \ + uniform vec4 offset; \ + \ + void main() \ + { \ + gl_Position = position + offset; \ + pos = position.xy; \ + } \ +"; + + +const char fragment_src [] = +" \ + varying mediump vec2 pos; \ + uniform mediump float phase; \ + \ + void main() \ + { \ + gl_FragColor = vec4( 1., 0.9, 0.7, 1.0 ) * \ + cos( 30.*sqrt(pos.x*pos.x + 1.5*pos.y*pos.y) \ + + atan(pos.y,pos.x) - phase ); \ + } \ +"; +// some more formulas to play with... +// cos( 20.*(pos.x*pos.x + pos.y*pos.y) - phase ); +// cos( 20.*sqrt(pos.x*pos.x + pos.y*pos.y) + atan(pos.y,pos.x) - phase ); +// cos( 30.*sqrt(pos.x*pos.x + 1.5*pos.y*pos.y - 1.8*pos.x*pos.y*pos.y) +// + atan(pos.y,pos.x) - phase ); + + +void +print_shader_info_log ( + GLuint shader // handle to the shader +) +{ + GLint length; + + glGetShaderiv ( shader , GL_INFO_LOG_LENGTH , &length ); + + if ( length ) { + char* buffer = new char [ length ]; + glGetShaderInfoLog ( shader , length , NULL , buffer ); + cout << "shader info: " << buffer << flush; + delete [] buffer; + + GLint success; + glGetShaderiv( shader, GL_COMPILE_STATUS, &success ); + if ( success != GL_TRUE ) exit ( 1 ); + } +} + + +GLuint +load_shader ( + const char *shader_source, + GLenum type +) +{ + GLuint shader = glCreateShader( type ); + + glShaderSource ( shader , 1 , &shader_source , NULL ); + glCompileShader ( shader ); + + print_shader_info_log ( shader ); + + return shader; +} + + +Display *x_display; +Window win; +EGLDisplay egl_display; +EGLContext egl_context; + +GLfloat + norm_x = 0.0, + norm_y = 0.0, + offset_x = 0.0, + offset_y = 0.0, + p1_pos_x = 0.0, + p1_pos_y = 0.0; + +GLint + phase_loc, + offset_loc, + position_loc; + + +EGLSurface egl_surface; +bool update_pos = false; + +const float vertexArray[] = { + 0.0, 0.5, 0.0, + -0.5, 0.0, 0.0, + 0.0, -0.5, 0.0, + 0.5, 0.0, 0.0, + 0.0, 0.5, 0.0 +}; + + +void render() +{ + static float phase = 0; + static int donesetup = 0; + + static XWindowAttributes gwa; + + //// draw + + if ( !donesetup ) { + XWindowAttributes gwa; + XGetWindowAttributes ( x_display , win , &gwa ); + glViewport ( 0 , 0 , gwa.width , gwa.height ); + glClearColor ( 1.0 , 0.06 , 0.07 , 1.); // background color + donesetup = 1; + } + static int color = 1; + + if (color) + glClearColor ( 1.0 , 0.06 , 0.07 , 1.); // background color + else + glClearColor ( 0.0 , 1.0 , 0.07 , 1.); // background color + + color = !color; + + glClear ( GL_COLOR_BUFFER_BIT ); + + glUniform1f ( phase_loc , phase ); // write the value of phase to the shaders phase + phase = fmodf ( phase + 0.5f , 2.f * 3.141f ); // and update the local variable + + if ( update_pos ) { // if the position of the texture has changed due to user action + GLfloat old_offset_x = offset_x; + GLfloat old_offset_y = offset_y; + + offset_x = norm_x - p1_pos_x; + offset_y = norm_y - p1_pos_y; + + p1_pos_x = norm_x; + p1_pos_y = norm_y; + + offset_x += old_offset_x; + offset_y += old_offset_y; + + update_pos = false; + } + + glUniform4f ( offset_loc , offset_x , offset_y , 0.0 , 0.0 ); + + glVertexAttribPointer ( position_loc, 3, GL_FLOAT, false, 0, vertexArray ); + glEnableVertexAttribArray ( position_loc ); + + glBlendFunc(GL_ONE, GL_ONE); + //glEnable(GL_BLEND); + + //glDrawArrays ( GL_TRIANGLE_STRIP, 0, 5 ); + + int ret; + ret = eglSwapBuffers ( egl_display, egl_surface ); // get the rendered buffer to the screen + printf("swap returned %i\n", ret); +} + + +//////////////////////////////////////////////////////////////////////////////////////////// + + +int main() +{ + /////// the X11 part ////////////////////////////////////////////////////////////////// + // in the first part the program opens a connection to the X11 window manager + // + + x_display = XOpenDisplay ( NULL ); // open the standard display (the primary screen) + if ( x_display == NULL ) { + cerr << "cannot connect to X server" << endl; + return 1; + } + + Window root = DefaultRootWindow( x_display ); // get the root window (usually the whole screen) + + XSetWindowAttributes swa; + swa.event_mask = ExposureMask | PointerMotionMask | KeyPressMask; + + win = XCreateWindow ( // create a window with the provided parameters + x_display, root, + 0, 0, 800, 480, 0, + CopyFromParent, InputOutput, + CopyFromParent, CWEventMask, + &swa ); + + XSetWindowAttributes xattr; + Atom atom; + int one = 1; + + xattr.override_redirect = False; + XChangeWindowAttributes ( x_display, win, CWOverrideRedirect, &xattr ); + + /*atom = XInternAtom ( x_display, "_NET_WM_STATE_FULLSCREEN", True ); + XChangeProperty ( + x_display, win, + XInternAtom ( x_display, "_NET_WM_STATE", True ), + XA_ATOM, 32, PropModeReplace, + (unsigned char*) &atom, 1 );*/ + + /*XChangeProperty ( + x_display, win, + XInternAtom ( x_display, "_HILDON_NON_COMPOSITED_WINDOW", True ), + XA_INTEGER, 32, PropModeReplace, + (unsigned char*) &one, 1);*/ + + XWMHints hints; + hints.input = True; + hints.flags = InputHint; + XSetWMHints(x_display, win, &hints); + + XMapWindow ( x_display , win ); // make the window visible on the screen + XStoreName ( x_display , win , "GL test" ); // give the window a name + + XSync(x_display, NULL); + //sleep(10); + + //// get identifiers for the provided atom name strings + /*Atom wm_state = XInternAtom ( x_display, "_NET_WM_STATE", False ); + Atom fullscreen = XInternAtom ( x_display, "_NET_WM_STATE_FULLSCREEN", False ); + + XEvent xev; + memset ( &xev, 0, sizeof(xev) ); + + xev.type = ClientMessage; + xev.xclient.window = win; + xev.xclient.message_type = wm_state; + xev.xclient.format = 32; + xev.xclient.data.l[0] = 1; + xev.xclient.data.l[1] = fullscreen; + XSendEvent ( // send an event mask to the X-server + x_display, + DefaultRootWindow ( x_display ), + False, + SubstructureNotifyMask, + &xev );*/ + + + /////// the egl part ////////////////////////////////////////////////////////////////// + // egl provides an interface to connect the graphics related functionality of openGL ES + // with the windowing interface and functionality of the native operation system (X11 + // in our case. + + egl_display = eglGetDisplay( (EGLNativeDisplayType) x_display ); + if ( egl_display == EGL_NO_DISPLAY ) { + cerr << "Got no EGL display." << endl; + return 1; + } + + if ( !eglInitialize( egl_display, NULL, NULL ) ) { + cerr << "Unable to initialize EGL" << endl; + return 1; + } + + EGLint attr[] = { // some attributes to set up our egl-interface + EGL_BUFFER_SIZE, 32, + EGL_RENDERABLE_TYPE, + EGL_OPENGL_ES_BIT, + EGL_NONE + }; + + EGLConfig ecfg; + EGLint num_config; + if ( !eglChooseConfig( egl_display, attr, &ecfg, 1, &num_config ) ) { + cerr << "Failed to choose config (eglError: " << eglGetError() << ")" << endl; + return 1; + } + + if ( num_config != 1 ) { + cerr << "Didn't get exactly one config, but " << num_config << endl; + return 1; + } + + egl_surface = eglCreateWindowSurface ( egl_display, ecfg, (EGLNativeWindowType)win, NULL ); + if ( egl_surface == EGL_NO_SURFACE ) { + cerr << "Unable to create EGL surface (eglError: " << eglGetError() << ")" << endl; + return 1; + } + + //// egl-contexts collect all state descriptions needed required for operation + EGLint ctxattr[] = { + EGL_CONTEXT_CLIENT_VERSION, 2, + EGL_NONE + }; + egl_context = eglCreateContext ( egl_display, ecfg, EGL_NO_CONTEXT, ctxattr ); + if ( egl_context == EGL_NO_CONTEXT ) { + cerr << "Unable to create EGL context (eglError: " << eglGetError() << ")" << endl; + return 1; + } + int i = -1; + eglQueryContext(egl_display, egl_context, EGL_CONTEXT_CLIENT_VERSION, &i); + + printf("EGL client context version : %i!\n", i); + + //// associate the egl-context with the egl-surface + eglMakeCurrent( egl_display, egl_surface, egl_surface, egl_context ); + + + /////// the openGL part /////////////////////////////////////////////////////////////// + + printf("GL version string: %s.\n", glGetString(GL_VENDOR)); + printf("GL extension string: %s.\n", glGetString(GL_EXTENSIONS)); + + printf("%x\n.", eglGetProcAddress("glMapBufferOES")); + + GLuint vertexShader = load_shader ( vertex_src , GL_VERTEX_SHADER ); // load vertex shader + GLuint fragmentShader = load_shader ( fragment_src , GL_FRAGMENT_SHADER ); // load fragment shader + + GLuint shaderProgram = glCreateProgram (); // create program object + glAttachShader ( shaderProgram, vertexShader ); // and attach both... + glAttachShader ( shaderProgram, fragmentShader ); // ... shaders to it + + glLinkProgram ( shaderProgram ); // link the program + glUseProgram ( shaderProgram ); // and select it for usage + + //// now get the locations (kind of handle) of the shaders variables + position_loc = glGetAttribLocation ( shaderProgram , "position" ); + phase_loc = glGetUniformLocation ( shaderProgram , "phase" ); + offset_loc = glGetUniformLocation ( shaderProgram , "offset" ); + if ( position_loc < 0 || phase_loc < 0 || offset_loc < 0 ) { + cerr << "Unable to get uniform location" << endl; + return 1; + } + + + const float + window_width = 800.0, + window_height = 480.0; + + //// this is needed for time measuring --> frames per second + struct timezone tz; + timeval t1, t2; + gettimeofday ( &t1 , &tz ); + int num_frames = 0; + + bool quit = false; + + alphaTorusReshape( window_width, window_height ); + int frame_count = 0; + + XWindowAttributes gwa; + XGetWindowAttributes ( x_display , win , &gwa ); + glViewport ( 0 , 0 , gwa.width , gwa.height ); + glClearColor ( 0, 0, 1.0 , 1.0); // background color + + while ( !quit ) { // the main loop + + while ( XPending ( x_display ) ) { // check for events from the x-server + + XEvent xev; + XNextEvent( x_display, &xev ); + + if ( xev.type == MotionNotify ) { // if mouse has moved +// cout << "move to: << xev.xmotion.x << "," << xev.xmotion.y << endl; + GLfloat window_y = (window_height - xev.xmotion.y) - window_height / 2.0; + norm_y = window_y / (window_height / 2.0); + GLfloat window_x = xev.xmotion.x - window_width / 2.0; + norm_x = window_x / (window_width / 2.0); + update_pos = true; + } + + if ( xev.type == KeyPress ) ; + } + + //render(); // now we finally put something on the screen + alphaTorusDisplay( true ); + eglSwapBuffers ( egl_display, egl_surface ); // get the rendered buffer to the screen + + if ( ++num_frames % 100 == 0 ) { + gettimeofday( &t2, &tz ); + float dt = t2.tv_sec - t1.tv_sec + (t2.tv_usec - t1.tv_usec) * 1e-6; + cout << "fps: " << num_frames / dt << endl; + num_frames = 0; + t1 = t2; + } + + frame_count++; + if( frame_count > 10000 ) { + break; + } +// usleep( 1000*10 ); + } + + + //// cleaning up... + eglDestroyContext ( egl_display, egl_context ); + eglDestroySurface ( egl_display, egl_surface ); + eglTerminate ( egl_display ); + XDestroyWindow ( x_display, win ); + XCloseDisplay ( x_display ); + + return 0; +} diff --git a/examples/alphatorus/glut/code/main.cpp b/examples/alphatorus/glut/code/main.cpp new file mode 100644 index 0000000..0f9845e --- /dev/null +++ b/examples/alphatorus/glut/code/main.cpp @@ -0,0 +1,187 @@ +/* + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + +- Created by Cass Everitt on 2/1/12. + +*/ + +#include + +#ifdef __APPLE__ +#include +#else +#include +#endif + +#include + +#include "render.h" + +#include +#include + +static void myDisplay() +{ + alphaTorusDisplay(true); + glutSwapBuffers(); +} + +static void myTick(int dummy) +{ + glutPostRedisplay(); + glutTimerFunc( 16, myTick, 0 ); +} + +static void myToggle(GLenum e, const char *message) +{ + if (glIsEnabled(e)) + glDisable(e); + else + glEnable(e); + + if (message) + printf("%s %s.\n",message, glIsEnabled(e) ? "enabled" : "disabled"); +} + +static void myKeyboard(unsigned char c, int x, int y) +{ + switch (c) + { + case 'q': + case 27: /* Esc key */ + exit(0); + break; + + // GL_REGAL_enable + // https://github.com/p3/regal/blob/master/doc/extensions/GL_REGAL_enable.txt + + case 'e': + case 'E': + myToggle(GL_ERROR_REGAL,"Regal error checking is"); + break; + + case 'd': + case 'D': + myToggle(GL_DEBUG_REGAL,"Regal debug checking is"); + break; + + case 'l': + case 'L': + myToggle(GL_LOG_REGAL,"Regal driver logging is"); + break; + + case 'm': + case 'M': + myToggle(GL_EMULATION_REGAL,"Regal emulation is"); + break; + + case 'r': + case 'R': + myToggle(GL_DRIVER_REGAL,"Regal driver is"); + break; + } +} + +static void myOutput(GLenum stream, GLsizei length, const GLchar *message, GLvoid *context) +{ + static int line = 0; + fprintf(stdout,"%6d | %s",++line,message); + fflush(stdout); +} + +static void myError(GLenum error) +{ + printf("alphatorus error: %s\n",glErrorStringREGAL(error)); +} + +int main(int argc, const char *argv[]) +{ + #ifndef EMSCRIPTEN + glutInitDisplayString("rgba>=8 depth double"); + glutInitWindowSize(500, 500); + #endif + glutInit( &argc, (char **) argv); + glutCreateWindow("alphatorus"); + + glLogMessageCallbackREGAL(myOutput); + + // Regal workaround for OSX GLUT + + #ifdef __APPLE__ + RegalMakeCurrent(CGLGetCurrentContext()); + #endif + + // Regal workaround for Emscripten GLUT emulation + + #ifdef EMSCRIPTEN + RegalMakeCurrent((RegalSystemContext)1); + #endif + + RegalSetErrorCallback(myError); + + // Exercise REGAL_extension_query extension + + if (glIsSupportedREGAL("GL_REGAL_extension_query")) + { + printf("GL_REGAL_extension_query is supported.\n"); + + if (glIsSupportedREGAL("GL_EXT_debug_marker")) + printf("GL_EXT_debug_marker is supported.\n"); + else + printf("GL_EXT_debug_marker is not supported.\n"); + + if (glIsSupportedREGAL("GL_EXT_framebuffer_object")) + printf("GL_EXT_framebuffer_object is supported.\n"); + else + printf("GL_EXT_framebuffer_object is not supported.\n"); + + if (glIsSupportedREGAL("GL_EXT_direct_state_access")) + printf("GL_EXT_direct_state_access is supported.\n"); + else + printf("GL_EXT_direct_state_access is not supported.\n"); + + if (glIsSupportedREGAL("GL_NV_path_rendering")) + printf("GL_NV_path_rendering is supported.\n"); + else + printf("GL_NV_path_rendering is not supported.\n"); + } + + printf("\n"); + printf("E - Toggle GL error checking.\n"); + printf("D - Toggle debug checking.\n"); + printf("L - Toggle driver logging.\n"); + printf("M - Toggle emulation.\n"); + printf("R - Toggle driver calls.\n"); + printf("\n"); + + glutTimerFunc(16, myTick, 0); + glutDisplayFunc(myDisplay); + glutReshapeFunc(alphaTorusReshape); + glutKeyboardFunc(myKeyboard); + glutMainLoop(); + return 0; +} diff --git a/examples/alphatorus/glut/minimal_glut.xcodeproj/project.pbxproj b/examples/alphatorus/glut/minimal_glut.xcodeproj/project.pbxproj new file mode 100644 index 0000000..7707e5d --- /dev/null +++ b/examples/alphatorus/glut/minimal_glut.xcodeproj/project.pbxproj @@ -0,0 +1,260 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 433CA18314D9E709007E13F5 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA18214D9E709007E13F5 /* main.cpp */; }; + 433CA18514D9F6AF007E13F5 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 433CA18414D9F6AF007E13F5 /* GLUT.framework */; }; + 433CA18914D9FAF9007E13F5 /* render.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA18814D9FAF9007E13F5 /* render.cpp */; }; + 433CA19514DA0DF3007E13F5 /* RegalFixedFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA19114DA0DF3007E13F5 /* RegalFixedFunction.cpp */; }; + 433CA19C14DA0F7A007E13F5 /* Regal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA19614DA0F7A007E13F5 /* Regal.cpp */; }; + 433CA19D14DA0F7A007E13F5 /* RegalEmuDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA19814DA0F7A007E13F5 /* RegalEmuDispatch.cpp */; }; + 433CA19E14DA0F7A007E13F5 /* RegalErrorDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA19914DA0F7A007E13F5 /* RegalErrorDispatch.cpp */; }; + 433CA19F14DA0F7A007E13F5 /* RegalLoaderDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA19A14DA0F7A007E13F5 /* RegalLoaderDispatch.cpp */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 433CA17014D9E566007E13F5 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 433CA17214D9E566007E13F5 /* minimal_glut */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = minimal_glut; sourceTree = BUILT_PRODUCTS_DIR; }; + 433CA18214D9E709007E13F5 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = code/main.cpp; sourceTree = ""; }; + 433CA18414D9F6AF007E13F5 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = System/Library/Frameworks/GLUT.framework; sourceTree = SDKROOT; }; + 433CA18814D9FAF9007E13F5 /* render.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = render.cpp; path = code/render.cpp; sourceTree = ""; }; + 433CA18E14DA0DF3007E13F5 /* linear.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = linear.h; path = ../../src/linear.h; sourceTree = ""; }; + 433CA18F14DA0DF3007E13F5 /* RegalDsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalDsa.h; path = ../../src/RegalDsa.h; sourceTree = ""; }; + 433CA19014DA0DF3007E13F5 /* RegalEmu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalEmu.h; path = ../../src/RegalEmu.h; sourceTree = ""; }; + 433CA19114DA0DF3007E13F5 /* RegalFixedFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalFixedFunction.cpp; path = ../../src/RegalFixedFunction.cpp; sourceTree = ""; }; + 433CA19214DA0DF3007E13F5 /* RegalFixedFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalFixedFunction.h; path = ../../src/RegalFixedFunction.h; sourceTree = ""; }; + 433CA19314DA0DF3007E13F5 /* RegalImmediate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalImmediate.h; path = ../../src/RegalImmediate.h; sourceTree = ""; }; + 433CA19414DA0DF3007E13F5 /* RegalVao.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalVao.h; path = ../../src/RegalVao.h; sourceTree = ""; }; + 433CA19614DA0F7A007E13F5 /* Regal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Regal.cpp; path = ../../gen/Regal.cpp; sourceTree = ""; }; + 433CA19714DA0F7A007E13F5 /* Regal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Regal.h; path = ../../gen/Regal.h; sourceTree = ""; }; + 433CA19814DA0F7A007E13F5 /* RegalEmuDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalEmuDispatch.cpp; path = ../../gen/RegalEmuDispatch.cpp; sourceTree = ""; }; + 433CA19914DA0F7A007E13F5 /* RegalErrorDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalErrorDispatch.cpp; path = ../../gen/RegalErrorDispatch.cpp; sourceTree = ""; }; + 433CA19A14DA0F7A007E13F5 /* RegalLoaderDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalLoaderDispatch.cpp; path = ../../gen/RegalLoaderDispatch.cpp; sourceTree = ""; }; + 433CA19B14DA0F7A007E13F5 /* RegalPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalPrivate.h; path = ../../gen/RegalPrivate.h; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 433CA16F14D9E566007E13F5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 433CA18514D9F6AF007E13F5 /* GLUT.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 433CA16714D9E566007E13F5 = { + isa = PBXGroup; + children = ( + 435A392514D9E6B3006D7F44 /* code */, + 433CA18414D9F6AF007E13F5 /* GLUT.framework */, + 433CA17314D9E566007E13F5 /* Products */, + ); + sourceTree = ""; + }; + 433CA17314D9E566007E13F5 /* Products */ = { + isa = PBXGroup; + children = ( + 433CA17214D9E566007E13F5 /* minimal_glut */, + ); + name = Products; + sourceTree = ""; + }; + 433CA18D14DA0DB8007E13F5 /* Regal */ = { + isa = PBXGroup; + children = ( + 433CA19614DA0F7A007E13F5 /* Regal.cpp */, + 433CA19714DA0F7A007E13F5 /* Regal.h */, + 433CA19814DA0F7A007E13F5 /* RegalEmuDispatch.cpp */, + 433CA19914DA0F7A007E13F5 /* RegalErrorDispatch.cpp */, + 433CA19A14DA0F7A007E13F5 /* RegalLoaderDispatch.cpp */, + 433CA19B14DA0F7A007E13F5 /* RegalPrivate.h */, + 433CA18E14DA0DF3007E13F5 /* linear.h */, + 433CA18F14DA0DF3007E13F5 /* RegalDsa.h */, + 433CA19014DA0DF3007E13F5 /* RegalEmu.h */, + 433CA19114DA0DF3007E13F5 /* RegalFixedFunction.cpp */, + 433CA19214DA0DF3007E13F5 /* RegalFixedFunction.h */, + 433CA19314DA0DF3007E13F5 /* RegalImmediate.h */, + 433CA19414DA0DF3007E13F5 /* RegalVao.h */, + ); + name = Regal; + sourceTree = ""; + }; + 435A392514D9E6B3006D7F44 /* code */ = { + isa = PBXGroup; + children = ( + 433CA18D14DA0DB8007E13F5 /* Regal */, + 433CA18214D9E709007E13F5 /* main.cpp */, + 433CA18814D9FAF9007E13F5 /* render.cpp */, + ); + name = code; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 433CA17114D9E566007E13F5 /* minimal_glut */ = { + isa = PBXNativeTarget; + buildConfigurationList = 433CA17C14D9E566007E13F5 /* Build configuration list for PBXNativeTarget "minimal_glut" */; + buildPhases = ( + 433CA16E14D9E566007E13F5 /* Sources */, + 433CA16F14D9E566007E13F5 /* Frameworks */, + 433CA17014D9E566007E13F5 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = minimal_glut; + productName = minimal_glut; + productReference = 433CA17214D9E566007E13F5 /* minimal_glut */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 433CA16914D9E566007E13F5 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0420; + ORGANIZATIONNAME = n/a; + }; + buildConfigurationList = 433CA16C14D9E566007E13F5 /* Build configuration list for PBXProject "minimal_glut" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 433CA16714D9E566007E13F5; + productRefGroup = 433CA17314D9E566007E13F5 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 433CA17114D9E566007E13F5 /* minimal_glut */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 433CA16E14D9E566007E13F5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 433CA18314D9E709007E13F5 /* main.cpp in Sources */, + 433CA18914D9FAF9007E13F5 /* render.cpp in Sources */, + 433CA19514DA0DF3007E13F5 /* RegalFixedFunction.cpp in Sources */, + 433CA19C14DA0F7A007E13F5 /* Regal.cpp in Sources */, + 433CA19D14DA0F7A007E13F5 /* RegalEmuDispatch.cpp in Sources */, + 433CA19E14DA0F7A007E13F5 /* RegalErrorDispatch.cpp in Sources */, + 433CA19F14DA0F7A007E13F5 /* RegalLoaderDispatch.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 433CA17A14D9E566007E13F5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 433CA17B14D9E566007E13F5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx; + }; + name = Release; + }; + 433CA17D14D9E566007E13F5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 433CA17E14D9E566007E13F5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 433CA16C14D9E566007E13F5 /* Build configuration list for PBXProject "minimal_glut" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 433CA17A14D9E566007E13F5 /* Debug */, + 433CA17B14D9E566007E13F5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 433CA17C14D9E566007E13F5 /* Build configuration list for PBXNativeTarget "minimal_glut" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 433CA17D14D9E566007E13F5 /* Debug */, + 433CA17E14D9E566007E13F5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 433CA16914D9E566007E13F5 /* Project object */; +} diff --git a/examples/alphatorus/glx/Makefile b/examples/alphatorus/glx/Makefile new file mode 100644 index 0000000..9bd99c1 --- /dev/null +++ b/examples/alphatorus/glx/Makefile @@ -0,0 +1,36 @@ + +all: alphatorus + +clean: + rm -f alphatorus + rm -rf obj + +REGAL_DIR := ../../../../regal +REGAL_SRC := $(wildcard $(REGAL_DIR)/gen/*.cpp $(REGAL_DIR)/src/*.cpp) +REGAL_INC := $(REGAL_DIR)/gen $(REGAL_DIR)/src + +SHARED_DIR := ../src +SHARED_SRC := $(wildcard $(SHARED_DIR)/*.cpp) +SHARED_INC := $(SHARED_DIR) + +LOCAL_SRC := $(wildcard *.cpp) + +MY_SRC := $(REGAL_SRC) $(LOCAL_SRC) $(SHARED_SRC) +MY_SRC_DIRS := $(sort $(dir $(MY_SRC))) + +MY_OBJ := $(MY_SRC) +MY_OBJ := $(patsubst %.cpp, obj$(CURDIR)/%.o, $(MY_OBJ)) +MY_OBJ := $(patsubst %.c, obj$(CURDIR)/%.o, $(MY_OBJ)) +MY_OBJ_DIRS := $(sort $(dir $(MY_OBJ))) + +MY_INC := $(REGAL_INC) $(SHARED_INC) +MY_CMD_INC := $(patsubst %, -I %, $(MY_INC)) + +obj$(CURDIR)/%.o: %.cpp + @mkdir -p $(dir $@) + g++ -g -c -o $@ $(MY_CMD_INC) $< + @echo $@ ---- $< + +alphatorus: $(MY_OBJ) + g++ -g -o $@ $(MY_OBJ) -lX11 -lpthread + diff --git a/examples/alphatorus/glx/main.cpp b/examples/alphatorus/glx/main.cpp new file mode 100644 index 0000000..6a62c25 --- /dev/null +++ b/examples/alphatorus/glx/main.cpp @@ -0,0 +1,131 @@ +/* + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + +*/ + +#include +#include "render.h" + +#include + +#include +#include +#include + +int main (int argc, char ** argv) +{ + Display *dpy = XOpenDisplay(0); + + PFNGLXCREATECONTEXTATTRIBSARBPROC glXCreateContextAttribsARB = NULL; + + const char *extensions = glXQueryExtensionsString(dpy, DefaultScreen(dpy)); + printf("%s\n",extensions); + + static int visual_attribs[] = + { + GLX_RENDER_TYPE, GLX_RGBA_BIT, + GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT, + GLX_DOUBLEBUFFER, true, + GLX_RED_SIZE, 1, + GLX_GREEN_SIZE, 1, + GLX_BLUE_SIZE, 1, + None + }; + + printf("Getting framebuffer config.\n"); + int fbcount; + GLXFBConfig *fbc = glXChooseFBConfig(dpy, DefaultScreen(dpy), visual_attribs, &fbcount); + if (!fbc) + { + printf("Failed to retrieve a framebuffer config.\n"); + return 1; + } + + printf("Getting XVisualInfo\n"); + XVisualInfo *vi = glXGetVisualFromFBConfig(dpy, fbc[0]); + + XSetWindowAttributes swa; + printf("Creating colormap\n"); + swa.colormap = XCreateColormap(dpy, RootWindow(dpy, vi->screen), vi->visual, AllocNone); + swa.border_pixel = 0; + swa.event_mask = StructureNotifyMask; + + printf("Creating window\n"); + int width = 500; + int height = 500; + Window win = XCreateWindow(dpy, RootWindow(dpy, vi->screen), 0, 0, width, height, 0, vi->depth, InputOutput, vi->visual, CWBorderPixel|CWColormap|CWEventMask, &swa); + if (!win) + { + printf("Failed to create window\n"); + return 1; + } + + printf("Mapping window\n"); + XMapWindow(dpy, win); + + // Create an oldstyle context first, to get the correct function pointer for glXCreateContextAttribsARB + GLXContext ctx_old = glXCreateContext(dpy, vi, 0, GL_TRUE); + glXCreateContextAttribsARB = (PFNGLXCREATECONTEXTATTRIBSARBPROC) glXGetProcAddress((const GLubyte*)"glXCreateContextAttribsARB"); + printf("glxCreateContextAttribsARB %p\n",glXCreateContextAttribsARB); + glXMakeCurrent(dpy, 0, 0); + glXDestroyContext(dpy, ctx_old); + + if (glXCreateContextAttribsARB == NULL) + { + printf("glXCreateContextAttribsARB entry point not found. Aborting.\n"); + return false; + } + + static int context_attribs[] = + { + GLX_CONTEXT_MAJOR_VERSION_ARB, 3, + GLX_CONTEXT_MINOR_VERSION_ARB, 0, + None + }; + + printf("Creating context\n"); + GLXContext ctx = glXCreateContextAttribsARB(dpy, fbc[0], NULL, true, context_attribs); + if (!ctx) + { + printf("Failed to create GL3 context.\n"); + return 1; + } + + printf("Making context current.\n"); + glXMakeCurrent(dpy, win, ctx); + + alphaTorusReshape( width, height ); + for(int i = 0; i < 1000000; i++ ) { + alphaTorusDisplay( true ); + glXSwapBuffers( dpy, win ); + usleep( 16000 ); + } + + ctx = glXGetCurrentContext(); + glXMakeCurrent(dpy, 0, 0); + glXDestroyContext(dpy, ctx); +} diff --git a/examples/alphatorus/osx/English.lproj/InfoPlist.strings b/examples/alphatorus/osx/English.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/examples/alphatorus/osx/English.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/examples/alphatorus/osx/English.lproj/MainMenu.xib b/examples/alphatorus/osx/English.lproj/MainMenu.xib new file mode 100644 index 0000000..5d31bff --- /dev/null +++ b/examples/alphatorus/osx/English.lproj/MainMenu.xib @@ -0,0 +1,3652 @@ + + + + 1060 + 11A390 + 1294 + 1110.91 + 544.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 1294 + + + YES + NSOpenGLView + NSWindowTemplate + NSView + NSMenu + NSMenuItem + NSCustomObject + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + YES + + + gles + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + gles + + YES + + + About gles + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide gles + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit gles + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + File + + YES + + + New + n + 1048576 + 2147483647 + + + + + + Open… + o + 1048576 + 2147483647 + + + + + + Open Recent + + 1048576 + 2147483647 + + + submenuAction: + + Open Recent + + YES + + + Clear Menu + + 1048576 + 2147483647 + + + + + _NSRecentDocumentsMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Save + s + 1048576 + 2147483647 + + + + + + Save As… + S + 1179648 + 2147483647 + + + + + + Revert to Saved + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Page Setup... + P + 1179648 + 2147483647 + + + + + + + Print… + p + 1048576 + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + Edit + + YES + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Paste and Match Style + V + 1572864 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + Find + + YES + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + Find Next + g + 1048576 + 2147483647 + + + 2 + + + + Find Previous + G + 1179648 + 2147483647 + + + 3 + + + + Use Selection for Find + e + 1048576 + 2147483647 + + + 7 + + + + Jump to Selection + j + 1048576 + 2147483647 + + + + + + + + + Spelling and Grammar + + 1048576 + 2147483647 + + + submenuAction: + + Spelling and Grammar + + YES + + + Show Spelling and Grammar + : + 1048576 + 2147483647 + + + + + + Check Document Now + ; + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + Correct Spelling Automatically + + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + Substitutions + + YES + + + Show Substitutions + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Smart Copy/Paste + f + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + g + 1048576 + 2147483647 + + + 2 + + + + Smart Dashes + + 2147483647 + + + + + + Smart Links + G + 1179648 + 2147483647 + + + 3 + + + + Text Replacement + + 2147483647 + + + + + + + + + Transformations + + 2147483647 + + + submenuAction: + + Transformations + + YES + + + Make Upper Case + + 2147483647 + + + + + + Make Lower Case + + 2147483647 + + + + + + Capitalize + + 2147483647 + + + + + + + + + Speech + + 1048576 + 2147483647 + + + submenuAction: + + Speech + + YES + + + Start Speaking + + 1048576 + 2147483647 + + + + + + Stop Speaking + + 1048576 + 2147483647 + + + + + + + + + + + + Format + + 2147483647 + + + submenuAction: + + Format + + YES + + + Font + + 2147483647 + + + submenuAction: + + Font + + YES + + + Show Fonts + t + 1048576 + 2147483647 + + + + + + Bold + b + 1048576 + 2147483647 + + + 2 + + + + Italic + i + 1048576 + 2147483647 + + + 1 + + + + Underline + u + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Bigger + + + 1048576 + 2147483647 + + + 3 + + + + Smaller + - + 1048576 + 2147483647 + + + 4 + + + + YES + YES + + + 2147483647 + + + + + + Kern + + 2147483647 + + + submenuAction: + + Kern + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Tighten + + 2147483647 + + + + + + Loosen + + 2147483647 + + + + + + + + + Ligature + + 2147483647 + + + submenuAction: + + Ligature + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Use All + + 2147483647 + + + + + + + + + Baseline + + 2147483647 + + + submenuAction: + + Baseline + + YES + + + Use Default + + 2147483647 + + + + + + Superscript + + 2147483647 + + + + + + Subscript + + 2147483647 + + + + + + Raise + + 2147483647 + + + + + + Lower + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Colors + C + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Copy Style + c + 1572864 + 2147483647 + + + + + + Paste Style + v + 1572864 + 2147483647 + + + + + _NSFontMenu + + + + + Text + + 2147483647 + + + submenuAction: + + Text + + YES + + + Align Left + { + 1048576 + 2147483647 + + + + + + Center + | + 1048576 + 2147483647 + + + + + + Justify + + 2147483647 + + + + + + Align Right + } + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Writing Direction + + 2147483647 + + + submenuAction: + + Writing Direction + + YES + + + YES + Paragraph + + 2147483647 + + + + + + CURlZmF1bHQ + + 2147483647 + + + + + + CUxlZnQgdG8gUmlnaHQ + + 2147483647 + + + + + + CVJpZ2h0IHRvIExlZnQ + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + YES + Selection + + 2147483647 + + + + + + CURlZmF1bHQ + + 2147483647 + + + + + + CUxlZnQgdG8gUmlnaHQ + + 2147483647 + + + + + + CVJpZ2h0IHRvIExlZnQ + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Ruler + + 2147483647 + + + + + + Copy Ruler + c + 1310720 + 2147483647 + + + + + + Paste Ruler + v + 1310720 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + YES + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 2147483647 + + + submenuAction: + + Help + + YES + + + gles Help + ? + 1048576 + 2147483647 + + + + + _NSHelpMenu + + + + _NSMainMenu + + + 15 + 2 + {{335, 339}, {960, 540}} + 1685585920 + gles + NSWindow + + + + + 256 + + YES + + + 1298 + + {960, 540} + + + + + AAAABQAAAEkAAABgAAAACAAAABgAAAALAAAACAAAAAwAAAAYAAAADQAAAAgAAAAAA + + + + + {{7, 11}, {960, 540}} + + + + {{0, 0}, {1920, 1178}} + {10000000000000, 10000000000000} + + + glesAppDelegate + + + NSFontManager + + + + + YES + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + print: + + + + 86 + + + + runPageLayout: + + + + 87 + + + + clearRecentDocuments: + + + + 127 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + performClose: + + + + 193 + + + + toggleContinuousSpellChecking: + + + + 222 + + + + undo: + + + + 223 + + + + copy: + + + + 224 + + + + checkSpelling: + + + + 225 + + + + paste: + + + + 226 + + + + stopSpeaking: + + + + 227 + + + + cut: + + + + 228 + + + + showGuessPanel: + + + + 230 + + + + redo: + + + + 231 + + + + selectAll: + + + + 232 + + + + startSpeaking: + + + + 233 + + + + delete: + + + + 235 + + + + performZoom: + + + + 240 + + + + performFindPanelAction: + + + + 241 + + + + centerSelectionInVisibleArea: + + + + 245 + + + + toggleGrammarChecking: + + + + 347 + + + + toggleSmartInsertDelete: + + + + 355 + + + + toggleAutomaticQuoteSubstitution: + + + + 356 + + + + toggleAutomaticLinkDetection: + + + + 357 + + + + saveDocument: + + + + 362 + + + + saveDocumentAs: + + + + 363 + + + + revertDocumentToSaved: + + + + 364 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + newDocument: + + + + 373 + + + + openDocument: + + + + 374 + + + + addFontTrait: + + + + 421 + + + + addFontTrait: + + + + 422 + + + + modifyFont: + + + + 423 + + + + orderFrontFontPanel: + + + + 424 + + + + modifyFont: + + + + 425 + + + + raiseBaseline: + + + + 426 + + + + lowerBaseline: + + + + 427 + + + + copyFont: + + + + 428 + + + + subscript: + + + + 429 + + + + superscript: + + + + 430 + + + + tightenKerning: + + + + 431 + + + + underline: + + + + 432 + + + + orderFrontColorPanel: + + + + 433 + + + + useAllLigatures: + + + + 434 + + + + loosenKerning: + + + + 435 + + + + pasteFont: + + + + 436 + + + + unscript: + + + + 437 + + + + useStandardKerning: + + + + 438 + + + + useStandardLigatures: + + + + 439 + + + + turnOffLigatures: + + + + 440 + + + + turnOffKerning: + + + + 441 + + + + terminate: + + + + 449 + + + + toggleAutomaticSpellingCorrection: + + + + 456 + + + + orderFrontSubstitutionsPanel: + + + + 458 + + + + toggleAutomaticDashSubstitution: + + + + 461 + + + + toggleAutomaticTextReplacement: + + + + 463 + + + + uppercaseWord: + + + + 464 + + + + capitalizeWord: + + + + 467 + + + + lowercaseWord: + + + + 468 + + + + pasteAsPlainText: + + + + 486 + + + + performFindPanelAction: + + + + 487 + + + + performFindPanelAction: + + + + 488 + + + + performFindPanelAction: + + + + 489 + + + + showHelp: + + + + 493 + + + + delegate + + + + 495 + + + + alignCenter: + + + + 518 + + + + pasteRuler: + + + + 519 + + + + toggleRuler: + + + + 520 + + + + alignRight: + + + + 521 + + + + copyRuler: + + + + 522 + + + + alignJustified: + + + + 523 + + + + alignLeft: + + + + 524 + + + + makeBaseWritingDirectionNatural: + + + + 525 + + + + makeBaseWritingDirectionLeftToRight: + + + + 526 + + + + makeBaseWritingDirectionRightToLeft: + + + + 527 + + + + makeTextWritingDirectionNatural: + + + + 528 + + + + makeTextWritingDirectionLeftToRight: + + + + 529 + + + + makeTextWritingDirectionRightToLeft: + + + + 530 + + + + window + + + + 532 + + + + + YES + + 0 + + YES + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + YES + + + + + + + + + + + + 19 + + + YES + + + + + + 56 + + + YES + + + + + + 217 + + + YES + + + + + + 83 + + + YES + + + + + + 81 + + + YES + + + + + + + + + + + + + + + + 75 + + + + + 80 + + + + + 78 + + + + + 72 + + + + + 82 + + + + + 124 + + + YES + + + + + + 77 + + + + + 73 + + + + + 79 + + + + + 112 + + + + + 74 + + + + + 125 + + + YES + + + + + + 126 + + + + + 205 + + + YES + + + + + + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 214 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 218 + + + YES + + + + + + 216 + + + YES + + + + + + 200 + + + YES + + + + + + + + + + + 219 + + + + + 201 + + + + + 204 + + + + + 220 + + + YES + + + + + + + + + + 213 + + + + + 210 + + + + + 221 + + + + + 208 + + + + + 209 + + + + + 57 + + + YES + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + + + 144 + + + + + 129 + + + + + 143 + + + + + 236 + + + + + 131 + + + YES + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + YES + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + YES + + + + + + 296 + + + YES + + + + + + + 297 + + + + + 298 + + + + + 211 + + + YES + + + + + + 212 + + + YES + + + + + + + 195 + + + + + 196 + + + + + 346 + + + + + 348 + + + YES + + + + + + 349 + + + YES + + + + + + + + + + + + 350 + + + + + 351 + + + + + 354 + + + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + 375 + + + YES + + + + + + 376 + + + YES + + + + + + + 377 + + + YES + + + + + + 388 + + + YES + + + + + + + + + + + + + + + + + + + + + 389 + + + + + 390 + + + + + 391 + + + + + 392 + + + + + 393 + + + + + 394 + + + + + 395 + + + + + 396 + + + + + 397 + + + YES + + + + + + 398 + + + YES + + + + + + 399 + + + YES + + + + + + 400 + + + + + 401 + + + + + 402 + + + + + 403 + + + + + 404 + + + + + 405 + + + YES + + + + + + + + + + 406 + + + + + 407 + + + + + 408 + + + + + 409 + + + + + 410 + + + + + 411 + + + YES + + + + + + + + 412 + + + + + 413 + + + + + 414 + + + + + 415 + + + YES + + + + + + + + + 416 + + + + + 417 + + + + + 418 + + + + + 419 + + + + + 420 + + + + + 450 + + + YES + + + + + + 451 + + + YES + + + + + + + + 452 + + + + + 453 + + + + + 454 + + + + + 457 + + + + + 459 + + + + + 460 + + + + + 462 + + + + + 465 + + + + + 466 + + + + + 485 + + + + + 490 + + + YES + + + + + + 491 + + + YES + + + + + + 492 + + + + + 494 + + + + + 496 + + + YES + + + + + + 497 + + + YES + + + + + + + + + + + + + + + 498 + + + + + 499 + + + + + 500 + + + + + 501 + + + + + 502 + + + + + 503 + + + YES + + + + + + 504 + + + + + 505 + + + + + 506 + + + + + 507 + + + + + 508 + + + YES + + + + + + + + + + + + + + 509 + + + + + 510 + + + + + 511 + + + + + 512 + + + + + 513 + + + + + 514 + + + + + 515 + + + + + 516 + + + + + 517 + + + + + 533 + + + + + + + YES + + YES + -3.IBPluginDependency + 112.IBPluginDependency + 112.ImportedFromIB2 + 124.IBPluginDependency + 124.ImportedFromIB2 + 125.IBPluginDependency + 125.ImportedFromIB2 + 125.editorWindowContentRectSynchronizationRect + 126.IBPluginDependency + 126.ImportedFromIB2 + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBPluginDependency + 130.ImportedFromIB2 + 130.editorWindowContentRectSynchronizationRect + 131.IBPluginDependency + 131.ImportedFromIB2 + 134.IBPluginDependency + 134.ImportedFromIB2 + 136.IBPluginDependency + 136.ImportedFromIB2 + 143.IBPluginDependency + 143.ImportedFromIB2 + 144.IBPluginDependency + 144.ImportedFromIB2 + 145.IBPluginDependency + 145.ImportedFromIB2 + 149.IBPluginDependency + 149.ImportedFromIB2 + 150.IBPluginDependency + 150.ImportedFromIB2 + 19.IBPluginDependency + 19.ImportedFromIB2 + 195.IBPluginDependency + 195.ImportedFromIB2 + 196.IBPluginDependency + 196.ImportedFromIB2 + 197.IBPluginDependency + 197.ImportedFromIB2 + 198.IBPluginDependency + 198.ImportedFromIB2 + 199.IBPluginDependency + 199.ImportedFromIB2 + 200.IBEditorWindowLastContentRect + 200.IBPluginDependency + 200.ImportedFromIB2 + 200.editorWindowContentRectSynchronizationRect + 201.IBPluginDependency + 201.ImportedFromIB2 + 202.IBPluginDependency + 202.ImportedFromIB2 + 203.IBPluginDependency + 203.ImportedFromIB2 + 204.IBPluginDependency + 204.ImportedFromIB2 + 205.IBEditorWindowLastContentRect + 205.IBPluginDependency + 205.ImportedFromIB2 + 205.editorWindowContentRectSynchronizationRect + 206.IBPluginDependency + 206.ImportedFromIB2 + 207.IBPluginDependency + 207.ImportedFromIB2 + 208.IBPluginDependency + 208.ImportedFromIB2 + 209.IBPluginDependency + 209.ImportedFromIB2 + 210.IBPluginDependency + 210.ImportedFromIB2 + 211.IBPluginDependency + 211.ImportedFromIB2 + 212.IBPluginDependency + 212.ImportedFromIB2 + 212.editorWindowContentRectSynchronizationRect + 213.IBPluginDependency + 213.ImportedFromIB2 + 214.IBPluginDependency + 214.ImportedFromIB2 + 215.IBPluginDependency + 215.ImportedFromIB2 + 216.IBPluginDependency + 216.ImportedFromIB2 + 217.IBPluginDependency + 217.ImportedFromIB2 + 218.IBPluginDependency + 218.ImportedFromIB2 + 219.IBPluginDependency + 219.ImportedFromIB2 + 220.IBEditorWindowLastContentRect + 220.IBPluginDependency + 220.ImportedFromIB2 + 220.editorWindowContentRectSynchronizationRect + 221.IBPluginDependency + 221.ImportedFromIB2 + 23.IBPluginDependency + 23.ImportedFromIB2 + 236.IBPluginDependency + 236.ImportedFromIB2 + 239.IBPluginDependency + 239.ImportedFromIB2 + 24.IBEditorWindowLastContentRect + 24.IBPluginDependency + 24.ImportedFromIB2 + 24.editorWindowContentRectSynchronizationRect + 29.IBEditorWindowLastContentRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 29.WindowOrigin + 29.editorWindowContentRectSynchronizationRect + 295.IBPluginDependency + 296.IBEditorWindowLastContentRect + 296.IBPluginDependency + 296.editorWindowContentRectSynchronizationRect + 297.IBPluginDependency + 298.IBPluginDependency + 346.IBPluginDependency + 346.ImportedFromIB2 + 348.IBPluginDependency + 348.ImportedFromIB2 + 349.IBEditorWindowLastContentRect + 349.IBPluginDependency + 349.ImportedFromIB2 + 349.editorWindowContentRectSynchronizationRect + 350.IBPluginDependency + 350.ImportedFromIB2 + 351.IBPluginDependency + 351.ImportedFromIB2 + 354.IBPluginDependency + 354.ImportedFromIB2 + 371.IBEditorWindowLastContentRect + 371.IBPluginDependency + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 371.editorWindowContentRectSynchronizationRect + 372.IBPluginDependency + 375.IBPluginDependency + 376.IBEditorWindowLastContentRect + 376.IBPluginDependency + 377.IBPluginDependency + 388.IBEditorWindowLastContentRect + 388.IBPluginDependency + 389.IBPluginDependency + 390.IBPluginDependency + 391.IBPluginDependency + 392.IBPluginDependency + 393.IBPluginDependency + 394.IBPluginDependency + 395.IBPluginDependency + 396.IBPluginDependency + 397.IBPluginDependency + 398.IBPluginDependency + 399.IBPluginDependency + 400.IBPluginDependency + 401.IBPluginDependency + 402.IBPluginDependency + 403.IBPluginDependency + 404.IBPluginDependency + 405.IBPluginDependency + 406.IBPluginDependency + 407.IBPluginDependency + 408.IBPluginDependency + 409.IBPluginDependency + 410.IBPluginDependency + 411.IBPluginDependency + 412.IBPluginDependency + 413.IBPluginDependency + 414.IBPluginDependency + 415.IBPluginDependency + 416.IBPluginDependency + 417.IBPluginDependency + 418.IBPluginDependency + 419.IBPluginDependency + 450.IBPluginDependency + 451.IBEditorWindowLastContentRect + 451.IBPluginDependency + 452.IBPluginDependency + 453.IBPluginDependency + 454.IBPluginDependency + 457.IBPluginDependency + 459.IBPluginDependency + 460.IBPluginDependency + 462.IBPluginDependency + 465.IBPluginDependency + 466.IBPluginDependency + 485.IBPluginDependency + 490.IBPluginDependency + 491.IBEditorWindowLastContentRect + 491.IBPluginDependency + 492.IBPluginDependency + 496.IBPluginDependency + 497.IBEditorWindowLastContentRect + 497.IBPluginDependency + 498.IBPluginDependency + 499.IBPluginDependency + 5.IBPluginDependency + 5.ImportedFromIB2 + 500.IBPluginDependency + 501.IBPluginDependency + 502.IBPluginDependency + 503.IBPluginDependency + 504.IBPluginDependency + 505.IBPluginDependency + 506.IBPluginDependency + 507.IBPluginDependency + 508.IBEditorWindowLastContentRect + 508.IBPluginDependency + 509.IBPluginDependency + 510.IBPluginDependency + 511.IBPluginDependency + 512.IBPluginDependency + 513.IBPluginDependency + 514.IBPluginDependency + 515.IBPluginDependency + 516.IBPluginDependency + 517.IBPluginDependency + 533.CustomClassName + 533.IBPluginDependency + 533.IBViewBoundsToFrameTransform + 56.IBPluginDependency + 56.ImportedFromIB2 + 57.IBEditorWindowLastContentRect + 57.IBPluginDependency + 57.ImportedFromIB2 + 57.editorWindowContentRectSynchronizationRect + 58.IBPluginDependency + 58.ImportedFromIB2 + 72.IBPluginDependency + 72.ImportedFromIB2 + 73.IBPluginDependency + 73.ImportedFromIB2 + 74.IBPluginDependency + 74.ImportedFromIB2 + 75.IBPluginDependency + 75.ImportedFromIB2 + 77.IBPluginDependency + 77.ImportedFromIB2 + 78.IBPluginDependency + 78.ImportedFromIB2 + 79.IBPluginDependency + 79.ImportedFromIB2 + 80.IBPluginDependency + 80.ImportedFromIB2 + 81.IBEditorWindowLastContentRect + 81.IBPluginDependency + 81.ImportedFromIB2 + 81.editorWindowContentRectSynchronizationRect + 82.IBPluginDependency + 82.ImportedFromIB2 + 83.IBPluginDependency + 83.ImportedFromIB2 + 92.IBPluginDependency + 92.ImportedFromIB2 + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{522, 812}, {146, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{436, 809}, {64, 6}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{753, 187}, {275, 113}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {275, 83}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{547, 180}, {254, 283}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{187, 434}, {243, 243}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {167, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{753, 217}, {238, 103}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {241, 103}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{654, 239}, {194, 73}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{525, 802}, {197, 73}} + {{372, 722}, {394, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + {74, 862} + {{6, 978}, {478, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + {{604, 269}, {231, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + {{475, 832}, {234, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{746, 287}, {220, 133}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {215, 63}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{415, 50}, {528, 411}} + com.apple.InterfaceBuilder.CocoaPlugin + {{415, 50}, {528, 411}} + + {{33, 99}, {480, 360}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{591, 420}, {83, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{523, 2}, {178, 283}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{753, 197}, {170, 63}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{725, 289}, {246, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{674, 260}, {204, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{878, 180}, {164, 173}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + GlesView + com.apple.InterfaceBuilder.CocoaPlugin + + AQAAAABCNAAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + {{286, 129}, {275, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{23, 794}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{452, 109}, {196, 203}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{145, 474}, {199, 203}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + YES + + + + + + YES + + + + + 533 + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + 3 + + YES + + YES + NSMenuCheckmark + NSMenuMixedState + + + YES + {9, 8} + {7, 2} + + + + diff --git a/examples/alphatorus/osx/RGLOpenGLContext.h b/examples/alphatorus/osx/RGLOpenGLContext.h new file mode 100644 index 0000000..40579c1 --- /dev/null +++ b/examples/alphatorus/osx/RGLOpenGLContext.h @@ -0,0 +1,39 @@ +/* + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + +- Based on code by Christopher J. W. Lloyd. + +*/ + +#import + +@interface RGLOpenGLContext : NSOpenGLContext { +} + +-(void)makeCurrentContext; + +@end diff --git a/examples/alphatorus/osx/RGLOpenGLContext.m b/examples/alphatorus/osx/RGLOpenGLContext.m new file mode 100755 index 0000000..d07d024 --- /dev/null +++ b/examples/alphatorus/osx/RGLOpenGLContext.m @@ -0,0 +1,43 @@ +/* + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + +- Based on code by Christopher J. W. Lloyd. + +*/ + +#import "RGLOpenGLContext.h" + +void RegalMakeCurrent( CGLContextObj ctxobj ); + +@implementation RGLOpenGLContext + +-(void)makeCurrentContext { + [super makeCurrentContext]; + RegalMakeCurrent( CGLGetCurrentContext() ); +} + +@end diff --git a/examples/alphatorus/osx/RegalView.h b/examples/alphatorus/osx/RegalView.h new file mode 100644 index 0000000..c7141ca --- /dev/null +++ b/examples/alphatorus/osx/RegalView.h @@ -0,0 +1,38 @@ +/* + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + +- Created by Cass Everitt on 3/15/11. + +*/ + +#import + +@interface GlesView : NSOpenGLView { + +} +- (void)render; +@end diff --git a/examples/alphatorus/osx/RegalView.mm b/examples/alphatorus/osx/RegalView.mm new file mode 100644 index 0000000..9153535 --- /dev/null +++ b/examples/alphatorus/osx/RegalView.mm @@ -0,0 +1,109 @@ +/* + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + +- Created by Cass Everitt on 3/15/11. + +*/ + +#import "RegalView.h" +#import "RGLOpenGLContext.h" +#include "render.h" +#include + +@implementation GlesView + +bool resized = false; + +NSTimer *timer = nil; + +- (id)initWithCoder:(NSCoder *)aDecoder { + + [super initWithCoder: aDecoder]; + NSOpenGLPixelFormatAttribute attr[] = { +#if 1 + NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersionLegacy, +#else + NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersion3_2Core, +#endif + NSOpenGLPFADoubleBuffer, + NSOpenGLPFAAccelerated, + NSOpenGLPFAAlphaSize, 8, + NSOpenGLPFAColorSize, 32, + NSOpenGLPFADepthSize, 24, + NSOpenGLPFAStencilSize, 0, + 0 + }; + NSOpenGLPixelFormat *fmt = [[NSOpenGLPixelFormat alloc] initWithAttributes:attr]; + [self setPixelFormat: fmt]; + RGLOpenGLContext *rglCtx = [[RGLOpenGLContext alloc] initWithFormat:fmt shareContext:nil]; + [self setOpenGLContext: rglCtx]; + [rglCtx setView:self]; + timer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector (render) userInfo:nil repeats:YES]; + resized = false; + return self; +} + + +- (void)drawRect:(NSRect)dirtyRect { + if( resized == false ) { + [self windowResized:NULL]; + resized = true; + } + alphaTorusDisplay( true ); + CGLFlushDrawable( CGLGetCurrentContext() ); + //[[self openGLContext] flushBuffer]; +} + +- (void) render { + [self setNeedsDisplay:YES]; +} + +- (void)viewDidMoveToWindow +{ + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(windowResized:) name:NSWindowDidResizeNotification + object:[self window]]; +} + +- (void)dealloc +{ + [[NSNotificationCenter defaultCenter] removeObserver:self]; + [super dealloc]; +} + +- (void)windowResized:(NSNotification *)notification; +{ + NSRect rect = [[[self window] contentView] frame]; + NSRect crect = NSRectFromCGRect( CGRectMake( 0, 0, rect.size.width, rect.size.height ) ); + [self setFrame: crect]; + [self lockFocus]; + alphaTorusReshape( rect.size.width, rect.size.height ); + resized = true; + [self unlockFocus]; +} + +@end diff --git a/examples/alphatorus/osx/alphatorus-Info.plist b/examples/alphatorus/osx/alphatorus-Info.plist new file mode 100644 index 0000000..4674c2e --- /dev/null +++ b/examples/alphatorus/osx/alphatorus-Info.plist @@ -0,0 +1,34 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + nv.icns + CFBundleIdentifier + com.nvidia.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSApplicationCategoryType + public.app-category.utilities + LSMinimumSystemVersion + ${MACOSX_DEPLOYMENT_TARGET} + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/examples/alphatorus/osx/alphatorus.xcodeproj/project.pbxproj b/examples/alphatorus/osx/alphatorus.xcodeproj/project.pbxproj new file mode 100644 index 0000000..10b76e7 --- /dev/null +++ b/examples/alphatorus/osx/alphatorus.xcodeproj/project.pbxproj @@ -0,0 +1,574 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; }; + 256AC3DA0F4B6AC300CF3369 /* alphatorusAppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* alphatorusAppDelegate.mm */; }; + 43085426148B0F3400AE231A /* RGLOpenGLContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 43085425148B0F3400AE231A /* RGLOpenGLContext.m */; }; + 431D3C0815C9B648009DD04F /* libRegal.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 431D3C0715C9B636009DD04F /* libRegal.a */; }; + 4344FC911332A8BA006F07E8 /* nv.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4344FC901332A8BA006F07E8 /* nv.icns */; }; + 43787F5014E8512400636639 /* render.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43787F4E14E8512400636639 /* render.cpp */; }; + 43E244C6133066AF0040E20D /* RegalView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 43E244C5133066AF0040E20D /* RegalView.mm */; }; + 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; + 8D11072D0486CEB800E47090 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.mm */; settings = {ATTRIBUTES = (); }; }; + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; + BC3A59B31804680000992687 /* libapitrace.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BC9F8ABB1804648500C68C71 /* libapitrace.a */; }; + BC3A59BA1804680400992687 /* libjsonsl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BC9F8AC2180464A200C68C71 /* libjsonsl.a */; }; + BC3A59BB1804680800992687 /* libmd5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BC9F8AC8180464B200C68C71 /* libmd5.a */; }; + BC3A59BC1804680B00992687 /* libmongoose.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BC9F8ACE180464C500C68C71 /* libmongoose.a */; }; + BC3A59BD1804680E00992687 /* libsnappy.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BC9F8AD4180464D700C68C71 /* libsnappy.a */; }; + BC3A59BE1804681100992687 /* libsquish.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BC9F8ADA180464F400C68C71 /* libsquish.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 431D3C0615C9B636009DD04F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 431D3BFF15C9B635009DD04F /* Regal.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 43A6C1C615C48CD90063667E; + remoteInfo = Regal; + }; + 439EB69A183D2AF800842DA0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 431D3BFF15C9B635009DD04F /* Regal.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 4359158318367621002CB92C; + remoteInfo = RegalDynamic; + }; + 439EB69C183D2AF800842DA0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 431D3BFF15C9B635009DD04F /* Regal.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 435916DA18367DEE002CB92C; + remoteInfo = RegalWrangler; + }; + 439EB69E183D2AF800842DA0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 431D3BFF15C9B635009DD04F /* Regal.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 4359176F18367E05002CB92C; + remoteInfo = RegalWranglerDynamic; + }; + BC9F8ABA1804648500C68C71 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BC9F8AB61804648400C68C71 /* apitrace.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 433667A917C56F3500D45AD9; + remoteInfo = apitrace; + }; + BC9F8AC1180464A200C68C71 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BC9F8ABD180464A200C68C71 /* jsonsl.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 4336679417C56EF900D45AD9; + remoteInfo = jsonsl; + }; + BC9F8AC7180464B200C68C71 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BC9F8AC3180464B100C68C71 /* md5.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 4336678117C56DFD00D45AD9; + remoteInfo = md5; + }; + BC9F8ACD180464C500C68C71 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BC9F8AC9180464C500C68C71 /* mongoose.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 4336676E17C56DC700D45AD9; + remoteInfo = mongoose; + }; + BC9F8AD3180464D700C68C71 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BC9F8ACF180464D700C68C71 /* snappy.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 4336665817C56AA300D45AD9; + remoteInfo = snappy; + }; + BC9F8AD9180464F400C68C71 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BC9F8AD5180464F400C68C71 /* squish.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 4336667917C56B5200D45AD9; + remoteInfo = squish; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; + 1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; }; + 256AC3D80F4B6AC300CF3369 /* alphatorusAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = alphatorusAppDelegate.h; sourceTree = ""; }; + 256AC3D90F4B6AC300CF3369 /* alphatorusAppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = alphatorusAppDelegate.mm; sourceTree = ""; }; + 256AC3F00F4B6AF500CF3369 /* alphatorus_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = alphatorus_Prefix.pch; sourceTree = ""; }; + 29B97316FDCFA39411CA2CEA /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = ""; }; + 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; + 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 43085424148B0F3400AE231A /* RGLOpenGLContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RGLOpenGLContext.h; sourceTree = ""; }; + 43085425148B0F3400AE231A /* RGLOpenGLContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RGLOpenGLContext.m; sourceTree = ""; }; + 431D3BFF15C9B635009DD04F /* Regal.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Regal.xcodeproj; path = ../../../build/mac/Regal/Regal.xcodeproj; sourceTree = ""; }; + 4344FC901332A8BA006F07E8 /* nv.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = nv.icns; sourceTree = ""; }; + 43787F4E14E8512400636639 /* render.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = render.cpp; path = ../src/render.cpp; sourceTree = ""; }; + 43787F4F14E8512400636639 /* render.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = render.h; path = ../src/render.h; sourceTree = ""; }; + 43E244C4133066AF0040E20D /* RegalView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegalView.h; sourceTree = ""; }; + 43E244C5133066AF0040E20D /* RegalView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RegalView.mm; sourceTree = ""; }; + 8D1107310486CEB800E47090 /* alphatorus-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "alphatorus-Info.plist"; sourceTree = ""; }; + 8D1107320486CEB800E47090 /* alphatorus.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = alphatorus.app; sourceTree = BUILT_PRODUCTS_DIR; }; + BC9F8AB61804648400C68C71 /* apitrace.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = apitrace.xcodeproj; path = ../../../build/mac/apitrace/apitrace.xcodeproj; sourceTree = ""; }; + BC9F8ABD180464A200C68C71 /* jsonsl.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = jsonsl.xcodeproj; path = ../../../build/mac/jsonsl/jsonsl.xcodeproj; sourceTree = ""; }; + BC9F8AC3180464B100C68C71 /* md5.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = md5.xcodeproj; path = ../../../build/mac/md5/md5.xcodeproj; sourceTree = ""; }; + BC9F8AC9180464C500C68C71 /* mongoose.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = mongoose.xcodeproj; path = ../../../build/mac/mongoose/mongoose.xcodeproj; sourceTree = ""; }; + BC9F8ACF180464D700C68C71 /* snappy.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = snappy.xcodeproj; path = ../../../build/mac/snappy/snappy.xcodeproj; sourceTree = ""; }; + BC9F8AD5180464F400C68C71 /* squish.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = squish.xcodeproj; path = ../../../build/mac/squish/squish.xcodeproj; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D11072E0486CEB800E47090 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + BC3A59BE1804681100992687 /* libsquish.a in Frameworks */, + BC3A59BD1804680E00992687 /* libsnappy.a in Frameworks */, + BC3A59BC1804680B00992687 /* libmongoose.a in Frameworks */, + BC3A59BB1804680800992687 /* libmd5.a in Frameworks */, + BC3A59BA1804680400992687 /* libjsonsl.a in Frameworks */, + BC3A59B31804680000992687 /* libapitrace.a in Frameworks */, + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, + 431D3C0815C9B648009DD04F /* libRegal.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, + ); + name = "Linked Frameworks"; + sourceTree = ""; + }; + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 29B97324FDCFA39411CA2CEA /* AppKit.framework */, + 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */, + 29B97325FDCFA39411CA2CEA /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D1107320486CEB800E47090 /* alphatorus.app */, + ); + name = Products; + sourceTree = ""; + }; + 29B97314FDCFA39411CA2CEA /* alphatorus */ = { + isa = PBXGroup; + children = ( + 431D3BFF15C9B635009DD04F /* Regal.xcodeproj */, + BC9F8AD5180464F400C68C71 /* squish.xcodeproj */, + BC9F8ACF180464D700C68C71 /* snappy.xcodeproj */, + BC9F8AC9180464C500C68C71 /* mongoose.xcodeproj */, + BC9F8AC3180464B100C68C71 /* md5.xcodeproj */, + BC9F8ABD180464A200C68C71 /* jsonsl.xcodeproj */, + BC9F8AB61804648400C68C71 /* apitrace.xcodeproj */, + 29B97315FDCFA39411CA2CEA /* code */, + 29B97317FDCFA39411CA2CEA /* Resources */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + ); + name = alphatorus; + sourceTree = ""; + }; + 29B97315FDCFA39411CA2CEA /* code */ = { + isa = PBXGroup; + children = ( + 43787F4E14E8512400636639 /* render.cpp */, + 43787F4F14E8512400636639 /* render.h */, + 43085424148B0F3400AE231A /* RGLOpenGLContext.h */, + 43085425148B0F3400AE231A /* RGLOpenGLContext.m */, + 256AC3D80F4B6AC300CF3369 /* alphatorusAppDelegate.h */, + 256AC3D90F4B6AC300CF3369 /* alphatorusAppDelegate.mm */, + 43E244C4133066AF0040E20D /* RegalView.h */, + 43E244C5133066AF0040E20D /* RegalView.mm */, + 256AC3F00F4B6AF500CF3369 /* alphatorus_Prefix.pch */, + 29B97316FDCFA39411CA2CEA /* main.mm */, + ); + name = code; + sourceTree = ""; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + 4344FC901332A8BA006F07E8 /* nv.icns */, + 8D1107310486CEB800E47090 /* alphatorus-Info.plist */, + 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, + 1DDD58140DA1D0A300B32029 /* MainMenu.xib */, + ); + name = Resources; + sourceTree = ""; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + 431D3C0015C9B635009DD04F /* Products */ = { + isa = PBXGroup; + children = ( + 431D3C0715C9B636009DD04F /* libRegal.a */, + 439EB69B183D2AF800842DA0 /* libRegal.dylib */, + 439EB69D183D2AF800842DA0 /* libRegalW.a */, + 439EB69F183D2AF800842DA0 /* libRegalW.dylib */, + ); + name = Products; + sourceTree = ""; + }; + BC9F8AB71804648400C68C71 /* Products */ = { + isa = PBXGroup; + children = ( + BC9F8ABB1804648500C68C71 /* libapitrace.a */, + ); + name = Products; + sourceTree = ""; + }; + BC9F8ABE180464A200C68C71 /* Products */ = { + isa = PBXGroup; + children = ( + BC9F8AC2180464A200C68C71 /* libjsonsl.a */, + ); + name = Products; + sourceTree = ""; + }; + BC9F8AC4180464B100C68C71 /* Products */ = { + isa = PBXGroup; + children = ( + BC9F8AC8180464B200C68C71 /* libmd5.a */, + ); + name = Products; + sourceTree = ""; + }; + BC9F8ACA180464C500C68C71 /* Products */ = { + isa = PBXGroup; + children = ( + BC9F8ACE180464C500C68C71 /* libmongoose.a */, + ); + name = Products; + sourceTree = ""; + }; + BC9F8AD0180464D700C68C71 /* Products */ = { + isa = PBXGroup; + children = ( + BC9F8AD4180464D700C68C71 /* libsnappy.a */, + ); + name = Products; + sourceTree = ""; + }; + BC9F8AD6180464F400C68C71 /* Products */ = { + isa = PBXGroup; + children = ( + BC9F8ADA180464F400C68C71 /* libsquish.a */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D1107260486CEB800E47090 /* alphatorus */ = { + isa = PBXNativeTarget; + buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "alphatorus" */; + buildPhases = ( + 8D1107290486CEB800E47090 /* Resources */, + 8D11072C0486CEB800E47090 /* Sources */, + 8D11072E0486CEB800E47090 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = alphatorus; + productInstallPath = "$(HOME)/Applications"; + productName = alphatorus; + productReference = 8D1107320486CEB800E47090 /* alphatorus.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0440; + }; + buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "alphatorus" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 29B97314FDCFA39411CA2CEA /* alphatorus */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = BC9F8AB71804648400C68C71 /* Products */; + ProjectRef = BC9F8AB61804648400C68C71 /* apitrace.xcodeproj */; + }, + { + ProductGroup = BC9F8ABE180464A200C68C71 /* Products */; + ProjectRef = BC9F8ABD180464A200C68C71 /* jsonsl.xcodeproj */; + }, + { + ProductGroup = BC9F8AC4180464B100C68C71 /* Products */; + ProjectRef = BC9F8AC3180464B100C68C71 /* md5.xcodeproj */; + }, + { + ProductGroup = BC9F8ACA180464C500C68C71 /* Products */; + ProjectRef = BC9F8AC9180464C500C68C71 /* mongoose.xcodeproj */; + }, + { + ProductGroup = 431D3C0015C9B635009DD04F /* Products */; + ProjectRef = 431D3BFF15C9B635009DD04F /* Regal.xcodeproj */; + }, + { + ProductGroup = BC9F8AD0180464D700C68C71 /* Products */; + ProjectRef = BC9F8ACF180464D700C68C71 /* snappy.xcodeproj */; + }, + { + ProductGroup = BC9F8AD6180464F400C68C71 /* Products */; + ProjectRef = BC9F8AD5180464F400C68C71 /* squish.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 8D1107260486CEB800E47090 /* alphatorus */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 431D3C0715C9B636009DD04F /* libRegal.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRegal.a; + remoteRef = 431D3C0615C9B636009DD04F /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 439EB69B183D2AF800842DA0 /* libRegal.dylib */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.dylib"; + path = libRegal.dylib; + remoteRef = 439EB69A183D2AF800842DA0 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 439EB69D183D2AF800842DA0 /* libRegalW.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRegalW.a; + remoteRef = 439EB69C183D2AF800842DA0 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 439EB69F183D2AF800842DA0 /* libRegalW.dylib */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.dylib"; + path = libRegalW.dylib; + remoteRef = 439EB69E183D2AF800842DA0 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + BC9F8ABB1804648500C68C71 /* libapitrace.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libapitrace.a; + remoteRef = BC9F8ABA1804648500C68C71 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + BC9F8AC2180464A200C68C71 /* libjsonsl.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libjsonsl.a; + remoteRef = BC9F8AC1180464A200C68C71 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + BC9F8AC8180464B200C68C71 /* libmd5.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libmd5.a; + remoteRef = BC9F8AC7180464B200C68C71 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + BC9F8ACE180464C500C68C71 /* libmongoose.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libmongoose.a; + remoteRef = BC9F8ACD180464C500C68C71 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + BC9F8AD4180464D700C68C71 /* libsnappy.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libsnappy.a; + remoteRef = BC9F8AD3180464D700C68C71 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + BC9F8ADA180464F400C68C71 /* libsquish.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libsquish.a; + remoteRef = BC9F8AD9180464F400C68C71 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D1107290486CEB800E47090 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, + 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */, + 4344FC911332A8BA006F07E8 /* nv.icns in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D11072C0486CEB800E47090 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072D0486CEB800E47090 /* main.mm in Sources */, + 256AC3DA0F4B6AC300CF3369 /* alphatorusAppDelegate.mm in Sources */, + 43E244C6133066AF0040E20D /* RegalView.mm in Sources */, + 43085426148B0F3400AE231A /* RGLOpenGLContext.m in Sources */, + 43787F5014E8512400636639 /* render.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C165DFE840E0CC02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 1DDD58150DA1D0A300B32029 /* English */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + C01FCF4B08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = alphatorus_Prefix.pch; + INFOPLIST_FILE = "alphatorus-Info.plist"; + INSTALL_PATH = "$(HOME)/Applications"; + MACOSX_DEPLOYMENT_TARGET = 10.6; + PRODUCT_NAME = alphatorus; + SDKROOT = macosx; + }; + name = Debug; + }; + C01FCF4C08A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COMBINE_HIDPI_IMAGES = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = alphatorus_Prefix.pch; + INFOPLIST_FILE = "alphatorus-Info.plist"; + INSTALL_PATH = "$(HOME)/Applications"; + MACOSX_DEPLOYMENT_TARGET = 10.6; + PRODUCT_NAME = alphatorus; + SDKROOT = macosx; + }; + name = Release; + }; + C01FCF4F08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ../../../include; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + C01FCF5008A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ../../../include; + SDKROOT = macosx; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "alphatorus" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4B08A954540054247B /* Debug */, + C01FCF4C08A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "alphatorus" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4F08A954540054247B /* Debug */, + C01FCF5008A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/examples/alphatorus/osx/alphatorusAppDelegate.h b/examples/alphatorus/osx/alphatorusAppDelegate.h new file mode 100644 index 0000000..222f0e7 --- /dev/null +++ b/examples/alphatorus/osx/alphatorusAppDelegate.h @@ -0,0 +1,40 @@ +/* + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + +- Created by Cass Everitt on 3/15/11. + +*/ + +#import + +@interface glesAppDelegate : NSObject { + NSWindow *window; +} + +@property (assign) IBOutlet NSWindow *window; + +@end diff --git a/examples/alphatorus/osx/alphatorusAppDelegate.mm b/examples/alphatorus/osx/alphatorusAppDelegate.mm new file mode 100644 index 0000000..1e17da3 --- /dev/null +++ b/examples/alphatorus/osx/alphatorusAppDelegate.mm @@ -0,0 +1,42 @@ +/* + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + +- Created by Cass Everitt on 3/15/11. + +*/ + +#import "alphatorusAppDelegate.h" + +@implementation glesAppDelegate + +@synthesize window; + +- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { + // Insert code here to initialize your application +} + +@end diff --git a/examples/alphatorus/osx/alphatorus_Prefix.pch b/examples/alphatorus/osx/alphatorus_Prefix.pch new file mode 100644 index 0000000..b435fd3 --- /dev/null +++ b/examples/alphatorus/osx/alphatorus_Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'gles' target in the 'gles' project +// + +#ifdef __OBJC__ + #import +#endif diff --git a/examples/alphatorus/osx/main.mm b/examples/alphatorus/osx/main.mm new file mode 100644 index 0000000..b83bbca --- /dev/null +++ b/examples/alphatorus/osx/main.mm @@ -0,0 +1,37 @@ +/* + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + +- Created by Cass Everitt on 3/15/11. + +*/ + +#import + +int main(int argc, char *argv[]) +{ + return NSApplicationMain(argc, (const char **) argv); +} diff --git a/examples/alphatorus/osx/nv.icns b/examples/alphatorus/osx/nv.icns new file mode 100644 index 0000000..afeb62a Binary files /dev/null and b/examples/alphatorus/osx/nv.icns differ diff --git a/examples/alphatorus/src/render.cpp b/examples/alphatorus/src/render.cpp new file mode 100644 index 0000000..1a84a22 --- /dev/null +++ b/examples/alphatorus/src/render.cpp @@ -0,0 +1,352 @@ +/* + + This is free and unencumbered software released into the public domain. + + Anyone is free to copy, modify, publish, use, compile, sell, or + distribute this software, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any + means. + + In jurisdictions that recognize copyright laws, the author or authors + of this software dedicate any and all copyright interest in the + software to the public domain. We make this dedication for the benefit + of the public at large and to the detriment of our heirs and + successors. We intend this dedication to be an overt act of + relinquishment in perpetuity of all present and future rights to this + software under copyright law. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + For more information, please refer to + + - Created by Cass Everitt on 3/16/11. + + */ + +#include + +#include "render.h" + +#include +#include + +#ifndef M_PI +#define M_PI 3.141572654 +#endif + +static GLenum texunit = GL_TEXTURE1; +GLuint prog; + + +struct Torus { + float circleRadius; + float tubeRadius; + Torus( float c, float t ) : circleRadius( c ), tubeRadius( t ) {} + void Vertex( float u, float v ) + { + float theta = (float) (u * 2.0 * M_PI); + float rho = (float) (v * 2.0 * M_PI); + float x = (float) (cos( theta ) * ( circleRadius + cos( rho ) * tubeRadius )); + float y = (float) (sin( theta ) * ( circleRadius + cos( rho ) * tubeRadius )); + float z = (float) (sin( rho ) * tubeRadius); + float nx = (float) (cos( rho ) * cos(theta)); + float ny = (float) (cos( rho ) * sin(theta)); + float nz = (float) (sin( rho )); + + glNormal3f( nx, ny, nz ); + glMultiTexCoord2f( texunit, u, v ); + glVertex3f( x, y, z ); + } +}; + +static void drawAnObject() +{ + glPushGroupMarkerEXT(0, "drawAnObject"); + + Torus t( 0.7f, 0.4f ); + int I = 30; + int J = 30; + glColor3f( 0.8f, 0.8f, 0.8f ); + for(int j = 0; j < J / 2 - 1; j++) + { + float v0 = (j+0.0f)/(J-1.0f); + float v1 = (j+1.0f)/(J-1.0f); + glBegin( GL_TRIANGLE_STRIP ); + for(int i = 0; i < I; i++) + { + float u = i/(I-1.0f); + t.Vertex( u, v1 ); + t.Vertex( u, v0 ); + } + glEnd(); + } + + glPopGroupMarkerEXT(); +} + +static int width; +static int height; + +void alphaTorusReshape( int w, int h ) { + width = w; + height = h; + + float a = float(w)/float(h); + + glPushGroupMarkerEXT(0, "reshape"); + + glViewport(0, 0, width, height); + glMatrixMode( GL_PROJECTION ); + glLoadIdentity(); + if( a > 1 ) { + glFrustum( -0.1 * a, 0.1 * a, -0.1, 0.1, 0.1, 100.0 ); + } else { + glFrustum( -0.1, 0.1, -0.1 / a, 0.1 / a, 0.1, 100.0 ); + } + glMatrixMode( GL_MODELVIEW ); + glLoadIdentity(); + glTranslatef( 0, 0, -2 ); + + glPopGroupMarkerEXT(); +} + + +static void regalerr( GLenum err ) { + const char * errstr = NULL; + switch( err ) { + case GL_INVALID_ENUM: errstr = "INVALID ENUM"; break; + case GL_INVALID_OPERATION: errstr = "INVALID OPERATION"; break; + case GL_INVALID_VALUE: errstr = "INVALID VALUE"; break; + default: + fprintf( stderr, "Got a GL error: %d!\n", err ); + break; + } + if( errstr ) { + fprintf( stderr, "Got a GL error: %s\n", errstr ); + } + ; +} + +static GLuint tex; + +void alphaTorusInitProgram() { + + GLuint vs = glCreateShader( GL_VERTEX_SHADER ); + { + char vshader[] = + "varying vec4 ocol;\n" + "varying vec2 tc;\n" + "\n" + "void main() {\n" + " gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n" + " ocol = gl_Normal.xyzz;\n" + " tc = gl_MultiTexCoord1.xy;\n" + "}\n"; + char *vshader_list[] = { vshader, NULL }; + int vshader_list_sizes[] = { sizeof( vshader ), 0 }; + glShaderSource( vs, 1, vshader_list, vshader_list_sizes ); + glCompileShader( vs ); + char dbgLog[1<<15]; + int dbgLogLen = 0; + glGetShaderInfoLog( vs, (1<<15) - 2, &dbgLogLen, dbgLog ); + dbgLog[ dbgLogLen ] = 0; + printf( "%s\n", dbgLog ); + } + + GLuint fs = glCreateShader( GL_FRAGMENT_SHADER ); + { + char fshader[] = + "uniform sampler2D tex;\n" + "varying vec4 ocol;\n" + "varying vec2 tc;\n" + "\n" + "void main() {\n" + " gl_FragColor.xyz = texture2D(tex, tc).xyz;\n" + " gl_FragColor.w = tc.x;\n" + "}\n"; + char *fshader_list[] = { fshader, NULL }; + int fshader_list_sizes[] = { sizeof( fshader ), 0 }; + glShaderSource( fs, 1, fshader_list, fshader_list_sizes ); + glCompileShader( fs ); + char dbgLog[1<<15]; + int dbgLogLen = 0; + glGetShaderInfoLog( fs, (1<<15) - 2, &dbgLogLen, dbgLog ); + dbgLog[ dbgLogLen ] = 0; + printf( "%s\n", dbgLog ); + } + + prog = glCreateProgram(); + glAttachShader( prog, vs ); + glAttachShader( prog, fs ); + + glLinkProgram( prog ); + { + char dbgLog[1<<15]; + int dbgLogLen = 0; + glGetProgramInfoLog( prog, (1<<15) - 2, &dbgLogLen, dbgLog ); + dbgLog[ dbgLogLen ] = 0; + printf( "%s\n", dbgLog ); + } + + glProgramUniform1iEXT( prog, glGetUniformLocation( prog, "tex" ), 1 ); + glUseProgram( 0 ); + +} + +void alphaTorusInit() +{ + glPushGroupMarkerEXT(0, "init"); + + glGenTextures( 1, &tex ); + GLubyte pix[] = { + 0x60, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xcf, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x80, 0x00, 0x0f, + 0x80, 0x80, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x80, 0x80, 0xff, 0x00, 0x80, 0x80, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x80, 0x00, 0xff, 0x80, 0x00, 0xff, 0xaf, 0x00, 0x00, 0x80, 0xff + }; + glTextureImage2DEXT( tex, GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, pix ); + glTextureParameteriEXT( tex, GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST ); + glTextureParameteriEXT( tex, GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); + glBindMultiTextureEXT( texunit, GL_TEXTURE_2D, tex ); + + GLfloat mat_specular[] = { 0.0f, 0.0f, 1.0f, 1.0f }; + GLfloat mat_shininess[] = { 50.0f }; + GLfloat light_position[] = { 1.0f, 1.0f, 0.2f, 1.0f }; + GLfloat light_atten[] = { 1.0f, 1.0f, 1.0f }; + GLfloat light_diffuse[] = { 10.0f, 10.0f, 10.0f, 10.0f }; + GLfloat light_specular[] = { 10.0f, 10.0f, 10.0f, 10.0f }; + GLfloat light_spotdir[] = { -0.1f, -0.1f, -1.0f }; + GLfloat light_spotcut[] = { 30.0f }; + GLfloat light_spotexp[] = { 3.0f }; + glClearColor (0.0, 0.0, 0.0, 0.0); + //glShadeModel (GL_SMOOTH); + + glMatrixPushEXT( GL_MODELVIEW ); + glMatrixLoadIdentityEXT( GL_MODELVIEW ); + + glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular); + glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, mat_shininess); + //glMaterialfv(GL_BACK, GL_SHININESS, mat_shininess); + glLightfv(GL_LIGHT0, GL_POSITION, light_position); + glLightf( GL_LIGHT0, GL_LINEAR_ATTENUATION, light_atten[1] ); + glLightf( GL_LIGHT0, GL_QUADRATIC_ATTENUATION, light_atten[2] ); + glLightfv( GL_LIGHT0, GL_DIFFUSE, light_diffuse ); + glLightfv( GL_LIGHT0, GL_SPECULAR, light_specular ); + glLightfv( GL_LIGHT0, GL_SPOT_DIRECTION, light_spotdir ); + glLightfv( GL_LIGHT0, GL_SPOT_CUTOFF, light_spotcut ); + glLightfv( GL_LIGHT0, GL_SPOT_EXPONENT, light_spotexp ); + //GLfloat light_ambient[] = { 0.0, -1.0, 0.0, 0.0 }; + //glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient); + + glMatrixPopEXT( GL_MODELVIEW ); + + glLightModeli( GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE ); + glLightModelf( GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR ); + + glEnable( GL_COLOR_MATERIAL ) ; + glColorMaterial( GL_BACK, GL_SPECULAR ); + + glLightModeli( GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE ); + + glEnable(GL_LIGHTING); + glEnable(GL_LIGHT0); + + glFogi( GL_FOG_MODE, GL_LINEAR ); + glFogf( GL_FOG_START, 2.0f ); + glFogf( GL_FOG_END, 4.0f ); + GLfloat fog_color[] = { 1.0, 1.0, 0.0, 0.0 }; + glFogfv( GL_FOG_COLOR, fog_color ); + + glEnable( GL_CLIP_PLANE3 ); + GLdouble clip[] = { 1, 1, -1, 0 }; + glClipPlane( GL_CLIP_PLANE3, clip ); + + alphaTorusInitProgram(); + + glPopGroupMarkerEXT(); +} + +void alphaTorusDisplay( bool clear ) +{ + static float alphaRef = 0.0f; + static int count = 0; + + if( count == 0 ) { + alphaTorusInit(); + } + + glPushGroupMarkerEXT(0, "display"); + +#if 1 + if( count == 0 ) { + RegalSetErrorCallback( regalerr ); + } else if( count == 11 ) { + RegalSetErrorCallback( NULL ); + } + count++; +#endif + + + GLenum funcs[] = { GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_NOTEQUAL, GL_EQUAL, GL_ALWAYS, GL_NEVER }; + int idx = int(alphaRef) % ( sizeof( funcs ) / sizeof( funcs[0] ) ); + float ref = alphaRef - floor(alphaRef); + glAlphaFunc( funcs[idx], ref ); + alphaRef += 1.0f/128.0f; + if( count & 0xf ) { + glEnable( GL_ALPHA_TEST ); + } + + if( clear ) { + GLfloat cc[][4] = { + { 1, 0, 0, 0 }, + { .5, 0, 0, 0 }, + { 0, 1, 0, 0 }, + { 0, .5, 0, 0 }, + { 0, 0, 1, 0 }, + { 0, 0, .5, 0 }, + { 1, 1, 1, 0 }, + { .5, .5, .5, 0 } + }; + glClearDepth( 1.0 ); + glClearColor( cc[idx][0], cc[idx][1], cc[idx][2], cc[idx][3] ); + glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); + } + glEnable( GL_DEPTH_TEST ); + + for( int i = 0; i < 4; i++ ) { + glActiveTexture( GL_TEXTURE0 + i ); + glDisable( GL_TEXTURE_2D ); + } + + glBindMultiTextureEXT( texunit, GL_TEXTURE_2D, tex ); + glActiveTexture( texunit ); + glEnable( GL_TEXTURE_2D ); + + glMatrixLoadIdentityEXT( texunit ); + + + glEnable( GL_FOG ); + + glUseProgram( prog ); + + glEnable( GL_NORMALIZE ); + glDisable( GL_RESCALE_NORMAL ); + glMultiTexEnviEXT( texunit, GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE ); + drawAnObject(); + + glDisable( GL_ALPHA_TEST ); + + glUseProgram( 0 ); + + glPopGroupMarkerEXT(); + + glFrameTerminatorGREMEDY(); + + //printf( "Draw with r=%f\n", r ); +} diff --git a/examples/alphatorus/src/render.h b/examples/alphatorus/src/render.h new file mode 100644 index 0000000..4e3e94b --- /dev/null +++ b/examples/alphatorus/src/render.h @@ -0,0 +1,36 @@ +/* + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + +- Created by Cass Everitt on 3/16/11. + +*/ + +#pragma once + +extern void alphaTorusInit(); +extern void alphaTorusReshape( int w, int h ); +extern void alphaTorusDisplay( bool clear ); diff --git a/examples/alphatorus/win32/minimal.cpp b/examples/alphatorus/win32/minimal.cpp new file mode 100644 index 0000000..4623ee1 --- /dev/null +++ b/examples/alphatorus/win32/minimal.cpp @@ -0,0 +1,186 @@ +/* + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + +*/ + +// An example of the minimal Win32 OpenGL (via Regal) program. +// It only works in 16 bit color modes or higher (since it doesn't +// create a palette). + +#include + +#include + +#include "render.h" + +#include +#include +using namespace std; + +LRESULT WINAPI +WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + static PAINTSTRUCT ps; + + switch(uMsg) + { + case WM_PAINT: + alphaTorusDisplay(true); + SwapBuffers(GetDC(hWnd)); + BeginPaint(hWnd, &ps); + EndPaint(hWnd, &ps); + return 0; + + case WM_SIZE: + alphaTorusReshape(LOWORD(lParam), HIWORD(lParam)); + PostMessage(hWnd, WM_PAINT, 0, 0); + return 0; + + case WM_CHAR: + switch (wParam) { + case 27: /* ESC key */ + PostQuitMessage(0); + break; + } + return 0; + + case WM_CLOSE: + PostQuitMessage(0); + return 0; + } + + return DefWindowProc(hWnd, uMsg, wParam, lParam); +} + +HWND +CreateOpenGLWindow(LPCTSTR title, int x, int y, int width, int height, BYTE type, DWORD flags) +{ + int pf; + HDC hDC; + HWND hWnd; + WNDCLASS wc; + PIXELFORMATDESCRIPTOR pfd; + static HINSTANCE hInstance = 0; + + /* only register the window class once - use hInstance as a flag. */ + if (!hInstance) + { + hInstance = GetModuleHandle(NULL); + wc.style = CS_OWNDC; + wc.lpfnWndProc = (WNDPROC)WindowProc; + wc.cbClsExtra = 0; + wc.cbWndExtra = 0; + wc.hInstance = hInstance; + wc.hIcon = LoadIcon(NULL, IDI_WINLOGO); + wc.hCursor = LoadCursor(NULL, IDC_ARROW); + wc.hbrBackground = NULL; + wc.lpszMenuName = NULL; + wc.lpszClassName = TEXT("OpenGL"); + + if (!RegisterClass(&wc)) + { + MessageBox(NULL, TEXT("RegisterClass() failed: Cannot register window class."), + TEXT("Error"), MB_OK); + return NULL; + } + } + + hWnd = CreateWindow(TEXT("OpenGL"), title, + WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, + x, y, width, height, NULL, NULL, hInstance, NULL); + + if (!hWnd) + { + MessageBox(NULL, TEXT("CreateWindow() failed: Cannot create a window."), + TEXT("Error"), MB_OK); + return NULL; + } + + hDC = GetDC(hWnd); + + /* there is no guarantee that the contents of the stack that become + the pfd are zeroed, therefore _make sure_ to clear these bits. */ + memset(&pfd, 0, sizeof(pfd)); + pfd.nSize = sizeof(pfd); + pfd.nVersion = 1; + pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | flags; + pfd.iPixelType = type; + pfd.cColorBits = 32; + + pf = ChoosePixelFormat(hDC, &pfd); + if (!pf) + { + MessageBox(NULL, TEXT("ChoosePixelFormat() failed: Cannot find a suitable pixel format."), + TEXT("Error"), MB_OK); + return 0; + } + + if (!SetPixelFormat(hDC, pf, &pfd)) { + MessageBox(NULL, TEXT("SetPixelFormat() failed: Cannot set format specified."), + TEXT("Error"), MB_OK); + return 0; + } + + DescribePixelFormat(hDC, pf, sizeof(PIXELFORMATDESCRIPTOR), &pfd); + + ReleaseDC(hWnd, hDC); + + return hWnd; +} + +int APIENTRY +WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst, LPSTR lpszCmdLine, int nCmdShow) +{ + HDC hDC; /* device context */ + HGLRC hRC; /* opengl context */ + HWND hWnd; /* window */ + MSG msg; /* message */ + + hWnd = CreateOpenGLWindow(TEXT("alphatorus_win32"), 0, 0, 256, 256, PFD_TYPE_RGBA, PFD_DOUBLEBUFFER); + if (!hWnd) + exit(1); + + hDC = GetDC(hWnd); + hRC = wglCreateContext(hDC); + wglMakeCurrent(hDC,hRC); + RegalMakeCurrent(hRC); + + ShowWindow(hWnd, nCmdShow); + + while(GetMessage(&msg, hWnd, 0, 0)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + RegalMakeCurrent(NULL); + ReleaseDC(hWnd, hDC); + wglDeleteContext(hRC); + DestroyWindow(hWnd); + + return (int) msg.wParam; +} diff --git a/include/GL/RegalGLEW.h b/include/GL/RegalGLEW.h index c2b265a..b76d4ce 100644 --- a/include/GL/RegalGLEW.h +++ b/include/GL/RegalGLEW.h @@ -117,13 +117,24 @@ * GL needs GLAPI and GLAPIENTRY, GLU needs APIENTRY, CALLBACK, and wchar_t * defined properly. */ -/* */ -#ifndef APIENTRY +/* and */ +#ifdef APIENTRY +# ifndef GLAPIENTRY +# define GLAPIENTRY APIENTRY +# endif +# ifndef GLEWAPIENTRY +# define GLEWAPIENTRY APIENTRY +# endif +#else #define GLEW_APIENTRY_DEFINED -# if defined(__MINGW32__) || defined(__CYGWIN__) -# define APIENTRY __stdcall -# elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) +# if defined(__MINGW32__) || defined(__CYGWIN__) || (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) # define APIENTRY __stdcall +# ifndef GLAPIENTRY +# define GLAPIENTRY __stdcall +# endif +# ifndef GLEWAPIENTRY +# define GLEWAPIENTRY __stdcall +# endif # else # define APIENTRY # endif @@ -180,14 +191,6 @@ typedef _W64 int ptrdiff_t; # endif #endif -#ifndef GLAPIENTRY -#define GLAPIENTRY APIENTRY -#endif - -#ifndef GLEWAPIENTRY -#define GLEWAPIENTRY APIENTRY -#endif - /* * GLEW_STATIC is defined for static library. * GLEW_BUILD is defined for building the DLL library. @@ -249,6 +252,8 @@ typedef _W64 int ptrdiff_t; #define GLAPI extern #endif +#endif /* _WIN32 */ + #ifndef GLAPIENTRY #define GLAPIENTRY #endif @@ -257,8 +262,6 @@ typedef _W64 int ptrdiff_t; #define GLEWAPIENTRY #endif -#endif /* _WIN32 */ - #ifdef __cplusplus extern "C" { #endif @@ -2535,7 +2538,7 @@ typedef void (GLAPIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask); #define GL_DEBUG_CATEGORY_APPLICATION_AMD 0x914F #define GL_DEBUG_CATEGORY_OTHER_AMD 0x9150 -typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, void* userParam); +typedef void (GLAPIENTRY *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, void* userParam); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, void *userParam); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); @@ -3803,7 +3806,7 @@ typedef void (GLAPIENTRY * PFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum sr #define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147 #define GL_DEBUG_SEVERITY_LOW_ARB 0x9148 -typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam); +typedef void (GLAPIENTRY *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const void *userParam); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); @@ -8582,6 +8585,7 @@ typedef void (GLAPIENTRY * PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC) (GLuint v typedef void (GLAPIENTRY * PFNGLVERTEXARRAYNORMALOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC) (GLuint vaobj, GLuint index, GLuint divisor); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); @@ -8796,6 +8800,7 @@ typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) (GLuint vaobj, G #define glVertexArrayNormalOffsetEXT GLEW_GET_FUN(__glewVertexArrayNormalOffsetEXT) #define glVertexArraySecondaryColorOffsetEXT GLEW_GET_FUN(__glewVertexArraySecondaryColorOffsetEXT) #define glVertexArrayTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayTexCoordOffsetEXT) +#define glVertexArrayVertexAttribDivisorEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribDivisorEXT) #define glVertexArrayVertexAttribIOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribIOffsetEXT) #define glVertexArrayVertexAttribOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribOffsetEXT) #define glVertexArrayVertexOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexOffsetEXT) @@ -11237,7 +11242,7 @@ typedef void (GLAPIENTRY * PFNGLTEXSCISSORINTELPROC) (GLenum target, GLclampf tl #define GL_DEBUG_SEVERITY_LOW 0x9148 #define GL_DEBUG_OUTPUT 0x92E0 -typedef void (APIENTRY *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam); +typedef void (GLAPIENTRY *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); @@ -16691,6 +16696,7 @@ GLEW_FUN_EXPORT PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC __glewVertexArrayMult GLEW_FUN_EXPORT PFNGLVERTEXARRAYNORMALOFFSETEXTPROC __glewVertexArrayNormalOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC __glewVertexArraySecondaryColorOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC __glewVertexArrayTexCoordOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC __glewVertexArrayVertexAttribDivisorEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC __glewVertexArrayVertexAttribIOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC __glewVertexArrayVertexAttribOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC __glewVertexArrayVertexOffsetEXT; @@ -18276,8 +18282,6 @@ GLEWAPI const GLubyte * GLEWAPIENTRY glewGetString (GLenum name); #ifdef GLEW_APIENTRY_DEFINED #undef GLEW_APIENTRY_DEFINED #undef APIENTRY -#undef GLAPIENTRY -#define GLAPIENTRY #endif #ifdef GLEW_CALLBACK_DEFINED diff --git a/include/GL/RegalGLXEW.h b/include/GL/RegalGLXEW.h index 5713463..76d50c6 100644 --- a/include/GL/RegalGLXEW.h +++ b/include/GL/RegalGLXEW.h @@ -832,6 +832,38 @@ typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo #endif /* GLX_MESA_pixmap_colormap */ +/* ------------------------ GLX_MESA_query_renderer ------------------------ */ + +#ifndef GLX_MESA_query_renderer +#define GLX_MESA_query_renderer 1 + +#define GLX_RENDERER_VENDOR_ID_MESA 0x8183 +#define GLX_RENDERER_DEVICE_ID_MESA 0x8184 +#define GLX_RENDERER_VERSION_MESA 0x8185 +#define GLX_RENDERER_ACCELERATED_MESA 0x8186 +#define GLX_RENDERER_VIDEO_MEMORY_MESA 0x8187 +#define GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA 0x8188 +#define GLX_RENDERER_PREFERRED_PROFILE_MESA 0x8189 +#define GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA 0x818A +#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B +#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C +#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D +#define GLX_RENDERER_ID_MESA 0x818E + +typedef Bool ( * PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribute, unsigned int* value); +typedef const char* ( * PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) (int attribute); +typedef Bool ( * PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display* dpy, int screen, int renderer, int attribute, unsigned int *value); +typedef const char* ( * PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display *dpy, int screen, int renderer, int attribute); + +#define glXQueryCurrentRendererIntegerMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererIntegerMESA) +#define glXQueryCurrentRendererStringMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererStringMESA) +#define glXQueryRendererIntegerMESA GLXEW_GET_FUN(__glewXQueryRendererIntegerMESA) +#define glXQueryRendererStringMESA GLXEW_GET_FUN(__glewXQueryRendererStringMESA) + +#define GLXEW_MESA_query_renderer GLXEW_GET_VAR(__GLXEW_MESA_query_renderer) + +#endif /* GLX_MESA_query_renderer */ + /* ------------------------ GLX_MESA_release_buffers ----------------------- */ #ifndef GLX_MESA_release_buffers @@ -889,6 +921,19 @@ typedef void ( * PFNGLXCOPYIMAGESUBDATANVPROC) (Display *dpy, GLXContext srcCtx, #endif /* GLX_NV_copy_image */ +/* ------------------------ GLX_NV_delay_before_swap ----------------------- */ + +#ifndef GLX_NV_delay_before_swap +#define GLX_NV_delay_before_swap 1 + +typedef Bool ( * PFNGLXDELAYBEFORESWAPNVPROC) (Display* dpy, GLXDrawable drawable, GLfloat seconds); + +#define glXDelayBeforeSwapNV GLXEW_GET_FUN(__glewXDelayBeforeSwapNV) + +#define GLXEW_NV_delay_before_swap GLXEW_GET_VAR(__GLXEW_NV_delay_before_swap) + +#endif /* GLX_NV_delay_before_swap */ + /* -------------------------- GLX_NV_float_buffer -------------------------- */ #ifndef GLX_NV_float_buffer @@ -1474,6 +1519,11 @@ GLXEW_FUN_EXPORT PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA; GLXEW_FUN_EXPORT PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA; +GLXEW_FUN_EXPORT PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC __glewXQueryCurrentRendererIntegerMESA; +GLXEW_FUN_EXPORT PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC __glewXQueryCurrentRendererStringMESA; +GLXEW_FUN_EXPORT PFNGLXQUERYRENDERERINTEGERMESAPROC __glewXQueryRendererIntegerMESA; +GLXEW_FUN_EXPORT PFNGLXQUERYRENDERERSTRINGMESAPROC __glewXQueryRendererStringMESA; + GLXEW_FUN_EXPORT PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA; GLXEW_FUN_EXPORT PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA; @@ -1483,6 +1533,8 @@ GLXEW_FUN_EXPORT PFNGLXSWAPINTERVALMESAPROC __glewXSwapIntervalMESA; GLXEW_FUN_EXPORT PFNGLXCOPYIMAGESUBDATANVPROC __glewXCopyImageSubDataNV; +GLXEW_FUN_EXPORT PFNGLXDELAYBEFORESWAPNVPROC __glewXDelayBeforeSwapNV; + GLXEW_FUN_EXPORT PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV; GLXEW_FUN_EXPORT PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV; @@ -1603,10 +1655,12 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_INTEL_swap_event; GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_agp_offset; GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_copy_sub_buffer; GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_query_renderer; GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_release_buffers; GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode; GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_swap_control; GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_image; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_delay_before_swap; GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_float_buffer; GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_multisample_coverage; GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_present_video; diff --git a/scripts/Dispatch.py b/scripts/Dispatch.py new file mode 100644 index 0000000..4541724 --- /dev/null +++ b/scripts/Dispatch.py @@ -0,0 +1,94 @@ +#!/usr/bin/python -B + +import re +from string import Template +from string import join +from copy import deepcopy + +# +# Apply per-section substitutions +# +# Inputs: +# +# code - the substituted code snippets for each section +# formula - formula dictionary +# subs - substitutions for string.Template.substitute +# + +def substitute(entry, formula, section, subs): + + if not section in formula: + return + + # Turn a string into a list, if necessary + + tmp = formula[section] + if isinstance(tmp,str) or isinstance(tmp,unicode): + tmp = tmp.split('\n') + + entry[section] = [ Template(i).substitute(subs) for i in tmp ] + + + +def dispatchGenCode(func, formulae): + + if formulae==None: + return None + + name = func.name + + # list of function parameter names + + arglist = [ i.name.strip() for i in func.parameters ] + + # arg is a mapping from arg0 to function parameter name... + + arg = {} + for i in range(len(arglist)): + arg['arg%d' % i] = arglist[i] + + # ... and mappings from arg0plus to lists of function parameters + + for i in range(0,5): + label = 'arg%dplus' % i; + if len(arglist) > 0 : + arg[label] = ', '.join(arglist) + arglist.pop(0) + else : + arg[label] = '' + + # Iterate over the formulae + # + # k is the key + # i is the formula + + for k,i in formulae.iteritems(): + + # Cache the compiled regular expressions, as needed + + if 'entries_re' not in i: + i['entries_re'] = [ re.compile( '^%s$' % j ) for j in i['entries'] ] + + # A list of matches containing (match object, formula name, formula) + # Look for matches, ideally only one + + m = [ [j.match(name),k,i] for k,i in formulae.iteritems() for j in i['entries_re'] ] + m = [ j for j in m if j[0] ] + + assert len(m)<=1, 'Ambiguous match (%s) for %s - giving up.'%(', '.join([j[1] for j in m]),name) + + if len(m): + match = m[0][0] + formula = m[0][2] + code = { 'name' : name } + subs = deepcopy(arg) + for l in range( len(match.groups()) + 1): + subs['m%d' % l] = match.group( l ) + subs['name'] = name + substitute( code, formula, 'pre', subs ) + substitute( code, formula, 'post', subs ) + + return code + + return None + diff --git a/scripts/EmuFilter.py b/scripts/EmuFilter.py index 65db020..0b49d27 100644 --- a/scripts/EmuFilter.py +++ b/scripts/EmuFilter.py @@ -33,6 +33,7 @@ formulae = { 'glGenSamplers', # Sampler object emulation 'glGetTexImage', 'glTexImage(1|3)D', + 'glGetTexLevelParameter(f|i)v', 'glBlitFramebufferANGLE' # Emulate glBlitFramebuffer? ], 'impl' : [ @@ -76,7 +77,6 @@ formulae = { 'glEvalMesh(1|2)', 'glEvalPoint(1|2)', 'glGenLists', - 'glGetTexLevelParameter(f|i)v', 'glLineStipple', 'glMap(1|2)(d|f)', 'glMapGrid(1|2)(d|f)', diff --git a/scripts/EmuIff.py b/scripts/EmuIff.py index 6fcb996..fa501f8 100644 --- a/scripts/EmuIff.py +++ b/scripts/EmuIff.py @@ -111,7 +111,15 @@ iffFormulae = { ], }, 'FfnShadow' : { - 'entries' : [ 'gl(MatrixMode|BindProgramPipeline|UseProgram|Enable|Disable)' ], + 'entries' : [ 'gl(MatrixMode|BindProgramPipeline|Enable|Disable)' ], + 'impl' : [ + 'if( ! _context->iff->Shadow${m1}( ${arg0plus} ) ) {', + ' _context->dispatcher.emulation.gl${m1}( ${arg0plus} );', + '}', + ], + }, + 'FfnShadowProgram' : { + 'entries' : [ 'gl(UseProgram)(ObjectARB|)' ], 'impl' : [ 'if( ! _context->iff->Shadow${m1}( ${arg0plus} ) ) {', ' _context->dispatcher.emulation.gl${m1}( ${arg0plus} );', @@ -270,5 +278,45 @@ iffFormulae = { 'CreateShader' : { 'entries' : [ 'glCreateShader(ObjectARB)?', ], 'impl' : [ 'return _context->iff->CreateShader( _context, ${arg0} );', ], - } + }, + 'Uniform' : { + 'entries' : [ 'glUniform(1|2|3|4)(d|f|i|ui)(ARB|)', ], + 'impl' : [ + 'if( _context->iff->currinst ) {', + ' _context->iff->Uniform( _context, ${m1}, ${arg0}, 1, ${arg1plus} );', + '} else {', + ' _context->dispatcher.emulation.${m0}( ${arg0plus} );', + '}', + ], + }, + 'Uniformv' : { + 'entries' : [ 'glUniform(1|2|3|4)(d|f|i|ui)v(ARB|)', ], + 'impl' : [ + 'if( _context->iff->currinst ) {', + ' _context->iff->Uniform( _context, ${m1}, ${arg0plus} );', + '} else {', + ' _context->dispatcher.emulation.${m0}( ${arg0plus} );', + '}', + ], + }, + 'UniformMatrix' : { + 'entries' : [ 'glUniformMatrix(2|3|4)(d|f)v(ARB|)', ], + 'impl' : [ + 'if( _context->iff->currinst ) {', + ' _context->iff->UniformMatrix( _context, ${m1}, ${m1}, ${arg0plus} );', + '} else {', + ' _context->dispatcher.emulation.${m0}( ${arg0plus} );', + '}', + ], + }, + 'UniformMatrixNonSquare' : { + 'entries' : [ 'glUniformMatrix(2|3|4)x(2|3|4)(d|f)v(ARB|)', ], + 'impl' : [ + 'if( _context->iff->currinst ) {', + ' _context->iff->UniformMatrix( _context, ${m1}, ${m2}, ${arg0plus} );', + '} else {', + ' _context->dispatcher.emulation.${m0}( ${arg0plus} );', + '}', + ], + }, } diff --git a/scripts/EmuInit.py b/scripts/EmuInit.py index 55b9760..03badd1 100644 --- a/scripts/EmuInit.py +++ b/scripts/EmuInit.py @@ -52,6 +52,10 @@ if (ret) { Init::init(); Init::makeCurrent(RegalSystemContext(hglrc)); + RegalContext *_context = REGAL_GET_CONTEXT(); + RegalAssert(_context); + _context->hglrc = hglrc; + _context->hdc = hDC; }''' }, diff --git a/scripts/EmuMarker.py b/scripts/EmuMarker.py index 3c4a1cb..7c52e6b 100644 --- a/scripts/EmuMarker.py +++ b/scripts/EmuMarker.py @@ -10,7 +10,7 @@ formulaeGlobal = { 'Insert' : { 'entries' : [ 'glInsertEventMarkerEXT' ], - 'cond' : '_context->info->gl_ext_debug_marker', + 'cond' : 'true || _context->info->gl_ext_debug_marker', 'prefix' : ''' const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024; const std::string _message = Marker::toStringEXT(length,marker,maxLength);''', @@ -22,7 +22,7 @@ RegalAssert(_context->info);''' 'Push' : { 'entries' : [ 'glPushGroupMarkerEXT' ], - 'cond' : '_context->info->gl_ext_debug_marker', + 'cond' : 'true || _context->info->gl_ext_debug_marker', 'prefix' : ''' const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024; const std::string _message = Marker::toStringEXT(length,marker,maxLength);''', @@ -34,7 +34,7 @@ if (_context->marker) 'Pop' : { 'entries' : [ 'glPopGroupMarkerEXT' ], - 'cond' : '_context->info->gl_ext_debug_marker', + 'cond' : 'true || _context->info->gl_ext_debug_marker', 'prefix' : ''' if (_context && _context->marker) _context->marker->PopGroupMarker(*_context);''', @@ -50,7 +50,7 @@ if (_context && _context->marker) 'KHR_debug Push' : { 'entries' : [ 'glPushDebugGroup' ], - 'cond' : '_context->info->gl_khr_debug', + 'cond' : 'true || _context->info->gl_khr_debug', 'prefix' : ''' const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024; const std::string _message = Marker::toStringKHR(length,message,maxLength);''', @@ -60,7 +60,7 @@ const std::string _message = Marker::toStringKHR(length,message,maxLength);''', }, 'KHR_debug Pop' : { 'entries' : [ 'glPopDebugGroup' ], - 'cond' : '_context->info->gl_khr_debug', + 'cond' : 'true || _context->info->gl_khr_debug', 'prefix' : [ 'if (_context->marker)', ' _context->marker->PopGroupMarker(*_context);' ], 'impl' : [ 'RegalAssert(_context->info);' ] @@ -68,7 +68,7 @@ const std::string _message = Marker::toStringKHR(length,message,maxLength);''', 'KHR_debug Insert' : { 'entries' : [ 'glDebugMessageInsert' ], - 'cond' : '_context->info->gl_khr_debug', + 'cond' : 'true || _context->info->gl_khr_debug', 'prefix' : ''' const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024; const std::string _message = Marker::toStringKHR(length,buf,maxLength);''', @@ -84,7 +84,7 @@ const std::string _message = Marker::toStringKHR(length,buf,maxLength);''', 'ARB_debug_output Insert' : { 'entries' : [ 'glDebugMessageInsertARB' ], - 'cond' : '_context->info->gl_arb_debug_output', + 'cond' : 'true || _context->info->gl_arb_debug_output', 'prefix' : ''' const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024; const std::string _message = Marker::toStringEXT(length,buf,maxLength);''', @@ -100,7 +100,7 @@ const std::string _message = Marker::toStringEXT(length,buf,maxLength);''', 'AMD_debug_output Insert' : { 'entries' : [ 'glDebugMessageInsertAMD' ], - 'cond' : '_context->info->gl_amd_debug_output', + 'cond' : 'true || _context->info->gl_amd_debug_output', 'prefix' : ''' const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024; const std::string _message = Marker::toStringEXT(length,buf,maxLength);''', @@ -113,7 +113,7 @@ const std::string _message = Marker::toStringEXT(length,buf,maxLength);''', 'GL_GREMEDY_string_marker' : { 'entries' : [ 'glStringMarkerGREMEDY' ], - 'cond' : '_context->info->gl_gremedy_string_marker', + 'cond' : 'true || _context->info->gl_gremedy_string_marker', 'prefix' : ''' const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024; const std::string _message = Marker::toStringEXT(len,static_cast(string),maxLength);''', diff --git a/scripts/EmuPpa.py b/scripts/EmuPpa.py index 54b245d..fbf5532 100644 --- a/scripts/EmuPpa.py +++ b/scripts/EmuPpa.py @@ -49,6 +49,14 @@ ppaFormulae = { '}', ], }, + 'GetTexParam' : { + 'entries' : [ 'glGet(Tex|Texture)(Level|)Parameter(f|i)v(EXT|)' ], + 'impl' : [ + 'if( ! _context->ppa->glGet${m1}${m2}Parameter( _context, ${arg0plus} ) ) {', + ' _context->dispatcher.emulation.glGet${m1}${m2}Parameter${m3}v${m4}( ${arg0plus} );', + '}', + ], + }, 'IsEnabled' : { 'entries' : [ 'glIsEnabled(i|)' ], 'impl' : [ diff --git a/scripts/EmuQuads.py b/scripts/EmuQuads.py index 6c848b0..1cddc3c 100644 --- a/scripts/EmuQuads.py +++ b/scripts/EmuQuads.py @@ -21,6 +21,10 @@ quadsFormulae = { 'entries' : [ 'glProvokingVertex(EXT|)' ], 'prefix' : [ '_context->quads->glProvokingVertex( ${arg0plus} );', ], }, + 'BindBuffer' : { + 'entries' : [ 'glBindBuffer(EXT|)' ], + 'prefix' : [ '_context->quads->glBindBuffer( ${arg0plus} );', ], + }, 'quads' : { 'entries' : [ 'glDrawArrays(EXT|)' ], 'impl' : [ diff --git a/scripts/Export.py b/scripts/Export.py index a180806..62ddccb 100755 --- a/scripts/Export.py +++ b/scripts/Export.py @@ -45,6 +45,7 @@ from RegalDispatchEmu import * from RegalDispatchGMock import * from RegalDispatchGLX import * from RegalDispatchLog import * +from RegalDispatchHttp import * from RegalDispatchLoader import * from RegalDispatchMissing import * from RegalDispatchPpapi import * @@ -225,6 +226,7 @@ def generate(apis, args): generateSystemHeader(apis, args) generateEmuSource( apis, args ) generateDispatchLog( apis, args ) + generateDispatchHttp( apis, args ) generateDispatchCode( apis, args ) generateErrorSource( apis, args ) generateDebugSource( apis, args ) diff --git a/scripts/api/ApiRegal.py b/scripts/api/ApiRegal.py index ebcfa4c..8856806 100755 --- a/scripts/api/ApiRegal.py +++ b/scripts/api/ApiRegal.py @@ -176,7 +176,7 @@ def cCodeParameter(function, parameter): # ret - return value # -def logFunction(function, trace = 'ITrace', input = True, output = False, ret = False): +def logFunction(function, trace = 'ITrace', input = True, output = False, ret = False, paramsOnly = False): c = '' args = [] for i in function.parameters: @@ -202,14 +202,20 @@ def logFunction(function, trace = 'ITrace', input = True, output = False, ret = args = args[:14] if len(args): - c += '%s("%s","(", ' % (trace, function.name) + if paramsOnly: + c += '%s("(", ' % trace + else: + c += '%s("%s","(", ' % (trace, function.name) c += ', ", ", '.join(args) c += ', ")"' if r != None: c += ', " returned ", %s'%(r) c += ');' else: - c += '%s("%s","()"' % (trace, function.name) + if paramsOnly: + c += '%s("()"' % trace + else: + c += '%s("%s","()"' % (trace, function.name) if r != None: c += ', " returned ", %s'%(r) c += ');' diff --git a/scripts/js/jquery-ui.min.css b/scripts/js/jquery-ui.min.css new file mode 100644 index 0000000..038ea18 --- /dev/null +++ b/scripts/js/jquery-ui.min.css @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.10.3 - 2013-05-03 +* http://jqueryui.com +* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande%2CLucida%20Sans%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=10px&bgColorHeader=3a8104&bgTextureHeader=highlight_soft&bgImgOpacityHeader=33&borderColorHeader=3f7506&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=285c00&bgTextureContent=inset_soft&bgImgOpacityContent=10&borderColorContent=72b42d&fcContent=ffffff&iconColorContent=72b42d&bgColorDefault=4ca20b&bgTextureDefault=highlight_soft&bgImgOpacityDefault=60&borderColorDefault=45930b&fcDefault=ffffff&iconColorDefault=ffffff&bgColorHover=4eb305&bgTextureHover=highlight_soft&bgImgOpacityHover=50&borderColorHover=8bd83b&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=285c00&bgTextureActive=highlight_hard&bgImgOpacityActive=30&borderColorActive=72b42d&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fbf5d0&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=f9dd34&fcHighlight=363636&iconColorHighlight=4eb305&bgColorError=ffdc2e&bgTextureError=diagonals_thick&bgImgOpacityError=95&borderColorError=fad000&fcError=2b2b2b&iconColorError=cd0a0a&bgColorOverlay=444444&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=15&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=diagonals_small&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=0px&offsetTopShadow=4px&offsetLeftShadow=4px&cornerRadiusShadow=4px +* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:0}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:400}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url(images/animated-overlay.gif);height:100%;filter:alpha(opacity=25);opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:0;background:0;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:0;border-bottom:0;border-right:0}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Lucida Grande,Lucida Sans,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Lucida Grande,Lucida Sans,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #72b42d;background:#285c00 url(images/ui-bg_inset-soft_10_285c00_1x100.png) 50% bottom repeat-x;color:#fff}.ui-widget-content a{color:#fff}.ui-widget-header{border:1px solid #3f7506;background:#3a8104 url(images/ui-bg_highlight-soft_33_3a8104_1x100.png) 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #45930b;background:#4ca20b url(images/ui-bg_highlight-soft_60_4ca20b_1x100.png) 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#fff;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #8bd83b;background:#4eb305 url(images/ui-bg_highlight-soft_50_4eb305_1x100.png) 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#fff;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #72b42d;background:#285c00 url(images/ui-bg_highlight-hard_30_285c00_1x100.png) 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #f9dd34;background:#fbf5d0 url(images/ui-bg_glass_55_fbf5d0_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #fad000;background:#ffdc2e url(images/ui-bg_diagonals-thick_95_ffdc2e_40x40.png) 50% 50% repeat;color:#2b2b2b}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#2b2b2b}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#2b2b2b}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_72b42d_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_4eb305_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:10px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:10px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:10px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:10px}.ui-widget-overlay{background:#444 url(images/ui-bg_diagonals-thick_15_444444_40x40.png) 50% 50% repeat;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:4px 0 0 4px;padding:0;background:#aaa url(images/ui-bg_diagonals-small_0_aaaaaa_40x40.png) 50% 50% repeat;opacity:.3;filter:Alpha(Opacity=30);border-radius:4px} \ No newline at end of file diff --git a/scripts/js/jquery-ui.min.js b/scripts/js/jquery-ui.min.js new file mode 100644 index 0000000..82bbb67 --- /dev/null +++ b/scripts/js/jquery-ui.min.js @@ -0,0 +1,12 @@ +/*! jQuery UI - v1.10.3 - 2013-05-03 +* http://jqueryui.com +* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.effect.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.position.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js +* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ +(function(t,e){function i(e,i){var n,o,a,r=e.nodeName.toLowerCase();return"area"===r?(n=e.parentNode,o=n.name,e.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap=#"+o+"]")[0],!!a&&s(a)):!1):(/input|select|textarea|button|object/.test(r)?!e.disabled:"a"===r?e.href||i:i)&&s(e)}function s(e){return t.expr.filters.visible(e)&&!t(e).parents().addBack().filter(function(){return"hidden"===t.css(this,"visibility")}).length}var n=0,o=/^ui-id-\d+$/;t.ui=t.ui||{},t.extend(t.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),t.fn.extend({focus:function(e){return function(i,s){return"number"==typeof i?this.each(function(){var e=this;setTimeout(function(){t(e).focus(),s&&s.call(e)},i)}):e.apply(this,arguments)}}(t.fn.focus),scrollParent:function(){var e;return e=t.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(t.css(this,"position"))&&/(auto|scroll)/.test(t.css(this,"overflow")+t.css(this,"overflow-y")+t.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(t.css(this,"overflow")+t.css(this,"overflow-y")+t.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!e.length?t(document):e},zIndex:function(i){if(i!==e)return this.css("zIndex",i);if(this.length)for(var s,n,o=t(this[0]);o.length&&o[0]!==document;){if(s=o.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(n=parseInt(o.css("zIndex"),10),!isNaN(n)&&0!==n))return n;o=o.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++n)})},removeUniqueId:function(){return this.each(function(){o.test(this.id)&&t(this).removeAttr("id")})}}),t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])},focusable:function(e){return i(e,!isNaN(t.attr(e,"tabindex")))},tabbable:function(e){var s=t.attr(e,"tabindex"),n=isNaN(s);return(n||s>=0)&&i(e,!n)}}),t("").outerWidth(1).jquery||t.each(["Width","Height"],function(i,s){function n(e,i,s,n){return t.each(o,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),n&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var o="Width"===s?["Left","Right"]:["Top","Bottom"],a=s.toLowerCase(),r={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+s]=function(i){return i===e?r["inner"+s].call(this):this.each(function(){t(this).css(a,n(this,i)+"px")})},t.fn["outer"+s]=function(e,i){return"number"!=typeof e?r["outer"+s].call(this,e):this.each(function(){t(this).css(a,n(this,e,!0,i)+"px")})}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t("").data("a-b","a").removeData("a-b").data("a-b")&&(t.fn.removeData=function(e){return function(i){return arguments.length?e.call(this,t.camelCase(i)):e.call(this)}}(t.fn.removeData)),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),t.support.selectstart="onselectstart"in document.createElement("div"),t.fn.extend({disableSelection:function(){return this.bind((t.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(t){t.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),t.extend(t.ui,{plugin:{add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i){var s,n=t.plugins[e];if(n&&t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType)for(s=0;n.length>s;s++)t.options[n[s][0]]&&n[s][1].apply(t.element,i)}},hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)}})})(jQuery),function(t,e){var i=0,s=Array.prototype.slice,n=t.cleanData;t.cleanData=function(e){for(var i,s=0;null!=(i=e[s]);s++)try{t(i).triggerHandler("remove")}catch(o){}n(e)},t.widget=function(i,s,n){var o,a,r,h,l={},c=i.split(".")[0];i=i.split(".")[1],o=c+"-"+i,n||(n=s,s=t.Widget),t.expr[":"][o.toLowerCase()]=function(e){return!!t.data(e,o)},t[c]=t[c]||{},a=t[c][i],r=t[c][i]=function(t,i){return this._createWidget?(arguments.length&&this._createWidget(t,i),e):new r(t,i)},t.extend(r,a,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),h=new s,h.options=t.widget.extend({},h.options),t.each(n,function(i,n){return t.isFunction(n)?(l[i]=function(){var t=function(){return s.prototype[i].apply(this,arguments)},e=function(t){return s.prototype[i].apply(this,t)};return function(){var i,s=this._super,o=this._superApply;return this._super=t,this._superApply=e,i=n.apply(this,arguments),this._super=s,this._superApply=o,i}}(),e):(l[i]=n,e)}),r.prototype=t.widget.extend(h,{widgetEventPrefix:a?h.widgetEventPrefix:i},l,{constructor:r,namespace:c,widgetName:i,widgetFullName:o}),a?(t.each(a._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,r,i._proto)}),delete a._childConstructors):s._childConstructors.push(r),t.widget.bridge(i,r)},t.widget.extend=function(i){for(var n,o,a=s.call(arguments,1),r=0,h=a.length;h>r;r++)for(n in a[r])o=a[r][n],a[r].hasOwnProperty(n)&&o!==e&&(i[n]=t.isPlainObject(o)?t.isPlainObject(i[n])?t.widget.extend({},i[n],o):t.widget.extend({},o):o);return i},t.widget.bridge=function(i,n){var o=n.prototype.widgetFullName||i;t.fn[i]=function(a){var r="string"==typeof a,h=s.call(arguments,1),l=this;return a=!r&&h.length?t.widget.extend.apply(null,[a].concat(h)):a,r?this.each(function(){var s,n=t.data(this,o);return n?t.isFunction(n[a])&&"_"!==a.charAt(0)?(s=n[a].apply(n,h),s!==n&&s!==e?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):e):t.error("no such method '"+a+"' for "+i+" widget instance"):t.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+a+"'")}):this.each(function(){var e=t.data(this,o);e?e.option(a||{})._init():t.data(this,o,new n(a,this))}),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this.bindings=t(),this.hoverable=t(),this.focusable=t(),s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){return this.element},option:function(i,s){var n,o,a,r=i;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof i)if(r={},n=i.split("."),i=n.shift(),n.length){for(o=r[i]=t.widget.extend({},this.options[i]),a=0;n.length-1>a;a++)o[n[a]]=o[n[a]]||{},o=o[n[a]];if(i=n.pop(),s===e)return o[i]===e?null:o[i];o[i]=s}else{if(s===e)return this.options[i]===e?null:this.options[i];r[i]=s}return this._setOptions(r),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return this.options[t]=e,"disabled"===t&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!e).attr("aria-disabled",e),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var o,a=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=o=t(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,o=this.widget()),t.each(n,function(n,r){function h(){return i||a.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof r?a[r]:r).apply(a,arguments):e}"string"!=typeof r&&(h.guid=r.guid=r.guid||h.guid||t.guid++);var l=n.match(/^(\w+)\s*(.*)$/),c=l[1]+a.eventNamespace,u=l[2];u?o.delegate(u,c,h):s.bind(c,h)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(e).undelegate(e)},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){t(e.currentTarget).addClass("ui-state-hover")},mouseleave:function(e){t(e.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){t(e.currentTarget).addClass("ui-state-focus")},focusout:function(e){t(e.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}})}(jQuery),function(t){var e=!1;t(document).mouseup(function(){e=!1}),t.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.bind("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).bind("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!e){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,o="string"==typeof this.options.cancel&&i.target.nodeName?t(i.target).closest(this.options.cancel).length:!1;return n&&!o&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===t.data(i.target,this.widgetName+".preventClickEvent")&&t.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return s._mouseMove(t)},this._mouseUpDelegate=function(t){return s._mouseUp(t)},t(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),e=!0,!0)):!0}},_mouseMove:function(e){return t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button?this._mouseUp(e):this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){return t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),!1},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}(jQuery),function(t){t.widget("ui.draggable",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(t(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){t("
").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(t(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_mouseDrag:function(e,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"original"!==this.options.helper||t.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1):!1},_mouseUp:function(e){return t("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.element.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;return n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===n.containment?(this.containment=[0,0,t(document).width()-this.helperProportions.width-this.margins.left,(t(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):n.containment.constructor===Array?(this.containment=n.containment,undefined):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:n.scrollTop(),left:n.scrollLeft()}),{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*s}},_generatePosition:function(e){var i,s,n,o,a=this.options,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=e.pageX,l=e.pageY;return this.offset.scroll||(this.offset.scroll={top:r.scrollTop(),left:r.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.lefti[2]&&(h=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,h=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s]),"drag"===e&&(this.positionAbs=this._convertPositionTo("absolute")),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i){var s=t(this).data("ui-draggable"),n=s.options,o=t.extend({},i,{item:s.element});s.sortables=[],t(n.connectToSortable).each(function(){var i=t.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",e,o))})},stop:function(e,i){var s=t(this).data("ui-draggable"),n=t.extend({},i,{item:s.element});t.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(e),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",e,n))})},drag:function(e,i){var s=t(this).data("ui-draggable"),n=this;t.each(s.sortables,function(){var o=!1,a=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(o=!0,t.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==a&&this.instance._intersectsWith(this.instance.containerCache)&&t.contains(a.instance.element[0],this.instance.element[0])&&(o=!1),o})),o?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=t(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},e.target=this.instance.currentItem[0],this.instance._mouseCapture(e,!0),this.instance._mouseStart(e,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",e),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(e)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",e,this.instance._uiHash(this.instance)),this.instance._mouseStop(e,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",e),s.dropped=!1)})}}),t.ui.plugin.add("draggable","cursor",{start:function(){var e=t("body"),i=t(this).data("ui-draggable").options;e.css("cursor")&&(i._cursor=e.css("cursor")),e.css("cursor",i.cursor)},stop:function(){var e=t(this).data("ui-draggable").options;e._cursor&&t("body").css("cursor",e._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("opacity")&&(n._opacity=s.css("opacity")),s.css("opacity",n.opacity)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._opacity&&t(i.helper).css("opacity",s._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(){var e=t(this).data("ui-draggable");e.scrollParent[0]!==document&&"HTML"!==e.scrollParent[0].tagName&&(e.overflowOffset=e.scrollParent.offset())},drag:function(e){var i=t(this).data("ui-draggable"),s=i.options,n=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-e.pageY=0;u--)r=p.snapElements[u].left,h=r+p.snapElements[u].width,l=p.snapElements[u].top,c=l+p.snapElements[u].height,r-g>v||m>h+g||l-g>b||_>c+g||!t.contains(p.snapElements[u].item.ownerDocument,p.snapElements[u].item)?(p.snapElements[u].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=!1):("inner"!==f.snapMode&&(s=g>=Math.abs(l-b),n=g>=Math.abs(c-_),o=g>=Math.abs(r-v),a=g>=Math.abs(h-m),s&&(i.position.top=p._convertPositionTo("relative",{top:l-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c,left:0}).top-p.margins.top),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r-p.helperProportions.width}).left-p.margins.left),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h}).left-p.margins.left)),d=s||n||o||a,"outer"!==f.snapMode&&(s=g>=Math.abs(l-_),n=g>=Math.abs(c-b),o=g>=Math.abs(r-m),a=g>=Math.abs(h-v),s&&(i.position.top=p._convertPositionTo("relative",{top:l,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c-p.helperProportions.height,left:0}).top-p.margins.top),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r}).left-p.margins.left),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[u].snapping&&(s||n||o||a||d)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=s||n||o||a||d)}}),t.ui.plugin.add("draggable","stack",{start:function(){var e,i=this.data("ui-draggable").options,s=t.makeArray(t(i.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});s.length&&(e=parseInt(t(s[0]).css("zIndex"),10)||0,t(s).each(function(i){t(this).css("zIndex",e+i)}),this.css("zIndex",e+s.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("zIndex")&&(n._zIndex=s.css("zIndex")),s.css("zIndex",n.zIndex)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._zIndex&&t(i.helper).css("zIndex",s._zIndex)}})}(jQuery),function(t){function e(t,e,i){return t>e&&e+i>t}t.widget("ui.droppable",{version:"1.10.3",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e=this.options,i=e.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(i)?i:function(t){return t.is(i) +},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},t.ui.ddmanager.droppables[e.scope]=t.ui.ddmanager.droppables[e.scope]||[],t.ui.ddmanager.droppables[e.scope].push(this),e.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var e=0,i=t.ui.ddmanager.droppables[this.options.scope];i.length>e;e++)i[e]===this&&i.splice(e,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(e,i){"accept"===e&&(this.accept=t.isFunction(i)?i:function(t){return t.is(i)}),t.Widget.prototype._setOption.apply(this,arguments)},_activate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var e=t.data(this,"ui-droppable");return e.options.greedy&&!e.options.disabled&&e.options.scope===s.options.scope&&e.accept.call(e.element[0],s.currentItem||s.element)&&t.ui.intersect(s,t.extend(e,{offset:e.element.offset()}),e.options.tolerance)?(n=!0,!1):undefined}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}}}),t.ui.intersect=function(t,i,s){if(!i.offset)return!1;var n,o,a=(t.positionAbs||t.position.absolute).left,r=a+t.helperProportions.width,h=(t.positionAbs||t.position.absolute).top,l=h+t.helperProportions.height,c=i.offset.left,u=c+i.proportions.width,d=i.offset.top,p=d+i.proportions.height;switch(s){case"fit":return a>=c&&u>=r&&h>=d&&p>=l;case"intersect":return a+t.helperProportions.width/2>c&&u>r-t.helperProportions.width/2&&h+t.helperProportions.height/2>d&&p>l-t.helperProportions.height/2;case"pointer":return n=(t.positionAbs||t.position.absolute).left+(t.clickOffset||t.offset.click).left,o=(t.positionAbs||t.position.absolute).top+(t.clickOffset||t.offset.click).top,e(o,d,i.proportions.height)&&e(n,c,i.proportions.width);case"touch":return(h>=d&&p>=h||l>=d&&p>=l||d>h&&l>p)&&(a>=c&&u>=a||r>=c&&u>=r||c>a&&r>u);default:return!1}},t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;o.length>s;s++)if(!(o[s].options.disabled||e&&!o[s].accept.call(o[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===o[s].element[0]){o[s].proportions.height=0;continue t}o[s].visible="none"!==o[s].element.css("display"),o[s].visible&&("mousedown"===a&&o[s]._activate.call(o[s],i),o[s].offset=o[s].element.offset(),o[s].proportions={width:o[s].element[0].offsetWidth,height:o[s].element[0].offsetHeight})}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&t.ui.intersect(e,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").bind("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,o,a=t.ui.intersect(e,this,this.options.tolerance),r=!a&&this.isover?"isout":a&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,o=this.element.parents(":data(ui-droppable)").filter(function(){return t.data(this,"ui-droppable").options.scope===n}),o.length&&(s=t.data(o[0],"ui-droppable"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").unbind("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}}}(jQuery),function(t){function e(t){return parseInt(t,10)||0}function i(t){return!isNaN(parseInt(t,10))}t.widget("ui.resizable",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var e,i,s,n,o,a=this,r=this.options;if(this.element.addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),e=this.handles.split(","),this.handles={},i=0;e.length>i;i++)s=t.trim(e[i]),o="ui-resizable-"+s,n=t("
"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=t(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),t(this.handles[i]).length},this._renderAxis(this.element),this._handles=t(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){a.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),a.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),t(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(t(this).removeClass("ui-resizable-autohide"),a._handles.show())}).mouseleave(function(){r.disabled||a.resizing||(t(this).addClass("ui-resizable-autohide"),a._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,o,a=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=e(this.helper.css("left")),n=e(this.helper.css("top")),a.containment&&(s+=t(a.containment).scrollLeft()||0,n+=t(a.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof a.aspectRatio?a.aspectRatio:this.originalSize.width/this.originalSize.height||1,o=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===o?this.axis+"-resize":o),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(e){var i,s=this.helper,n={},o=this.originalMousePosition,a=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,c=this.size.height,u=e.pageX-o.left||0,d=e.pageY-o.top||0,p=this._change[a];return p?(i=p.apply(this,[e,u,d]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==c&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(n)||this._trigger("resize",e,this.ui()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&t.ui.hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,h=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(t){var e,s,n,o,a,r=this.options;a={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||t)&&(e=a.minHeight*this.aspectRatio,n=a.minWidth/this.aspectRatio,s=a.maxHeight*this.aspectRatio,o=a.maxWidth/this.aspectRatio,e>a.minWidth&&(a.minWidth=e),n>a.minHeight&&(a.minHeight=n),a.maxWidth>s&&(a.maxWidth=s),a.maxHeight>o&&(a.maxHeight=o)),this._vBoundaries=a},_updateCache:function(t){this.offset=this.helper.offset(),i(t.left)&&(this.position.left=t.left),i(t.top)&&(this.position.top=t.top),i(t.height)&&(this.size.height=t.height),i(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,s=this.size,n=this.axis;return i(t.height)?t.width=t.height*this.aspectRatio:i(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===n&&(t.left=e.left+(s.width-t.width),t.top=null),"nw"===n&&(t.top=e.top+(s.height-t.height),t.left=e.left+(s.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,s=this.axis,n=i(t.width)&&e.maxWidth&&e.maxWidtht.width,r=i(t.height)&&e.minHeight&&e.minHeight>t.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,c=/sw|nw|w/.test(s),u=/nw|ne|n/.test(s);return a&&(t.width=e.minWidth),r&&(t.height=e.minHeight),n&&(t.width=e.maxWidth),o&&(t.height=e.maxHeight),a&&c&&(t.left=h-e.minWidth),n&&c&&(t.left=h-e.maxWidth),r&&u&&(t.top=l-e.minHeight),o&&u&&(t.top=l-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var t,e,i,s,n,o=this.helper||this.element;for(t=0;this._proportionallyResizeElements.length>t;t++){if(n=this._proportionallyResizeElements[t],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],e=0;i.length>e;e++)this.borderDif[e]=(parseInt(i[e],10)||0)+(parseInt(s[e],10)||0);n.css({height:o.height()-this.borderDif[0]-this.borderDif[2]||0,width:o.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&t.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,c=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,o,a,r,h,l=t(this).data("ui-resizable"),c=l.options,u=l.element,d=c.containment,p=d instanceof t?d.get(0):/parent/.test(d)?u.parent().get(0):d;p&&(l.containerElement=t(p),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(i=t(p),s=[],t(["Top","Right","Left","Bottom"]).each(function(t,n){s[t]=e(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,o=l.containerSize.height,a=l.containerSize.width,r=t.ui.hasScroll(p,"left")?p.scrollWidth:a,h=t.ui.hasScroll(p)?p.scrollHeight:o,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(e){var i,s,n,o,a=t(this).data("ui-resizable"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio),a.position.top=a._helper?h.top:0),a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top,i=Math.abs((a._helper?a.offset.left-u.left:a.offset.left-u.left)+a.sizeDiff.width),s=Math.abs((a._helper?a.offset.top-u.top:a.offset.top-h.top)+a.sizeDiff.height),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o&&(i-=a.parentData.left),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio))},stop:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).data("ui-resizable"),i=e.options,s=function(e){t(e).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseInt(e.width(),10),height:parseInt(e.height(),10),left:parseInt(e.css("left"),10),top:parseInt(e.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):t.each(i.alsoResize,function(t){s(t)})},resize:function(e,i){var s=t(this).data("ui-resizable"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0},h=function(e,s){t(e).each(function(){var e=t(this),n=t(this).data("ui-resizable-alsoresize"),o={},a=s&&s.length?s:e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(a,function(t,e){var i=(n[e]||0)+(r[e]||0);i&&i>=0&&(o[e]=i||null)}),e.css(o)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):t.each(n.alsoResize,function(t,e){h(t,e)})},stop:function(){t(this).removeData("resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).data("ui-resizable");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).data("ui-resizable");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,a=e.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,c=Math.round((s.width-n.width)/h)*h,u=Math.round((s.height-n.height)/l)*l,d=n.width+c,p=n.height+u,f=i.maxWidth&&d>i.maxWidth,g=i.maxHeight&&p>i.maxHeight,m=i.minWidth&&i.minWidth>d,v=i.minHeight&&i.minHeight>p;i.grid=r,m&&(d+=h),v&&(p+=l),f&&(d-=h),g&&(p-=l),/^(se|s|e)$/.test(a)?(e.size.width=d,e.size.height=p):/^(ne)$/.test(a)?(e.size.width=d,e.size.height=p,e.position.top=o.top-u):/^(sw)$/.test(a)?(e.size.width=d,e.size.height=p,e.position.left=o.left-c):(e.size.width=d,e.size.height=p,e.position.top=o.top-u,e.position.left=o.left-c)}})}(jQuery),function(t){t.widget("ui.selectable",t.ui.mouse,{version:"1.10.3",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e=t(i.options.filter,i.element[0]),e.addClass("ui-selectee"),e.each(function(){var e=t(this),i=e.offset();t.data(this,"selectable-item",{element:this,$element:e,left:i.left,top:i.top,right:i.left+e.outerWidth(),bottom:i.top+e.outerHeight(),startselected:!1,selected:e.hasClass("ui-selected"),selecting:e.hasClass("ui-selecting"),unselecting:e.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=e.addClass("ui-selectee"),this._mouseInit(),this.helper=t("
")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):undefined}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||o>i.right||i.top>h||a>i.bottom):"fit"===n.tolerance&&(l=i.left>o&&r>i.right&&i.top>a&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}})}(jQuery),function(t){function e(t,e,i){return t>e&&e+i>t}function i(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))}t.widget("ui.sortable",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var t=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===t.axis||i(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_setOption:function(e,i){"disabled"===e?(this.options[e]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):t.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):undefined}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break; +this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var i="x"===this.options.axis||e(this.positionAbs.top+this.offset.click.top,t.top,t.height),s="y"===this.options.axis||e(this.positionAbs.left+this.offset.click.left,t.left,t.width),n=i&&s,o=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return n?this.floating?a&&"right"===a||"down"===o?2:1:o&&("down"===o?2:1):!1},_intersectsWithSides:function(t){var i=e(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),s=e(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),n=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return this.floating&&o?"right"===o&&s||"left"===o&&!s:n&&("down"===n&&i||"up"===n&&!i)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,s,n,o,a=[],r=[],h=this._connectWith();if(h&&e)for(i=h.length-1;i>=0;i--)for(n=t(h[i]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&r.push([t.isFunction(o.options.items)?o.options.items.call(o.element):t(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(r.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=r.length-1;i>=0;i--)r[i][0].each(function(){a.push(this)});return t(a)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]).addClass(i||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?e.currentItem.children().each(function(){t(" ",e.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_contactContainers:function(s){var n,o,a,r,h,l,c,u,d,p,f=null,g=null;for(n=this.containers.length-1;n>=0;n--)if(!t.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(f&&t.contains(this.containers[n].element[0],f.element[0]))continue;f=this.containers[n],g=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",s,this._uiHash(this)),this.containers[n].containerCache.over=0);if(f)if(1===this.containers.length)this.containers[g].containerCache.over||(this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1);else{for(a=1e4,r=null,p=f.floating||i(this.currentItem),h=p?"left":"top",l=p?"width":"height",c=this.positionAbs[h]+this.offset.click[h],o=this.items.length-1;o>=0;o--)t.contains(this.containers[g].element[0],this.items[o].item[0])&&this.items[o].item[0]!==this.currentItem[0]&&(!p||e(this.positionAbs.top+this.offset.click.top,this.items[o].top,this.items[o].height))&&(u=this.items[o].item.offset()[h],d=!1,Math.abs(u-c)>Math.abs(u+this.items[o][l]-c)&&(d=!0,u+=this.items[o][l]),a>Math.abs(u-c)&&(a=Math.abs(u-c),r=this.items[o],this.direction=d?"up":"down"));if(!r&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[g])return;r?this._rearrange(s,r,null,!0):this._rearrange(s,null,this.containers[g].element,!0),this._trigger("change",s,this._uiHash()),this.containers[g]._trigger("change",s,this._uiHash(this)),this.currentContainer=this.containers[g],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,t("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(t("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.leftthis.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)("auto"===this._storedCSS[i]||"static"===this._storedCSS[i])&&(this._storedCSS[i]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&s.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(s.push(function(t){this._trigger("remove",t,this._uiHash())}),s.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||s.push(function(t){return function(e){t._trigger("deactivate",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(function(t){return function(e){t._trigger("out",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!e){for(this._trigger("beforeStop",t,this._uiHash()),i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}if(e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!e){for(i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}})}(jQuery),function(t,e){var i="ui-effects-";t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,o){var a,r=o.re.exec(i),h=r&&o.parse(r),l=o.space||"rgba";return h?(a=s[l](h),s[c[l].cache]=a[c[l].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("

")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,a,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,h],d="array"),"string"===d?this.parse(s(n)||o._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),o=c[n],a=0===this.alpha()?l("transparent"):this,r=a[o.cache]||o.to(a._rgba),h=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],l=s[o],c=u[n.type]||{};null!==l&&(null===a?h[o]=l:(c.mod&&(l-a>c.mod/2?a+=c.mod:a-l>c.mod/2&&(a-=c.mod)),h[o]=i((l-a)*e+a,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[a]&&(this[a]=h(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[a]=d,n):l(d)},f(o,function(e,i){l.fn[e]||(l.fn[e]=function(n){var o,a=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent"!==n&&("string"!==t.type(n)||(o=s(n)))){if(n=l(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},o=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}function s(e,i){var s,n,a={};for(s in i)n=i[s],e[s]!==n&&(o[s]||(t.fx.step[s]||!isNaN(parseFloat(n)))&&(a[s]=n));return a}var n=["add","remove","toggle"],o={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(jQuery.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(e,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){var e=t(this);return{el:e,start:i(this)}}),o=function(){t.each(n,function(t,i){e[i]&&a[i+"Class"](e[i])})},o(),l=l.map(function(){return this.end=i(this.el[0]),this.diff=s(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(i){return function(s,n,o,a,r){return"boolean"==typeof n||n===e?o?t.effects.animateClass.call(this,n?{add:s}:{remove:s},o,a,r):i.apply(this,arguments):t.effects.animateClass.call(this,{toggle:s},n,o,a)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function s(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function n(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}t.extend(t.effects,{version:"1.10.3",save:function(t,e){for(var s=0;e.length>s;s++)null!==e[s]&&t.data(i+e[s],t[0].style[e[s]])},restore:function(t,s){var n,o;for(o=0;s.length>o;o++)null!==s[o]&&(n=t.data(i+s[o]),n===e&&(n=""),t.css(s[o],n))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("

").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).focus(),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).focus()),e},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function e(e){function s(){t.isFunction(o)&&o.call(n[0]),t.isFunction(e)&&e()}var n=t(this),o=i.complete,r=i.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),s()):a.call(n[0],i,s)}var i=s.apply(this,arguments),n=i.mode,o=i.queue,a=t.effects.effect[i.effect];return t.fx.off||!a?n?this[n](i.duration,i.complete):this.each(function(){i.complete&&i.complete.call(this)}):o===!1?this.each(e):this.queue(o||"fx",e)},show:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="show",this.effect.call(this,i)}}(t.fn.show),hide:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="hide",this.effect.call(this,i)}}(t.fn.hide),toggle:function(t){return function(e){if(n(e)||"boolean"==typeof e)return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="toggle",this.effect.call(this,i)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s}})}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}()}(jQuery),function(t){var e=0,i={},s={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",s.height=s.paddingTop=s.paddingBottom=s.borderTopWidth=s.borderBottomWidth="show",t.widget("ui.accordion",{version:"1.10.3",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t(),content:this.active.length?this.active.next():t()}},_createIcons:function(){var e=this.options.icons;e&&(t("").addClass("ui-accordion-header-icon ui-icon "+e.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(e.header).addClass(e.activeHeader),this.headers.addClass("ui-accordion-icons")) +},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),undefined):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),"disabled"===t&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!e),undefined)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),o.focus(),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().focus()},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var i,s=this.options,n=s.heightStyle,o=this.element.parent(),a=this.accordionId="ui-accordion-"+(this.element.attr("id")||++e);this.active=this._findActive(s.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(e){var i=t(this),s=i.attr("id"),n=i.next(),o=n.attr("id");s||(s=a+"-header-"+e,i.attr("id",s)),o||(o=a+"-panel-"+e,n.attr("id",o)),i.attr("aria-controls",o),n.attr("aria-labelledby",s)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false",tabIndex:-1}).next().attr({"aria-expanded":"false","aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true",tabIndex:0}).next().attr({"aria-expanded":"true","aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(s.event),"fill"===n?(i=o.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.headers.each(function(){i-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===n&&(i=0,this.headers.next().each(function(){i=Math.max(i,t(this).css("height","").height())}).height(i))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n[0]===s[0],a=o&&i.collapsible,r=a?t():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:a?t():n,newPanel:r};e.preventDefault(),o&&!i.collapsible||this._trigger("beforeActivate",e,l)===!1||(i.active=a?!1:this.headers.index(n),this.active=o?t():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),o||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-expanded":"false","aria-hidden":"true"}),s.prev().attr("aria-selected","false"),i.length&&s.length?s.prev().attr("tabIndex",-1):i.length&&this.headers.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr({"aria-expanded":"true","aria-hidden":"false"}).prev().attr({"aria-selected":"true",tabIndex:0})},_animate:function(t,e,n){var o,a,r,h=this,l=0,c=t.length&&(!e.length||t.index()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o?!0:a?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,undefined;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:case o.NUMPAD_ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),undefined;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),undefined):(this._searchTimeout(t),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(t),this._change(t),undefined)}}),this._initSource(),this.menu=t("
    ").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];t(e.target).closest(".ui-menu-item").length||this._delay(function(){var e=this;this.document.one("mousedown",function(s){s.target===e.element[0]||s.target===i||t.contains(i,s.target)||e.close()})})},menufocus:function(e,i){if(this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",e,{item:s})?e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=t("",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e||(e=this.element.closest(".ui-front")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[t](e),undefined):(this.search(null,e),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var e;this._superApply(arguments),this.options.disabled||this.cancelSearch||(e=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.text(e))}})}(jQuery),function(t){var e,i,s,n,o="ui-button ui-widget ui-state-default ui-corner-all",a="ui-state-hover ui-state-active ",r="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",h=function(){var e=t(this);setTimeout(function(){e.find(":ui-button").button("refresh")},1)},l=function(e){var i=e.name,s=e.form,n=t([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?t(s).find("[name='"+i+"']"):t("[name='"+i+"']",e.ownerDocument).filter(function(){return!this.form})),n};t.widget("ui.button",{version:"1.10.3",defaultElement:"").addClass(this._triggerClass).html(o?t("").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.click(function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,a,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,o,r){var h,l,c,u,d,p=this._dialogInst;return p||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=t(""),this._dialogInput.keydown(this._doKeyDown),t("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},t.data(this._dialogInput[0],a,p)),n(p.settings,o||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=r?r.length?r:[r.pageX,r.pageY]:null,this._pos||(l=document.documentElement.clientWidth,c=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+u,c/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],a,p),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,a);s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,a),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty())},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,a);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,a);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,a)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,s,o){var a,r,h,l,c=this._getInst(i);return 2===arguments.length&&"string"==typeof s?"defaults"===s?t.extend({},t.datepicker._defaults):c?"all"===s?t.extend({},c.settings):this._get(c,s):null:(a=s||{},"string"==typeof s&&(a={},a[s]=o),c&&(this._curInst===c&&this._hideDatepicker(),r=this._getDateDatepicker(i,!0),h=this._getMinMaxDate(c,"min"),l=this._getMinMaxDate(c,"max"),n(c.settings,a),null!==h&&a.dateFormat!==e&&a.minDate===e&&(c.settings.minDate=this._formatDate(c,h)),null!==l&&a.dateFormat!==e&&a.maxDate===e&&(c.settings.maxDate=this._formatDate(c,l)),"disabled"in a&&(a.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(t(i),c),this._autoSize(c),this._setDate(c,r),this._updateAlternate(c),this._updateDatepicker(c)),e)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1; +case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(i){var s,n,o=t.datepicker._getInst(i.target);return t.datepicker._get(o,"constrainInput")?(s=t.datepicker._possibleChars(t.datepicker._get(o,"dateFormat")),n=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">n||!s||s.indexOf(n)>-1):e},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var i,s,o,a,r,h,l;i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),s=t.datepicker._get(i,"beforeShow"),o=s?s.apply(e,[e,i]):{},o!==!1&&(n(i.settings,o),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),a=!1,t(e).parents().each(function(){return a|="fixed"===t(this).css("position"),!a}),r={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),r=t.datepicker._checkOffset(i,r,a),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":a?"fixed":"absolute",display:"none",left:r.left+"px",top:r.top+"px"}),i.inline||(h=t.datepicker._get(i,"showAnim"),l=t.datepicker._get(i,"duration"),i.dpDiv.zIndex(t(e).zIndex()+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[h]?i.dpDiv.show(h,t.datepicker._get(i,"showOptions"),l):i.dpDiv[h||"show"](h?l:null),t.datepicker._shouldFocusInput(i)&&i.input.focus(),t.datepicker._curInst=i))}},_updateDatepicker:function(e){this.maxRows=4,o=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e),e.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,s=this._getNumberOfMonths(e),n=s[1],a=17;e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.focus(),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,r=this._curInst;!r||e&&r!==t.data(e,a)||this._datepickerShowing&&(i=this._get(r,"showAnim"),s=this._get(r,"duration"),n=function(){t.datepicker._tidyDialog(r)},t.effects&&(t.effects.effect[i]||t.effects[i])?r.dpDiv.hide(i,t.datepicker._get(r,"showOptions"),s,n):r.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(r,"onClose"),o&&o.apply(r.input?r.input[0]:null,[r.input?r.input.val():"",r]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.focus(),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).each(function(){t(this).val(n)}))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(i,s,n){if(null==i||null==s)throw"Invalid arguments";if(s="object"==typeof s?""+s:s+"",""===s)return null;var o,a,r,h,l=0,c=(n?n.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof c?c:(new Date).getFullYear()%100+parseInt(c,10),d=(n?n.dayNamesShort:null)||this._defaults.dayNamesShort,p=(n?n.dayNames:null)||this._defaults.dayNames,f=(n?n.monthNamesShort:null)||this._defaults.monthNamesShort,g=(n?n.monthNames:null)||this._defaults.monthNames,m=-1,v=-1,_=-1,b=-1,y=!1,w=function(t){var e=i.length>o+1&&i.charAt(o+1)===t;return e&&o++,e},k=function(t){var e=w(t),i="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n=RegExp("^\\d{1,"+i+"}"),o=s.substring(l).match(n);if(!o)throw"Missing number at position "+l;return l+=o[0].length,parseInt(o[0],10)},x=function(i,n,o){var a=-1,r=t.map(w(i)?o:n,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(r,function(t,i){var n=i[1];return s.substr(l,n.length).toLowerCase()===n.toLowerCase()?(a=i[0],l+=n.length,!1):e}),-1!==a)return a+1;throw"Unknown name at position "+l},D=function(){if(s.charAt(l)!==i.charAt(o))throw"Unexpected literal at position "+l;l++};for(o=0;i.length>o;o++)if(y)"'"!==i.charAt(o)||w("'")?D():y=!1;else switch(i.charAt(o)){case"d":_=k("d");break;case"D":x("D",d,p);break;case"o":b=k("o");break;case"m":v=k("m");break;case"M":v=x("M",f,g);break;case"y":m=k("y");break;case"@":h=new Date(k("@")),m=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"!":h=new Date((k("!")-this._ticksTo1970)/1e4),m=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"'":w("'")?D():y=!0;break;default:D()}if(s.length>l&&(r=s.substr(l),!/^\s+/.test(r)))throw"Extra/unparsed characters found in date: "+r;if(-1===m?m=(new Date).getFullYear():100>m&&(m+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=m?0:-100)),b>-1)for(v=1,_=b;;){if(a=this._getDaysInMonth(m,v-1),a>=_)break;v++,_-=a}if(h=this._daylightSavingAdjust(new Date(m,v-1,_)),h.getFullYear()!==m||h.getMonth()+1!==v||h.getDate()!==_)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=h("y")?e.getFullYear():(10>e.getYear()%100?"0":"")+e.getYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,i){return t.settings[i]!==e?t.settings[i]:this._defaults[i]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":a+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}l=h.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).bind(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,v,_,b,y,w,k,x,D,C,I,P,T,M,S,z,A,H,E,N,W,O,F,R,L=new Date,j=this._daylightSavingAdjust(new Date(L.getFullYear(),L.getMonth(),L.getDate())),Y=this._get(t,"isRTL"),B=this._get(t,"showButtonPanel"),V=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),q=this._get(t,"showCurrentAtPos"),Q=this._get(t,"stepMonths"),X=1!==U[0]||1!==U[1],$=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),G=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-q,te=t.drawYear;if(0>Z&&(Z+=12,te--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=G&&G>e?G:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-Q,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?""+i+"":V?"":""+i+"",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+Q,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?""+n+"":V?"":""+n+"",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?$:j,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"",l=B?"
    "+(Y?h:"")+(this._isInRange(t,r)?"":"")+(Y?"":h)+"
    ":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),v=this._get(t,"showOtherMonths"),_=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,D=0;U[1]>D;D++){if(C=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),I=" ui-corner-all",P="",X){if(P+="
    "}for(P+="
    "+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,te,G,J,k>0||D>0,f,g)+"
    "+"",T=u?"":"",w=0;7>w;w++)M=(w+c)%7,T+="=5?" class='ui-datepicker-week-end'":"")+">"+""+p[M]+"";for(P+=T+"",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),z=(this._getFirstDayOfMonth(te,Z)-c+7)%7,A=Math.ceil((z+S)/7),H=X?this.maxRows>A?this.maxRows:A:A,this.maxRows=H,E=this._daylightSavingAdjust(new Date(te,Z,1-z)),N=0;H>N;N++){for(P+="",W=u?"":"",w=0;7>w;w++)O=m?m.apply(t.input?t.input[0]:null,[E]):[!0,""],F=E.getMonth()!==Z,R=F&&!_||!O[0]||G&&G>E||J&&E>J,W+="",E.setDate(E.getDate()+1),E=this._daylightSavingAdjust(E);P+=W+""}Z++,Z>11&&(Z=0,te++),P+="
    "+this._get(t,"weekHeader")+"
    "+this._get(t,"calculateWeek")(E)+""+(F&&!v?" ":R?""+E.getDate()+"":""+E.getDate()+"")+"
    "+(X?"
    "+(U[0]>0&&D===U[1]-1?"
    ":""):""),x+=P}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),v=this._get(t,"changeYear"),_=this._get(t,"showMonthAfterYear"),b="
    ",y="";if(o||!m)y+=""+a[e]+"";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+=""}if(_||(b+=y+(!o&&m&&v?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!v)b+=""+i+"";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),_&&(b+=(!o&&m&&v?"":" ")+y),b+="
    "},_adjustInstDate:function(t,e,i){var s=t.drawYear+("Y"===i?e:0),n=t.drawMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).mousedown(t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.10.3"}(jQuery),function(t){var e={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},i={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};t.widget("ui.dialog",{version:"1.10.3",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._destroyOverlay(),this.opener.filter(":focusable").focus().length||t(this.document[0].activeElement).blur(),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,e){var i=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return i&&!e&&this._trigger("focus",t),i},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),undefined):(this._isOpen=!0,this.opener=t(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._trigger("open"),undefined)},_focusTabbable:function(){var t=this.element.find("[autofocus]");t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).focus()},_keepFocus:function(e){function i(){var e=this.document[0].activeElement,i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("
    ").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),undefined;if(e.keyCode===t.ui.keyCode.TAB){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(n.focus(1),e.preventDefault()):(s.focus(1),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("
    ").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=t("").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(e),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title||t.html(" "),t.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=t("
    ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("
    ").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),undefined):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(e.element[0],arguments)},o={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,t("",s).button(o).appendTo(e.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),undefined)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){t(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,o){s.position=[o.position.left-i.document.scrollLeft(),o.position.top-i.document.scrollTop()],t(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(o))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size} +}var i=this,s=this.options,n=s.resizable,o=this.uiDialog.css("position"),a="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:a,start:function(s,n){t(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,o){s.height=t(this).height(),s.width=t(this).width(),t(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(o))}}).css("position",o)},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(s){var n=this,o=!1,a={};t.each(s,function(t,s){n._setOption(t,s),t in e&&(o=!0),t in i&&(a[t]=s)}),o&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",a)},_setOption:function(t,e){var i,s,n=this.uiDialog;"dialogClass"===t&&n.removeClass(this.options.dialogClass).addClass(e),"disabled"!==t&&(this._super(t,e),"appendTo"===t&&this.uiDialog.appendTo(this._appendTo()),"buttons"===t&&this._createButtons(),"closeText"===t&&this.uiDialogTitlebarClose.button({label:""+e}),"draggable"===t&&(i=n.is(":data(ui-draggable)"),i&&!e&&n.draggable("destroy"),!i&&e&&this._makeDraggable()),"position"===t&&this._position(),"resizable"===t&&(s=n.is(":data(ui-resizable)"),s&&!e&&n.resizable("destroy"),s&&"string"==typeof e&&n.resizable("option","handles",e),s||e===!1||this._makeResizable()),"title"===t&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("
    ").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=this,i=this.widgetFullName;t.ui.dialog.overlayInstances||this._delay(function(){t.ui.dialog.overlayInstances&&this.document.bind("focusin.dialog",function(s){e._allowInteraction(s)||(s.preventDefault(),t(".ui-dialog:visible:last .ui-dialog-content").data(i)._focusTabbable())})}),this.overlay=t("
    ").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),t.ui.dialog.overlayInstances++}},_destroyOverlay:function(){this.options.modal&&this.overlay&&(t.ui.dialog.overlayInstances--,t.ui.dialog.overlayInstances||this.document.unbind("focusin.dialog"),this.overlay.remove(),this.overlay=null)}}),t.ui.dialog.overlayInstances=0,t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{_position:function(){var e,i=this.options.position,s=[],n=[0,0];i?(("string"==typeof i||"object"==typeof i&&"0"in i)&&(s=i.split?i.split(" "):[i[0],i[1]],1===s.length&&(s[1]=s[0]),t.each(["left","top"],function(t,e){+s[t]===s[t]&&(n[t]=s[t],s[t]=e)}),i={my:s[0]+(0>n[0]?n[0]:"+"+n[0])+" "+s[1]+(0>n[1]?n[1]:"+"+n[1]),at:s.join(" ")}),i=t.extend({},t.ui.dialog.prototype.options.position,i)):i=t.ui.dialog.prototype.options.position,e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.position(i),e||this.uiDialog.hide()}})}(jQuery),function(t){var e=/up|down|vertical/,i=/up|left|vertical|horizontal/;t.effects.effect.blind=function(s,n){var o,a,r,h=t(this),l=["position","top","bottom","left","right","height","width"],c=t.effects.setMode(h,s.mode||"hide"),u=s.direction||"up",d=e.test(u),p=d?"height":"width",f=d?"top":"left",g=i.test(u),m={},v="show"===c;h.parent().is(".ui-effects-wrapper")?t.effects.save(h.parent(),l):t.effects.save(h,l),h.show(),o=t.effects.createWrapper(h).css({overflow:"hidden"}),a=o[p](),r=parseFloat(o.css(f))||0,m[p]=v?a:0,g||(h.css(d?"bottom":"right",0).css(d?"top":"left","auto").css({position:"absolute"}),m[f]=v?r:a+r),v&&(o.css(p,0),g||o.css(f,r+a)),o.animate(m,{duration:s.duration,easing:s.easing,queue:!1,complete:function(){"hide"===c&&h.hide(),t.effects.restore(h,l),t.effects.removeWrapper(h),n()}})}}(jQuery),function(t){t.effects.effect.bounce=function(e,i){var s,n,o,a=t(this),r=["position","top","bottom","left","right","height","width"],h=t.effects.setMode(a,e.mode||"effect"),l="hide"===h,c="show"===h,u=e.direction||"up",d=e.distance,p=e.times||5,f=2*p+(c||l?1:0),g=e.duration/f,m=e.easing,v="up"===u||"down"===u?"top":"left",_="up"===u||"left"===u,b=a.queue(),y=b.length;for((c||l)&&r.push("opacity"),t.effects.save(a,r),a.show(),t.effects.createWrapper(a),d||(d=a["top"===v?"outerHeight":"outerWidth"]()/3),c&&(o={opacity:1},o[v]=0,a.css("opacity",0).css(v,_?2*-d:2*d).animate(o,g,m)),l&&(d/=Math.pow(2,p-1)),o={},o[v]=0,s=0;p>s;s++)n={},n[v]=(_?"-=":"+=")+d,a.animate(n,g,m).animate(o,g,m),d=l?2*d:d/2;l&&(n={opacity:0},n[v]=(_?"-=":"+=")+d,a.animate(n,g,m)),a.queue(function(){l&&a.hide(),t.effects.restore(a,r),t.effects.removeWrapper(a),i()}),y>1&&b.splice.apply(b,[1,0].concat(b.splice(y,f+1))),a.dequeue()}}(jQuery),function(t){t.effects.effect.clip=function(e,i){var s,n,o,a=t(this),r=["position","top","bottom","left","right","height","width"],h=t.effects.setMode(a,e.mode||"hide"),l="show"===h,c=e.direction||"vertical",u="vertical"===c,d=u?"height":"width",p=u?"top":"left",f={};t.effects.save(a,r),a.show(),s=t.effects.createWrapper(a).css({overflow:"hidden"}),n="IMG"===a[0].tagName?s:a,o=n[d](),l&&(n.css(d,0),n.css(p,o/2)),f[d]=l?o:0,f[p]=l?0:o/2,n.animate(f,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){l||a.hide(),t.effects.restore(a,r),t.effects.removeWrapper(a),i()}})}}(jQuery),function(t){t.effects.effect.drop=function(e,i){var s,n=t(this),o=["position","top","bottom","left","right","opacity","height","width"],a=t.effects.setMode(n,e.mode||"hide"),r="show"===a,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h?"pos":"neg",u={opacity:r?1:0};t.effects.save(n,o),n.show(),t.effects.createWrapper(n),s=e.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(l,"pos"===c?-s:s),u[l]=(r?"pos"===c?"+=":"-=":"pos"===c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===a&&n.hide(),t.effects.restore(n,o),t.effects.removeWrapper(n),i()}})}}(jQuery),function(t){t.effects.effect.explode=function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),g||p.hide(),i()}var o,a,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=t.effects.setMode(p,e.mode||"hide"),g="show"===f,m=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/d),_=Math.ceil(p.outerHeight()/u),b=[];for(o=0;u>o;o++)for(h=m.top+o*_,c=o-(u-1)/2,a=0;d>a;a++)r=m.left+a*v,l=a-(d-1)/2,p.clone().appendTo("body").wrap("
    ").css({position:"absolute",visibility:"visible",left:-a*v,top:-o*_}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:_,left:r+(g?l*v:0),top:h+(g?c*_:0),opacity:g?0:1}).animate({left:r+(g?0:l*v),top:h+(g?0:c*_),opacity:g?1:0},e.duration||500,e.easing,s)}}(jQuery),function(t){t.effects.effect.fade=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}}(jQuery),function(t){t.effects.effect.fold=function(e,i){var s,n,o=t(this),a=["position","top","bottom","left","right","height","width"],r=t.effects.setMode(o,e.mode||"hide"),h="show"===r,l="hide"===r,c=e.size||15,u=/([0-9]+)%/.exec(c),d=!!e.horizFirst,p=h!==d,f=p?["width","height"]:["height","width"],g=e.duration/2,m={},v={};t.effects.save(o,a),o.show(),s=t.effects.createWrapper(o).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],u&&(c=parseInt(u[1],10)/100*n[l?0:1]),h&&s.css(d?{height:0,width:c}:{height:c,width:0}),m[f[0]]=h?n[0]:c,v[f[1]]=h?n[1]:0,s.animate(m,g,e.easing).animate(v,g,e.easing,function(){l&&o.hide(),t.effects.restore(o,a),t.effects.removeWrapper(o),i()})}}(jQuery),function(t){t.effects.effect.highlight=function(e,i){var s=t(this),n=["backgroundImage","backgroundColor","opacity"],o=t.effects.setMode(s,e.mode||"show"),a={backgroundColor:s.css("backgroundColor")};"hide"===o&&(a.opacity=0),t.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(a,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===o&&s.hide(),t.effects.restore(s,n),i()}})}}(jQuery),function(t){t.effects.effect.pulsate=function(e,i){var s,n=t(this),o=t.effects.setMode(n,e.mode||"show"),a="show"===o,r="hide"===o,h=a||"hide"===o,l=2*(e.times||5)+(h?1:0),c=e.duration/l,u=0,d=n.queue(),p=d.length;for((a||!n.is(":visible"))&&(n.css("opacity",0).show(),u=1),s=1;l>s;s++)n.animate({opacity:u},c,e.easing),u=1-u;n.animate({opacity:u},c,e.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&d.splice.apply(d,[1,0].concat(d.splice(p,l+1))),n.dequeue()}}(jQuery),function(t){t.effects.effect.puff=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"hide"),o="hide"===n,a=parseInt(e.percent,10)||150,r=a/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};t.extend(e,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:o?a:100,from:o?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(e)},t.effects.effect.scale=function(e,i){var s=t(this),n=t.extend(!0,{},e),o=t.effects.setMode(s,e.mode||"effect"),a=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"hide"===o?0:100),r=e.direction||"both",h=e.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},c={y:"horizontal"!==r?a/100:1,x:"vertical"!==r?a/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==o&&(n.origin=h||["middle","center"],n.restore=!0),n.from=e.from||("show"===o?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*c.y,width:l.width*c.x,outerHeight:l.outerHeight*c.y,outerWidth:l.outerWidth*c.x},n.fade&&("show"===o&&(n.from.opacity=0,n.to.opacity=1),"hide"===o&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},t.effects.effect.size=function(e,i){var s,n,o,a=t(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],c=["fontSize"],u=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],d=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=t.effects.setMode(a,e.mode||"effect"),f=e.restore||"effect"!==p,g=e.scale||"both",m=e.origin||["middle","center"],v=a.css("position"),_=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&a.show(),s={height:a.height(),width:a.width(),outerHeight:a.outerHeight(),outerWidth:a.outerWidth()},"toggle"===e.mode&&"show"===p?(a.from=e.to||b,a.to=e.from||s):(a.from=e.from||("show"===p?b:s),a.to=e.to||("hide"===p?b:s)),o={from:{y:a.from.height/s.height,x:a.from.width/s.width},to:{y:a.to.height/s.height,x:a.to.width/s.width}},("box"===g||"both"===g)&&(o.from.y!==o.to.y&&(_=_.concat(u),a.from=t.effects.setTransition(a,u,o.from.y,a.from),a.to=t.effects.setTransition(a,u,o.to.y,a.to)),o.from.x!==o.to.x&&(_=_.concat(d),a.from=t.effects.setTransition(a,d,o.from.x,a.from),a.to=t.effects.setTransition(a,d,o.to.x,a.to))),("content"===g||"both"===g)&&o.from.y!==o.to.y&&(_=_.concat(c).concat(l),a.from=t.effects.setTransition(a,c,o.from.y,a.from),a.to=t.effects.setTransition(a,c,o.to.y,a.to)),t.effects.save(a,_),a.show(),t.effects.createWrapper(a),a.css("overflow","hidden").css(a.from),m&&(n=t.effects.getBaseline(m,s),a.from.top=(s.outerHeight-a.outerHeight())*n.y,a.from.left=(s.outerWidth-a.outerWidth())*n.x,a.to.top=(s.outerHeight-a.to.outerHeight)*n.y,a.to.left=(s.outerWidth-a.to.outerWidth)*n.x),a.css(a.from),("content"===g||"both"===g)&&(u=u.concat(["marginTop","marginBottom"]).concat(c),d=d.concat(["marginLeft","marginRight"]),l=r.concat(u).concat(d),a.find("*[width]").each(function(){var i=t(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()};f&&t.effects.save(i,l),i.from={height:s.height*o.from.y,width:s.width*o.from.x,outerHeight:s.outerHeight*o.from.y,outerWidth:s.outerWidth*o.from.x},i.to={height:s.height*o.to.y,width:s.width*o.to.x,outerHeight:s.height*o.to.y,outerWidth:s.width*o.to.x},o.from.y!==o.to.y&&(i.from=t.effects.setTransition(i,u,o.from.y,i.from),i.to=t.effects.setTransition(i,u,o.to.y,i.to)),o.from.x!==o.to.x&&(i.from=t.effects.setTransition(i,d,o.from.x,i.from),i.to=t.effects.setTransition(i,d,o.to.x,i.to)),i.css(i.from),i.animate(i.to,e.duration,e.easing,function(){f&&t.effects.restore(i,l)})})),a.animate(a.to,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){0===a.to.opacity&&a.css("opacity",a.from.opacity),"hide"===p&&a.hide(),t.effects.restore(a,_),f||("static"===v?a.css({position:"relative",top:a.to.top,left:a.to.left}):t.each(["top","left"],function(t,e){a.css(e,function(e,i){var s=parseInt(i,10),n=t?a.to.left:a.to.top;return"auto"===i?n+"px":s+n+"px"})})),t.effects.removeWrapper(a),i()}})}}(jQuery),function(t){t.effects.effect.shake=function(e,i){var s,n=t(this),o=["position","top","bottom","left","right","height","width"],a=t.effects.setMode(n,e.mode||"effect"),r=e.direction||"left",h=e.distance||20,l=e.times||3,c=2*l+1,u=Math.round(e.duration/c),d="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},g={},m={},v=n.queue(),_=v.length;for(t.effects.save(n,o),n.show(),t.effects.createWrapper(n),f[d]=(p?"-=":"+=")+h,g[d]=(p?"+=":"-=")+2*h,m[d]=(p?"-=":"+=")+2*h,n.animate(f,u,e.easing),s=1;l>s;s++)n.animate(g,u,e.easing).animate(m,u,e.easing);n.animate(g,u,e.easing).animate(f,u/2,e.easing).queue(function(){"hide"===a&&n.hide(),t.effects.restore(n,o),t.effects.removeWrapper(n),i()}),_>1&&v.splice.apply(v,[1,0].concat(v.splice(_,c+1))),n.dequeue()}}(jQuery),function(t){t.effects.effect.slide=function(e,i){var s,n=t(this),o=["position","top","bottom","left","right","width","height"],a=t.effects.setMode(n,e.mode||"show"),r="show"===a,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u={};t.effects.save(n,o),n.show(),s=e.distance||n["top"===l?"outerHeight":"outerWidth"](!0),t.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(l,c?isNaN(s)?"-"+s:-s:s),u[l]=(r?c?"+=":"-=":c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===a&&n.hide(),t.effects.restore(n,o),t.effects.removeWrapper(n),i()}})}}(jQuery),function(t){t.effects.effect.transfer=function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("
    ").appendTo(document.body).addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),i()})}}(jQuery),function(t){t.widget("ui.menu",{version:"1.10.3",defaultElement:"
      ",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,t.proxy(function(t){this.options.disabled&&t.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(t){t.preventDefault()},"click .ui-state-disabled > a":function(t){t.preventDefault()},"click .ui-menu-item:has(a)":function(e){var i=t(e.target).closest(".ui-menu-item");!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.mouseHandled=!0,this.select(e),i.has(".ui-menu").length?this.expand(e):this.element.is(":focus")||(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){var i=t(e.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(e,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.children(".ui-menu-item").eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){t.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){t(e.target).closest(".ui-menu").length||this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var e=t(this);e.data("ui-menu-submenu-carat")&&e.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(e){function i(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,n,o,a,r,h=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:h=!1,n=this.previousFilter||"",o=String.fromCharCode(e.keyCode),a=!1,clearTimeout(this.filterTimer),o===n?a=!0:o=n+o,r=RegExp("^"+i(o),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())}),s=a&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(o=String.fromCharCode(e.keyCode),r=RegExp("^"+i(o),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())})),s.length?(this.focus(e,s),s.length>1?(this.previousFilter=o,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}h&&e.preventDefault()},_activate:function(t){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i=this.options.icons.submenu,s=this.element.find(this.options.menus);s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),s=e.prev("a"),n=t("").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",s.attr("id"))}),e=s.add(this.element),e.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),e.children(":not(.ui-menu-item)").each(function(){var e=t(this);/[^\-\u2014\u2013\s]/.test(e.text())||e.addClass("ui-widget-content ui-menu-divider")}),e.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){"icons"===t&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu),this._super(t,e)},focus:function(t,e){var i,s;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.height(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",t,{item:this.active}))},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(e),undefined)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(e),undefined)},_hasScroll:function(){return this.element.outerHeight()
    "),a=n.children()[0];return t("body").append(n),i=a.offsetWidth,n.css("overflow","scroll"),s=a.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),o=i-s},getScrollInfo:function(e){var i=e.isWindow?"":e.element.css("overflow-x"),s=e.isWindow?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widths?"left":i>0?"right":"center",vertical:0>o?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(h.horizontal="center"),d>g&&g>r(n+o)&&(h.vertical="middle"),h.important=a(r(i),r(s))>a(r(n),r(o))?"horizontal":"vertical",e.using.call(this,t,h)}),c.offset(t.extend(I,{using:l}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,o=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-o-n;e.collisionWidth>o?h>0&&0>=l?(i=t.left+h+e.collisionWidth-o-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+o-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=a(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,o=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-o-n;e.collisionHeight>o?h>0&&0>=l?(i=t.top+h+e.collisionHeight-o-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+o-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=a(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,a=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-a-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-a-o,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,a=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-a-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-a-o,t.top+p+f+g>c&&(0>s||r(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-h,t.top+p+f+g>u&&(i>0||u>r(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,o,a=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(a?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},a&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)e.style[o]=s[o];e.appendChild(r),i=a||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()}(jQuery),function(t,e){t.widget("ui.progressbar",{version:"1.10.3",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=t("
    ").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove() +},value:function(t){return t===e?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),e)},_constrainedValue:function(t){return t===e&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("
    ").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}})}(jQuery),function(t){var e=5;t.widget("ui.slider",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),o="",a=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)a.push(o);this.handles=n.add(t(a.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,i="";e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=t("
    ").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):this.range=t([])},_setupEvents:function(){var t=this.handles.add(this.range).filter("a");this._off(t),this._on(t,this._handleEvents),this._hoverable(t),this._focusable(t)},_destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,h,l,c=this,u=this.options;return u.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-c.values(e));(n>i||n===i&&(e===c._lastChangedValue||c.values(e)===u.min))&&(n=i,o=t(this),a=e)}),r=this._start(e,a),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=a,o.addClass("ui-state-active").focus(),h=o.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-o.width()/2,top:e.pageY-h.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_start:function(t,e){var i={handle:this.handles[e],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("start",t,i)},_slide:function(t,e,i){var s,n,o;this.options.values&&this.options.values.length?(s=this.values(e?0:1),2===this.options.values.length&&this.options.range===!0&&(0===e&&i>s||1===e&&s>i)&&(i=s),i!==this.values(e)&&(n=this.values(),n[e]=i,o=this._trigger("slide",t,{handle:this.handles[e],value:i,values:n}),s=this.values(e?0:1),o!==!1&&this.values(e,i,!0))):i!==this.value()&&(o=this._trigger("slide",t,{handle:this.handles[e],value:i}),o!==!1&&this.value(i))},_stop:function(t,e){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("stop",t,i)},_change:function(t,e){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._lastChangedValue=e,this._trigger("change",t,i)}},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),undefined;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;s.length>o;o+=1)s[o]=this._trimAlignValue(n[o]),this._change(null,o);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),t.Widget.prototype._setOption.apply(this,arguments),e){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,c={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),c["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](c,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?100*((s-n)/(o-n)):0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(i){var s,n,o,a,r=t(i.target).data("ui-slider-handle-index");switch(i.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,t(i.target).addClass("ui-state-active"),s=this._start(i,r),s===!1))return}switch(a=this.options.step,n=o=this.options.values&&this.options.values.length?this.values(r):this.value(),i.keyCode){case t.ui.keyCode.HOME:o=this._valueMin();break;case t.ui.keyCode.END:o=this._valueMax();break;case t.ui.keyCode.PAGE_UP:o=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.PAGE_DOWN:o=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(n===this._valueMax())return;o=this._trimAlignValue(n+a);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(n===this._valueMin())return;o=this._trimAlignValue(n-a)}this._slide(i,r,o)},click:function(t){t.preventDefault()},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),t(e.target).removeClass("ui-state-active"))}}})}(jQuery),function(t){function e(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.widget("ui.spinner",{version:"1.10.3",defaultElement:"",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e={},i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);void 0!==n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var t=this.element[0]===this.document[0].activeElement;t||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var t=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=t.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*t.height())&&t.height()>0&&t.height(t.height()),this.options.disabled&&this.disable()},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_uiSpinnerHtml:function(){return""},_buttonHtml:function(){return""+""+""+""+""},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){if("culture"===t||"numberFormat"===t){var i=this._parse(this.element.val());return this.options[t]=e,this.element.val(this._format(i)),void 0}("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(e.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(e.down)),this._super(t,e),"disabled"===t&&(e?(this.element.prop("disabled",!0),this.buttons.button("disable")):(this.element.prop("disabled",!1),this.buttons.button("enable")))},_setOptions:e(function(t){this._super(t),this._value(this.element.val())}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:e(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:e(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:e(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:e(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(e(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}})}(jQuery),function(t,e){function i(){return++n}function s(t){return t.hash.length>1&&decodeURIComponent(t.href.replace(o,""))===decodeURIComponent(location.href.replace(o,""))}var n=0,o=/#.*$/;t.widget("ui.tabs",{version:"1.10.3",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var e=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var i=this.options.active,s=this.options.collapsible,n=location.hash.substring(1);return null===i&&(n&&this.tabs.each(function(s,o){return t(o).attr("aria-controls")===n?(i=s,!1):e}),null===i&&(i=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===i||-1===i)&&(i=this.tabs.length?0:!1)),i!==!1&&(i=this.tabs.index(this.tabs.eq(i)),-1===i&&(i=s?!1:0)),!s&&i===!1&&this.anchors.length&&(i=0),i},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(i){var s=t(this.document[0].activeElement).closest("li"),n=this.tabs.index(s),o=!0;if(!this._handlePageNav(i)){switch(i.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:n++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:o=!1,n--;break;case t.ui.keyCode.END:n=this.anchors.length-1;break;case t.ui.keyCode.HOME:n=0;break;case t.ui.keyCode.SPACE:return i.preventDefault(),clearTimeout(this.activating),this._activate(n),e;case t.ui.keyCode.ENTER:return i.preventDefault(),clearTimeout(this.activating),this._activate(n===this.options.active?!1:n),e;default:return}i.preventDefault(),clearTimeout(this.activating),n=this._focusNextTab(n,o),i.ctrlKey||(s.attr("aria-selected","false"),this.tabs.eq(n).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",n)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.focus())},_handlePageNav:function(i){return i.altKey&&i.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):i.altKey&&i.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):e},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).focus(),t},_setOption:function(t,i){return"active"===t?(this._activate(i),e):"disabled"===t?(this._setupDisabled(i),e):(this._super(t,i),"collapsible"===t&&(this.element.toggleClass("ui-tabs-collapsible",i),i||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(i),"heightStyle"===t&&this._setupHeightStyle(i),e)},_tabId:function(t){return t.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=t(),this.anchors.each(function(i,n){var o,a,r,h=t(n).uniqueId().attr("id"),l=t(n).closest("li"),c=l.attr("aria-controls");s(n)?(o=n.hash,a=e.element.find(e._sanitizeSelector(o))):(r=e._tabId(l),o="#"+r,a=e.element.find(o),a.length||(a=e._createPanel(r),a.insertAfter(e.panels[i-1]||e.tablist)),a.attr("aria-live","polite")),a.length&&(e.panels=e.panels.add(a)),c&&l.data("ui-tabs-aria-controls",c),l.attr({"aria-controls":o.substring(1),"aria-labelledby":h}),a.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(e){return t("
    ").attr("id",e).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(e){t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1);for(var i,s=0;i=this.tabs[s];s++)e===!0||-1!==t.inArray(s,e)?t(i).addClass("ui-state-disabled").attr("aria-disabled","true"):t(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=e},_setupEvents:function(e){var i={click:function(t){t.preventDefault()}};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n.closest("li"),a=o[0]===s[0],r=a&&i.collapsible,h=r?t():this._getPanelForTab(o),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():o,newPanel:h};e.preventDefault(),o.hasClass("ui-state-disabled")||o.hasClass("ui-tabs-loading")||this.running||a&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(o),this.active=a?t():o,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(o),e),this._toggle(e,c))},_toggle:function(e,i){function s(){o.running=!1,o._trigger("activate",e,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),a.length&&o.options.show?o._show(a,o.options.show,s):(a.show(),s())}var o=this,a=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr({"aria-expanded":"false","aria-hidden":"true"}),i.oldTab.attr("aria-selected","false"),a.length&&r.length?i.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr({"aria-expanded":"true","aria-hidden":"false"}),i.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(t){return"string"==typeof t&&(t=this.anchors.index(this.anchors.filter("[href$='"+t+"']"))),t},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var s=this.options.disabled;s!==!1&&(i===e?s=!1:(i=this._getIndex(i),s=t.isArray(s)?t.map(s,function(t){return t!==i?t:null}):t.map(this.tabs,function(t,e){return e!==i?e:null})),this._setupDisabled(s))},disable:function(i){var s=this.options.disabled;if(s!==!0){if(i===e)s=!0;else{if(i=this._getIndex(i),-1!==t.inArray(i,s))return;s=t.isArray(s)?t.merge([i],s).sort():[i]}this._setupDisabled(s)}},load:function(e,i){e=this._getIndex(e);var n=this,o=this.tabs.eq(e),a=o.find(".ui-tabs-anchor"),r=this._getPanelForTab(o),h={tab:o,panel:r};s(a[0])||(this.xhr=t.ajax(this._ajaxSettings(a,i,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(o.addClass("ui-tabs-loading"),r.attr("aria-busy","true"),this.xhr.success(function(t){setTimeout(function(){r.html(t),n._trigger("load",i,h)},1)}).complete(function(t,e){setTimeout(function(){"abort"===e&&n.panels.stop(!1,!0),o.removeClass("ui-tabs-loading"),r.removeAttr("aria-busy"),t===n.xhr&&delete n.xhr},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href"),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}})}(jQuery),function(t){function e(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))}function i(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")}var s=0;t.widget("ui.tooltip",{version:"1.10.3",options:{content:function(){var e=t(this).attr("title")||"";return t("").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(e,i){var s=this;return"disabled"===e?(this[i?"_disable":"_enable"](),this.options[e]=i,void 0):(this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e)}),void 0)},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.is("[title]")&&e.data("ui-tooltip-title",e.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))})},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s?this._open(e,t,s):(i=s.call(t[0],function(i){t.data("ui-tooltip-open")&&n._delay(function(){e&&(e.type=o),this._open(e,t,i)})}),i&&this._open(e,t,i),void 0)},_open:function(i,s,n){function o(t){l.of=t,a.is(":hidden")||a.position(l)}var a,r,h,l=t.extend({},this.options.position); +if(n){if(a=this._find(s),a.length)return a.find(".ui-tooltip-content").html(n),void 0;s.is("[title]")&&(i&&"mouseover"===i.type?s.attr("title",""):s.removeAttr("title")),a=this._tooltip(s),e(s,a.attr("id")),a.find(".ui-tooltip-content").html(n),this.options.track&&i&&/^mouse/.test(i.type)?(this._on(this.document,{mousemove:o}),o(i)):a.position(t.extend({of:s},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){a.is(":visible")&&(o(l.of),clearInterval(h))},t.fx.interval)),this._trigger("open",i,{tooltip:a}),r={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var i=t.Event(e);i.currentTarget=s[0],this.close(i,!0)}},remove:function(){this._removeTooltip(a)}},i&&"mouseover"!==i.type||(r.mouseleave="close"),i&&"focusin"!==i.type||(r.focusout="close"),this._on(!0,s,r)}},close:function(e){var s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);this.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&n.attr("title",n.data("ui-tooltip-title")),i(n),o.stop(!0),this._hide(o,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),this.closing=!0,this._trigger("close",e,{tooltip:o}),this.closing=!1)},_tooltip:function(e){var i="ui-tooltip-"+s++,n=t("
    ").attr({id:i,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return t("
    ").addClass("ui-tooltip-content").appendTo(n),n.appendTo(this.document[0].body),this.tooltips[i]=e,n},_find:function(e){var i=e.data("ui-tooltip-id");return i?t("#"+i):t()},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0),t("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))})}})}(jQuery); \ No newline at end of file diff --git a/scripts/js/jquery.min.js b/scripts/js/jquery.min.js new file mode 100644 index 0000000..29b3a2c --- /dev/null +++ b/scripts/js/jquery.min.js @@ -0,0 +1,6 @@ +/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license +//@ sourceMappingURL=jquery.min.map +*/ +(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="
    ",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="
    ","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
    a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="
    t
    ",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
    ",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t +}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:x.support.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); +u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("