Searched refs:alloc (Results 1 - 25 of 94) sorted by relevance

1234

/frameworks/rs/support/jni/
H A Dandroid_rscompat_usage_io_driver.cpp15 static bool IoGetBuffer(const Context *rsc, Allocation *alloc, ANativeWindow *nw) { argument
16 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
28 alloc->mHal.drvState.lod[0].mallocPtr = dst;
29 alloc->mHal.drvState.lod[0].stride = drv->wndBuffer->stride * alloc->mHal.state.elementSizeBytes;
35 Allocation *alloc = (Allocation *)allocR; local
36 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
49 r = ANativeWindow_setBuffersGeometry(nw, alloc->mHal.drvState.lod[0].dimX,
50 alloc->mHal.drvState.lod[0].dimY,
57 IoGetBuffer(rsc, alloc, n
71 rscAllocationDestroy(const Context *rsc, Allocation *alloc) argument
96 rscAllocationIoSend(const Context *rsc, Allocation *alloc) argument
[all...]
H A Dandroid_rscompat_usage_io.cpp9 extern "C" void AllocationSetSurface(JNIEnv *_env, jobject _this, RsContext con, RsAllocation alloc, jobject sur, dispatchTable dispatchTab) argument
11 LOG_API("nAllocationSetSurface, con(%p), alloc(%p), surface(%p)",
12 con, alloc, sur);
18 dispatchTab.AllocationSetSurface(con, alloc, s);
/frameworks/rs/driver/
H A DrsdAllocation.cpp86 uint8_t *GetOffsetPtr(const android::renderscript::Allocation *alloc, argument
89 uint8_t *ptr = (uint8_t *)alloc->mHal.drvState.lod[lod].mallocPtr;
90 ptr += face * alloc->mHal.drvState.faceOffset;
91 ptr += zoff * alloc->mHal.drvState.lod[lod].dimY * alloc->mHal.drvState.lod[lod].stride;
92 ptr += yoff * alloc->mHal.drvState.lod[lod].stride;
93 ptr += xoff * alloc->mHal.state.elementSizeBytes;
98 static void Update2DTexture(const Context *rsc, const Allocation *alloc, const void *ptr, argument
102 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
108 if (alloc
117 Upload2DTexture(const Context *rsc, const Allocation *alloc, bool isFirstUpload) argument
159 UploadToTexture(const Context *rsc, const Allocation *alloc) argument
197 AllocateRenderTarget(const Context *rsc, const Allocation *alloc) argument
222 UploadToBufferObject(const Context *rsc, const Allocation *alloc) argument
298 AllocationBuildPointerTable(const Context *rsc, const Allocation *alloc, const Type *type, uint8_t *ptr, size_t requiredAlignment) argument
354 AllocationBuildPointerTable(const Context *rsc, const Allocation *alloc, const Type *type, uint8_t *ptr) argument
371 rsdAllocationInitStrided(const Context *rsc, Allocation *alloc, bool forceZero, size_t requiredAlignment) argument
494 rsdAllocationInit(const Context *rsc, Allocation *alloc, bool forceZero) argument
498 rsdAllocationAdapterOffset(const Context *rsc, const Allocation *alloc) argument
521 rsdAllocationAdapterInit(const Context *rsc, Allocation *alloc) argument
534 rsdAllocationDestroy(const Context *rsc, Allocation *alloc) argument
593 rsdAllocationResize(const Context *rsc, const Allocation *alloc, const Type *newType, bool zeroNew) argument
621 rsdAllocationSyncFromFBO(const Context *rsc, const Allocation *alloc) argument
655 rsdAllocationSyncAll(const Context *rsc, const Allocation *alloc, RsAllocationUsageType src) argument
700 rsdAllocationMarkDirty(const Context *rsc, const Allocation *alloc) argument
706 IoGetBuffer(const Context *rsc, Allocation *alloc, ANativeWindow *nw) argument
733 rsdAllocationSetSurface(const Context *rsc, Allocation *alloc, ANativeWindow *nw) argument
775 rsdAllocationIoSend(const Context *rsc, Allocation *alloc) argument
811 rsdAllocationIoReceive(const Context *rsc, Allocation *alloc) argument
818 rsdAllocationData1D(const Context *rsc, const Allocation *alloc, uint32_t xoff, uint32_t lod, size_t count, const void *data, size_t sizeBytes) argument
838 rsdAllocationData2D(const Context *rsc, const Allocation *alloc, uint32_t xoff, uint32_t yoff, uint32_t lod, RsAllocationCubemapFace face, uint32_t w, uint32_t h, const void *data, size_t sizeBytes, size_t stride) argument
900 rsdAllocationData3D(const Context *rsc, const Allocation *alloc, uint32_t xoff, uint32_t yoff, uint32_t zoff, uint32_t lod, uint32_t w, uint32_t h, uint32_t d, const void *data, size_t sizeBytes, size_t stride) argument
939 rsdAllocationRead1D(const Context *rsc, const Allocation *alloc, uint32_t xoff, uint32_t lod, size_t count, void *data, size_t sizeBytes) argument
951 rsdAllocationRead2D(const Context *rsc, const Allocation *alloc, uint32_t xoff, uint32_t yoff, uint32_t lod, RsAllocationCubemapFace face, uint32_t w, uint32_t h, void *data, size_t sizeBytes, size_t stride) argument
980 rsdAllocationRead3D(const Context *rsc, const Allocation *alloc, uint32_t xoff, uint32_t yoff, uint32_t zoff, uint32_t lod, uint32_t w, uint32_t h, uint32_t d, void *data, size_t sizeBytes, size_t stride) argument
1010 rsdAllocationLock1D(const android::renderscript::Context *rsc, const android::renderscript::Allocation *alloc) argument
1015 rsdAllocationUnlock1D(const android::renderscript::Context *rsc, const android::renderscript::Allocation *alloc) argument
1102 rsdAllocationElementData(const Context *rsc, const Allocation *alloc, uint32_t x, uint32_t y, uint32_t z, const void *data, uint32_t cIdx, size_t sizeBytes) argument
1121 rsdAllocationElementRead(const Context *rsc, const Allocation *alloc, uint32_t x, uint32_t y, uint32_t z, void *data, uint32_t cIdx, size_t sizeBytes) argument
1134 mip565(const Allocation *alloc, int lod, RsAllocationCubemapFace face) argument
1152 mip8888(const Allocation *alloc, int lod, RsAllocationCubemapFace face) argument
1170 mip8(const Allocation *alloc, int lod, RsAllocationCubemapFace face) argument
1188 rsdAllocationGenerateMipmaps(const Context *rsc, const Allocation *alloc) argument
1210 rsdAllocationGrallocBits(const android::renderscript::Context *rsc, android::renderscript::Allocation *alloc) argument
1216 rsdAllocationUpdateCachedObject(const Context *rsc, const Allocation *alloc, rs_allocation *obj) argument
[all...]
H A DrsdAllocation.h81 android::renderscript::Allocation *alloc);
83 android::renderscript::Allocation *alloc,
87 android::renderscript::Allocation *alloc,
91 android::renderscript::Allocation *alloc);
93 android::renderscript::Allocation *alloc);
96 const android::renderscript::Allocation *alloc,
99 const android::renderscript::Allocation *alloc,
102 const android::renderscript::Allocation *alloc);
104 android::renderscript::Allocation *alloc, ANativeWindow *nw);
106 android::renderscript::Allocation *alloc);
[all...]
H A DrsdSampler.cpp45 const Sampler *alloc,
48 obj->p = alloc;
44 rsdSamplerUpdateCachedObject(const Context *rsc, const Sampler *alloc, rs_sampler *obj) argument
/frameworks/rs/rsov/driver/
H A DrsovAllocation.cpp82 size_t AllocationBuildPointerTable(const Context *rsc, const Allocation *alloc, argument
85 alloc->mHal.drvState.lod[0].dimX = type->getDimX();
86 alloc->mHal.drvState.lod[0].dimY = type->getDimY();
87 alloc->mHal.drvState.lod[0].dimZ = type->getDimZ();
88 alloc->mHal.drvState.lod[0].mallocPtr = 0;
91 alloc->mHal.drvState.lod[0].dimX * type->getElementSizeBytes();
92 alloc->mHal.drvState.lod[0].stride = rsRound(stride, requiredAlignment);
93 alloc->mHal.drvState.lodCount = type->getLODCount();
94 alloc->mHal.drvState.faceCount = type->getDimFaces();
99 size_t o = alloc
141 AllocationBuildPointerTable(const Context *rsc, const Allocation *alloc, const Type *type, uint8_t *ptr) argument
147 GetOffsetPtr(const Allocation *alloc, uint32_t xoff, uint32_t yoff, uint32_t zoff, uint32_t lod, RsAllocationCubemapFace face) argument
159 mip565(const Allocation *alloc, int lod, RsAllocationCubemapFace face) argument
179 mip8888(const Allocation *alloc, int lod, RsAllocationCubemapFace face) argument
199 mip8(const Allocation *alloc, int lod, RsAllocationCubemapFace face) argument
299 rsovAllocationInit(const Context *rsc, Allocation *alloc, bool forceZero) argument
313 rsovAllocationDestroy(const Context *rsc, Allocation *alloc) argument
319 rsovAllocationData1D(const Context *rsc, const Allocation *alloc, uint32_t xoff, uint32_t lod, size_t count, const void *data, size_t sizeBytes) argument
337 rsovAllocationData2D(const Context *rsc, const Allocation *alloc, uint32_t xoff, uint32_t yoff, uint32_t lod, RsAllocationCubemapFace face, uint32_t w, uint32_t h, const void *data, size_t sizeBytes, size_t stride) argument
389 rsovAllocationData3D(const Context *rsc, const Allocation *alloc, uint32_t xoff, uint32_t yoff, uint32_t zoff, uint32_t lod, uint32_t w, uint32_t h, uint32_t d, const void *data, size_t sizeBytes, size_t stride) argument
417 rsovAllocationRead1D(const Context *rsc, const Allocation *alloc, uint32_t xoff, uint32_t lod, size_t count, void *data, size_t sizeBytes) argument
430 rsovAllocationRead2D(const Context *rsc, const Allocation *alloc, uint32_t xoff, uint32_t yoff, uint32_t lod, RsAllocationCubemapFace face, uint32_t w, uint32_t h, void *data, size_t sizeBytes, size_t stride) argument
459 rsovAllocationRead3D(const Context *rsc, const Allocation *alloc, uint32_t xoff, uint32_t yoff, uint32_t zoff, uint32_t lod, uint32_t w, uint32_t h, uint32_t d, void *data, size_t sizeBytes, size_t stride) argument
489 rsovAllocationLock1D(const Context *rsc, const Allocation *alloc) argument
493 rsovAllocationUnlock1D(const Context *rsc, const Allocation *alloc) argument
568 rsovAllocationAdapterOffset(const Context *rsc, const Allocation *alloc) argument
587 rsovAllocationAdapterInit(const Context *rsc, Allocation *alloc) argument
603 rsovAllocationSyncAll(const Context *rsc, const Allocation *alloc, RsAllocationUsageType src) argument
608 rsovAllocationMarkDirty(const Context *rsc, const Allocation *alloc) argument
612 rsovAllocationResize(const Context *rsc, const Allocation *alloc, const Type *newType, bool zeroNew) argument
619 rsovAllocationGenerateMipmaps(const Context *rsc, const Allocation *alloc) argument
642 rsovAllocationGrallocBits(const Context *rsc, Allocation *alloc) argument
646 rsovAllocationUpdateCachedObject(const Context *rsc, const Allocation *alloc, rs_allocation *obj) argument
657 rsovAllocationSetSurface(const Context *rsc, Allocation *alloc, ANativeWindow *nw) argument
662 rsovAllocationIoSend(const Context *rsc, Allocation *alloc) argument
666 rsovAllocationIoReceive(const Context *rsc, Allocation *alloc) argument
670 rsovAllocationElementData(const Context *rsc, const Allocation *alloc, uint32_t x, uint32_t y, uint32_t z, const void *data, uint32_t cIdx, size_t sizeBytes) argument
688 rsovAllocationElementRead(const Context *rsc, const Allocation *alloc, uint32_t x, uint32_t y, uint32_t z, void *data, uint32_t cIdx, size_t sizeBytes) argument
[all...]
H A DrsovSampler.cpp29 void rsovSamplerUpdateCachedObject(const Context *rsc, const Sampler *alloc, argument
31 obj->p = alloc;
H A DrsovAllocation.h82 android::renderscript::Allocation *alloc,
86 android::renderscript::Allocation *alloc);
89 const android::renderscript::Allocation *alloc,
94 const android::renderscript::Allocation *alloc,
101 const android::renderscript::Allocation *alloc,
108 const android::renderscript::Allocation *alloc,
113 const android::renderscript::Allocation *alloc,
120 const android::renderscript::Allocation *alloc,
128 const android::renderscript::Allocation *alloc);
132 const android::renderscript::Allocation *alloc);
[all...]
/frameworks/rs/tests/java_api/RSUnitTests/src/com/android/rs/unittest/
H A DUT_fp16.java30 private Allocation alloc; field in class:UT_fp16
50 alloc = Allocation.createTyped(RS, type);
55 s.set_gAlloc(alloc);
62 s.forEach_set_kernel_half(alloc);
66 alloc.destroy();
72 s.forEach_verify_kernel_half(alloc);
75 alloc.destroy();
83 s.forEach_set_kernel_half2(alloc);
87 alloc.destroy();
93 s.forEach_verify_kernel_half2(alloc);
[all...]
H A DUT_alloc_copyPadded.java94 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
95 alloc.setAutoPadding(true);
96 alloc.copyFrom(inArray);
97 alloc.copyTo(outArray);
126 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
127 alloc.setAutoPadding(true);
128 alloc.copyFrom(inArray);
129 alloc.copyTo(outArray);
159 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
160 alloc
[all...]
H A DUT_alloc_copy.java70 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
73 alloc.copy1DRangeFrom(offset, count, inArray);
74 alloc.copy1DRangeTo(offset, count, outArray);
112 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
115 alloc.copy1DRangeFrom(offset, count, inArray);
116 alloc.copy1DRangeTo(offset, count, outArray);
154 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
157 alloc.copy1DRangeFrom(offset, count, inArray);
158 alloc.copy1DRangeTo(offset, count, outArray);
196 Allocation alloc
[all...]
/frameworks/rs/tests/java_api/RSTest_CompatLibLegacy/src/com/android/rs/test/
H A DUT_alloc_copyPadded.java93 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
94 alloc.setAutoPadding(true);
95 alloc.copyFrom(inArray);
96 alloc.copyTo(outArray);
125 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
126 alloc.setAutoPadding(true);
127 alloc.copyFrom(inArray);
128 alloc.copyTo(outArray);
158 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
159 alloc
[all...]
H A DUT_apitest.java46 Allocation alloc = Allocation.createTyped(pRS, type);
51 s.set_allocNonNull(alloc);
55 s.bind_allocPtr(alloc);
H A DUT_alloc_copy.java68 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
71 alloc.copy1DRangeFrom(offset, count, inArray);
72 alloc.copy1DRangeTo(offset, count, outArray);
110 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
113 alloc.copy1DRangeFrom(offset, count, inArray);
114 alloc.copy1DRangeTo(offset, count, outArray);
152 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
155 alloc.copy1DRangeFrom(offset, count, inArray);
156 alloc.copy1DRangeTo(offset, count, outArray);
194 Allocation alloc
[all...]
/frameworks/rs/tests/java_api/RSUnitTests/supportlibsrc_gen/com/android/rs/unittest/
H A DUT_alloc_copyPadded.java96 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
97 alloc.setAutoPadding(true);
98 alloc.copyFrom(inArray);
99 alloc.copyTo(outArray);
128 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
129 alloc.setAutoPadding(true);
130 alloc.copyFrom(inArray);
131 alloc.copyTo(outArray);
161 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
162 alloc
[all...]
H A DUT_apitest.java49 Allocation alloc = Allocation.createTyped(pRS, type);
54 s.set_allocNonNull(alloc);
58 s.bind_allocPtr(alloc);
H A DUT_alloc_copy.java72 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
75 alloc.copy1DRangeFrom(offset, count, inArray);
76 alloc.copy1DRangeTo(offset, count, outArray);
114 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
117 alloc.copy1DRangeFrom(offset, count, inArray);
118 alloc.copy1DRangeTo(offset, count, outArray);
156 Allocation alloc = Allocation.createTyped(mRS, typeBuilder.create());
159 alloc.copy1DRangeFrom(offset, count, inArray);
160 alloc.copy1DRangeTo(offset, count, outArray);
198 Allocation alloc
[all...]
/frameworks/rs/tests/lldb/java/Reduction/src/com/android/rs/lldbreductiontest/
H A DMainActivity.java66 RenderScript rs, ScriptC_reduce_auto_comb s, Allocation alloc) {
71 return s.reduce_find_min_user_type_auto_comb(alloc).get();
74 private float findMinUserType(RenderScript rs, ScriptC_reduce s, Allocation alloc) { argument
79 return s.reduce_find_min_user_type(alloc).get();
91 Allocation alloc = minUserType.getAllocation();
93 return findMinUserTypeAutoComb(rs, s, alloc);
105 Allocation alloc = minUserType.getAllocation();
107 return findMinUserType(rs, s, alloc);
65 findMinUserTypeAutoComb( RenderScript rs, ScriptC_reduce_auto_comb s, Allocation alloc) argument
H A Dreduce_common.rsh32 static void find_min_user_type_init(user_t *alloc) {
33 alloc->a = a_startval;
34 alloc->b = b_startval;
/frameworks/rs/driver/runtime/
H A Drs_allocation.c7 Allocation_t *alloc = (Allocation_t *)a.p; local
8 return alloc->mHal.drvState.lod[0].dimX;
13 Allocation_t *alloc = (Allocation_t *)a.p; local
14 return alloc->mHal.drvState.lod[0].dimY;
19 Allocation_t *alloc = (Allocation_t *)a.p; local
20 return alloc->mHal.drvState.lod[0].dimZ;
25 Allocation_t *alloc = (Allocation_t *)a.p; local
26 return alloc->mHal.state.hasMipmaps;
31 Allocation_t *alloc = (Allocation_t *)a.p; local
32 return alloc
38 Allocation_t *alloc = (Allocation_t *)a.p; local
67 Allocation_t *alloc = (Allocation_t *)a.p; local
78 Allocation_t *alloc = (Allocation_t *)a.p; local
193 Allocation_t *alloc = (Allocation_t *)a.p; local
201 Allocation_t *alloc = (Allocation_t *)a.p; local
210 Allocation_t *alloc = (Allocation_t *)a.p; local
219 Allocation_t *alloc = (Allocation_t *)a.p; local
227 Allocation_t *alloc = (Allocation_t *)a.p; local
236 Allocation_t *alloc = (Allocation_t *)a.p; local
318 Allocation_t *alloc = (Allocation_t *)a.p; local
332 Allocation_t *alloc = (Allocation_t *)a.p; local
[all...]
H A Drs_sample.c268 getBilinearSample1D(const Allocation_t *alloc, float2 weights, argument
272 const uint8_t *p = (const uint8_t *)alloc->mHal.drvState.lod[lod].mallocPtr;
318 getBilinearSample2D(const Allocation_t *alloc, float w0, float w1, float w2, float w3, argument
322 const uint8_t *p = (const uint8_t *)alloc->mHal.drvState.lod[lod].mallocPtr;
323 size_t stride = alloc->mHal.drvState.lod[lod].stride;
348 getNearestSample(const Allocation_t *alloc, uint32_t iPixel, rs_data_kind dk, argument
351 const uint8_t *p = (const uint8_t *)alloc->mHal.drvState.lod[lod].mallocPtr;
385 getNearestSample(const Allocation_t *alloc, uint2 iPixel, rs_data_kind dk, argument
388 const uint8_t *p = (const uint8_t *)alloc->mHal.drvState.lod[lod].mallocPtr;
389 size_t stride = alloc
421 sample_LOD_LinearPixel(const Allocation_t *alloc, rs_data_kind dk, rs_data_type dt, rs_sampler_value wrapS, float uv, uint32_t lod) argument
451 sample_LOD_NearestPixel(const Allocation_t *alloc, rs_data_kind dk, rs_data_type dt, rs_sampler_value wrapS, float uv, uint32_t lod) argument
464 sample_LOD_LinearPixel(const Allocation_t *alloc, rs_data_kind dk, rs_data_type dt, rs_sampler_value wrapS, rs_sampler_value wrapT, float2 uv, uint32_t lod) argument
510 sample_LOD_NearestPixel(const Allocation_t *alloc, rs_data_kind dk, rs_data_type dt, rs_sampler_value wrapS, rs_sampler_value wrapT, float2 uv, uint32_t lod) argument
532 const Allocation_t *alloc = (const Allocation_t *)a.p; local
584 const Allocation_t *alloc = (const Allocation_t *)a.p; local
631 const Allocation_t *alloc = (const Allocation_t *)a.p; local
[all...]
/frameworks/rs/cpu_ref/
H A DrsCpuIntrinsicYuvToRGB.cpp44 ObjectBaseRef<Allocation> alloc; member in class:android::renderscript::RsdCpuScriptIntrinsicYuvToRGB
54 alloc.set(static_cast<Allocation *>(data));
102 if (!cp->alloc.get()) {
106 const uchar *pinY = (const uchar *)cp->alloc->mHal.drvState.lod[0].mallocPtr;
112 size_t strideY = cp->alloc->mHal.drvState.lod[0].stride;
115 if (cp->alloc->mHal.drvState.lod[0].dimY == 0) {
124 size_t cstep = cp->alloc->mHal.drvState.yuv.step;
126 const uchar *pinU = (const uchar *)cp->alloc->mHal.drvState.lod[1].mallocPtr;
127 const size_t strideU = cp->alloc->mHal.drvState.lod[1].stride;
130 const uchar *pinV = (const uchar *)cp->alloc
[all...]
/frameworks/ml/nn/driver/cache/nnCache/
H A DnnCache.h70 void** value, std::function<void*(size_t)> alloc);
73 T** value, std::function<void*(size_t)> alloc) {
75 const ssize_t size = getBlob(key, keySize, &valueVoid, alloc);
72 getBlob(const void* key, size_t keySize, T** value, std::function<void*(size_t)> alloc) argument
/frameworks/rs/tests/java_api/RSUnitTests/supportlibonlysrc/com/android/rs/unittest/
H A DUT_apitest.java47 Allocation alloc = Allocation.createTyped(pRS, type);
52 s.set_allocNonNull(alloc);
56 s.bind_allocPtr(alloc);
/frameworks/rs/
H A Drs_hal.h221 bool (*init)(const Context *rsc, Allocation *alloc, bool forceZero);
222 bool (*initOem)(const Context *rsc, Allocation *alloc, bool forceZero, void *usrPtr);
223 bool (*initAdapter)(const Context *rsc, Allocation *alloc);
224 void (*destroy)(const Context *rsc, Allocation *alloc);
225 uint32_t (*grallocBits)(const Context *rsc, Allocation *alloc);
227 void (*resize)(const Context *rsc, const Allocation *alloc, const Type *newType,
229 void (*syncAll)(const Context *rsc, const Allocation *alloc, RsAllocationUsageType src);
230 void (*markDirty)(const Context *rsc, const Allocation *alloc);
232 void (*setSurface)(const Context *rsc, Allocation *alloc, ANativeWindow *sur);
233 void (*ioSend)(const Context *rsc, Allocation *alloc);
[all...]

Completed in 488 milliseconds

1234