Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix a gesture failure problem on iOS #6145

Closed
wants to merge 2 commits into from
Closed

Fix a gesture failure problem on iOS #6145

wants to merge 2 commits into from

Conversation

kangwang1988
Copy link
Contributor

Previously, our team met a gesture failure problem in our ItemDetail page. The scenario is like below:
img_4754

i.e., we have a scrollable listview(VerticalDragGestureRecognizer actully) which contains a lot of items. Some items are pure text for display, some items are images which is wrapped in a GestureDetector(TapGestureRecognizer actully) so that a single tap could allow the app open a full-screen image.

However, in some abnormal operations,especially when user touch the screen with multiple fingers. For example, when I touch the screen with two fingers, if I touch one image with two fingers in the same image multiple times, the image will not be clickable.
I reproduced the problem and found that that's because that TapGestureRecognizer's state is "GestureRecognizerState.possible" when a new touchevent comes after some idle time, as below:
screen shot 2018-09-03 at 6 13 21 pm
So this event will be ignored and the tap will not work.

In some operations with two fingers, like one on the listview(text section) while another one on the Image multiple times, the list will not scroll smoothly.

I also reproduces the problem and found that that's because the VerticalDragGestureRecognizer's trackedPointers will be never be empty again, so the didStopTrackingLastPointer will be not called and it's state will be always _DragState.accepted.
screen shot 2018-09-03 at 6 21 15 pm

The list stuck like below(no bounce-back effect):
img_0006

When this happens, the image will also be not clickable because of the corresponding RenderIgnorePointer has a true value for ignoring, as below:
screen shot 2018-09-03 at 8 08 49 pm

I dug more and found this is a platform-specific problem, i.e., it happens only for iOS.
Currently, gestures in flutter track every UITouch in iOS side. For certain flutter gesture, named FG, it tracks any UITouche (UT) in FG's area. Normally, for UT, there are several states, BEGIN(touchesBegan), UPDATE(touchesMoved), FINISH(touchesEnded/touchesCancelled). When the BEGIN and FINISH are called in pair for UT, the flutter gesture works fine. However, when faced with some unusual operations as mentioned above, I found several typical cases as shown below(for one UITouch object, or UT):
A. touchesBegan called -> touchesBegan called -> touchesEnded called
B. touchesBegan called -> touchesEnded called -> touchesBegan called
C. touchesBegan called

That's to say, in some unusual operations, the logic behind flutter gesture in iOS will not work properly.
I add some track and check code based on a timeout logic in my patch to fix this problem, it works fine for us and those problems mentioned above disappear.

…d/Cancelled can't always be called in paris".
@googlebot
Copy link

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

1 similar comment
@googlebot
Copy link

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

@kangwang1988 kangwang1988 changed the title Fix a gesture failure problem cause by that "touchesBegan&touchesEnde… Fix a gesture failure problem on iOS Sep 3, 2018
@chinmaygarde chinmaygarde self-requested a review September 5, 2018 17:49
@Hixie
Copy link
Contributor

Hixie commented Sep 5, 2018

I don't fully follow the issue that you are describing. Can you elaborate on what iOS is sending us and how we are misinterpreting it?

@kangwang1988
Copy link
Contributor Author

@Hixie
I've reproduced the problem using a demo project available at:
https://github.com/FlutterRepo/tap_demo

In this demo, a listview contains severals images which is clickable and could open a new native Page(ViewController for iOS and Activity for android) on click.
The problem only occurs in iOS and I think it could be resulted from the hybrid scenario(push a Native ViewController when clicked).

My flutter environment is as below:

KyleWongdeMacBook-Pro:tap_demo kylewong$ /Users/kylewong/Codes/Flutter/official/flutter/bin/flutter doctor -v
[✓] Flutter (Channel unknown, v0.8.2, on Mac OS X 10.14 18A384a, locale en-CN)
• Flutter version 0.8.2 at /Users/kylewong/Codes/Flutter/official/flutter
• Framework revision 5ab9e70 (5 days ago), 2018-09-07 12:33:05 -0700
• Engine revision 58a1894
• Dart version 2.1.0-dev.3.1.flutter-760a9690c2

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.2)
• Android SDK at /Users/kylewong/Library/Android/sdk
• Android NDK at /Users/kylewong/Library/Android/sdk/ndk-bundle
• Platform android-28, build-tools 28.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
• All Android licenses accepted.

[!] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 9.4.1, Build version 9F2000
• ios-deploy 1.9.2
! CocoaPods out of date (1.5.0 is recommended).
CocoaPods is used to retrieve the iOS platform side's plugin code that responds to your plugin usage on the Dart side.
Without resolving iOS dependencies with CocoaPods, plugins will not work on iOS.
For more info, see https://flutter.io/platform-plugins
To upgrade:
brew upgrade cocoapods
pod setup

[✓] Android Studio (version 3.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 27.1.1
• Dart plugin version 173.4700
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[!] VS Code (version 1.25.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected devices (2 available)
• Nexus 5X • 00d25786e6b71602 • android-arm64 • Android 8.1.0 (API 27)
• KyleWong’s iPhone • xxxxx • ios • iOS 11.4.1

! Doctor found issues in 2 categories.

I add some log calls(FlutterViewContoller and gesture/convert.dart) as below:
log for fluttervc

log for converter

@kangwang1988
Copy link
Contributor Author

kangwang1988 commented Sep 12, 2018

I reproduced three problematic cases as below:

Case 1:
case1

In this case, _trackPointers will always hold 3 and the state will never be restored to ready. Henceforth, the TapGestureRecognizer will fails.

2018-09-12 16:07:35.980075+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x110200de0> phase: Began tap count: 1 force: 0.000 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {266.33332824707031, 414.66665649414062} previous location in window: {266.33332824707031, 414.66665649414062} location in view: {266.33332824707031, 414.66665649414062} previous location in view: {266.33332824707031, 414.66665649414062} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 16:07:36.003666+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x110200de0> phase: Moved tap count: 1 force: 0.017 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {266.33332824707031, 414.66665649414062} previous location in window: {266.33332824707031, 414.66665649414062} location in view: {266.33332824707031, 414.66665649414062} previous location in view: {266.33332824707031, 414.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:36.010314+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x110200de0> phase: Moved tap count: 1 force: 0.033 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {266.33332824707031, 414.66665649414062} previous location in window: {266.33332824707031, 414.66665649414062} location in view: {266.33332824707031, 414.66665649414062} previous location in view: {266.33332824707031, 414.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:36.011111+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 1, down: true, lastPosition: Offset(266.3, 414.7))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(266.3, 414.7))}
2018-09-12 16:07:36.028433+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x110200de0> phase: Ended tap count: 1 force: 0.033 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {266.33332824707031, 414.66665649414062} previous location in window: {266.33332824707031, 414.66665649414062} location in view: {266.33332824707031, 414.66665649414062} previous location in view: {266.33332824707031, 414.66665649414062} 
 Phase:UITouchPhaseEnded 
 device_id:1
2018-09-12 16:07:36.032410+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 1, down: true, lastPosition: Offset(266.3, 414.7))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(266.3, 414.7))}
2018-09-12 16:07:36.034094+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 1, down: true, lastPosition: Offset(266.3, 414.7))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(266.3, 414.7))}
2018-09-12 16:07:36.034913+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:1 state:_PointerState(pointer: 1, down: true, lastPosition: Offset(266.3, 414.7))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(266.3, 414.7))}
2018-09-12 16:07:50.039354+0800 Runner[1376:338344] [VERBOSE-2:isolate_configuration.cc(21)] Isolate was in incorrect phase to be prepared for running.
2018-09-12 16:07:50.039488+0800 Runner[1376:338344] [VERBOSE-2:engine.cc(158)] Could not prepare to run the isolate.
2018-09-12 16:07:50.039856+0800 Runner[1376:338344] [VERBOSE-2:engine.cc(117)] Engine not prepare and launch isolate.
2018-09-12 16:07:50.039976+0800 Runner[1376:338344] [VERBOSE-2:FlutterViewController.mm(437)] Could not launch engine with configuration.
2018-09-12 16:07:50.576576+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10bb00ca0> phase: Began tap count: 1 force: 0.450 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {247, 408.33332824707031} previous location in window: {247, 408.33332824707031} location in view: {247, 408.33332824707031} previous location in view: {247, 408.33332824707031} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 16:07:50.577680+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10bb019d0> phase: Began tap count: 1 force: 0.167 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {84.333328247070312, 422.66665649414062} previous location in window: {84.333328247070312, 422.66665649414062} location in view: {84.333328247070312, 422.66665649414062} previous location in view: {84.333328247070312, 422.66665649414062} 
 Phase:UITouchPhaseBegan 
 device_id:2
2018-09-12 16:07:50.589325+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3))
 pointers:{1: _PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3))}
2018-09-12 16:07:50.592991+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.down
 device_id:2 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))
 pointers:{1: _PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))}
2018-09-12 16:07:50.595333+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10bb00ca0> phase: Moved tap count: 1 force: 0.467 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {247, 408.33332824707031} previous location in window: {247, 408.33332824707031} location in view: {247, 408.33332824707031} previous location in view: {247, 408.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:50.595727+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10bb019d0> phase: Moved tap count: 1 force: 0.283 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {84.333328247070312, 422.66665649414062} previous location in window: {84.333328247070312, 422.66665649414062} location in view: {84.333328247070312, 422.66665649414062} previous location in view: {84.333328247070312, 422.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:2
2018-09-12 16:07:50.596932+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10bb00ca0> phase: Moved tap count: 1 force: 0.567 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {247, 408.33332824707031} previous location in window: {247, 408.33332824707031} location in view: {247, 408.33332824707031} previous location in view: {247, 408.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:50.597324+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10bb019d0> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {84.333328247070312, 422.66665649414062} previous location in window: {84.333328247070312, 422.66665649414062} location in view: {84.333328247070312, 422.66665649414062} previous location in view: {84.333328247070312, 422.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:2
2018-09-12 16:07:50.615815+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3))
 pointers:{1: _PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))}
2018-09-12 16:07:50.616702+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:2 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))
 pointers:{1: _PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))}
2018-09-12 16:07:50.618100+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3))
 pointers:{1: _PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))}
2018-09-12 16:07:50.618662+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:2 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))
 pointers:{1: _PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))}
2018-09-12 16:07:50.627835+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10bb019d0> phase: Moved tap count: 1 force: 0.483 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {84.333328247070312, 422.66665649414062} previous location in window: {84.333328247070312, 422.66665649414062} location in view: {84.333328247070312, 422.66665649414062} previous location in view: {84.333328247070312, 422.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:2
2018-09-12 16:07:50.629097+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:2 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))
 pointers:{1: _PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))}
2018-09-12 16:07:50.636149+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10bb00ca0> phase: Ended tap count: 1 force: 0.500 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {247, 408.33332824707031} previous location in window: {247, 408.33332824707031} location in view: {247, 408.33332824707031} previous location in view: {247, 408.33332824707031} 
 Phase:UITouchPhaseEnded 
 device_id:1
2018-09-12 16:07:50.637357+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:1 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3))
 pointers:{1: _PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))}
2018-09-12 16:07:51.364532+0800 Runner[1376:338344] [VERBOSE-2:isolate_configuration.cc(21)] Isolate was in incorrect phase to be prepared for running.
2018-09-12 16:07:51.364662+0800 Runner[1376:338344] [VERBOSE-2:engine.cc(158)] Could not prepare to run the isolate.
2018-09-12 16:07:51.364852+0800 Runner[1376:338344] [VERBOSE-2:engine.cc(117)] Engine not prepare and launch isolate.
2018-09-12 16:07:51.364945+0800 Runner[1376:338344] [VERBOSE-2:FlutterViewController.mm(437)] Could not launch engine with configuration.
2018-09-12 16:07:51.636311+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10bb019d0> phase: Began tap count: 1 force: 0.700 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {244.66665649414062, 382.33332824707031} previous location in window: {244.66665649414062, 382.33332824707031} location in view: {244.66665649414062, 382.33332824707031} previous location in view: {244.66665649414062, 382.33332824707031} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 16:07:51.639431+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(244.7, 382.3))
 pointers:{1: _PointerState(pointer: 4, down: true, lastPosition: Offset(244.7, 382.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))}
2018-09-12 16:07:51.679449+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Began tap count: 1 force: 0.050 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {96, 441.66665649414062} previous location in window: {96, 441.66665649414062} location in view: {96, 441.66665649414062} previous location in view: {96, 441.66665649414062} 
 Phase:UITouchPhaseBegan 
 device_id:3
2018-09-12 16:07:51.683091+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.down
 device_id:3 state:_PointerState(pointer: 5, down: true, lastPosition: Offset(96.0, 441.7))
 pointers:{1: _PointerState(pointer: 4, down: true, lastPosition: Offset(244.7, 382.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: true, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.695244+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Moved tap count: 1 force: 0.300 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {96, 441.66665649414062} previous location in window: {96, 441.66665649414062} location in view: {96, 441.66665649414062} previous location in view: {96, 441.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 16:07:51.695591+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10bb019d0> phase: Moved tap count: 1 force: 0.517 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {244.66665649414062, 382.33332824707031} previous location in window: {244.66665649414062, 382.33332824707031} location in view: {244.66665649414062, 382.33332824707031} previous location in view: {244.66665649414062, 382.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:51.698026+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 5, down: true, lastPosition: Offset(96.0, 441.7))
 pointers:{1: _PointerState(pointer: 4, down: true, lastPosition: Offset(244.7, 382.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: true, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.699837+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(244.7, 382.3))
 pointers:{1: _PointerState(pointer: 4, down: true, lastPosition: Offset(244.7, 382.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: true, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.703202+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10bb019d0> phase: Ended tap count: 1 force: 0.133 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {244.66665649414062, 382.33332824707031} previous location in window: {244.66665649414062, 382.33332824707031} location in view: {244.66665649414062, 382.33332824707031} previous location in view: {244.66665649414062, 382.33332824707031} 
 Phase:UITouchPhaseEnded 
 device_id:1
2018-09-12 16:07:51.705668+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:1 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(244.7, 382.3))
 pointers:{1: _PointerState(pointer: 4, down: true, lastPosition: Offset(244.7, 382.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: true, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.753045+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Ended tap count: 1 force: 0.300 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {96, 441.66665649414062} previous location in window: {96, 441.66665649414062} location in view: {96, 441.66665649414062} previous location in view: {96, 441.66665649414062} 
 Phase:UITouchPhaseEnded 
 device_id:3
2018-09-12 16:07:51.756811+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:3 state:_PointerState(pointer: 5, down: true, lastPosition: Offset(96.0, 441.7))
 pointers:{1: _PointerState(pointer: 4, down: false, lastPosition: Offset(244.7, 382.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: true, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.787253+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x110201310> phase: Began tap count: 2 force: 0.100 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {243.33332824707031, 383.33332824707031} previous location in window: {243.33332824707031, 383.33332824707031} location in view: {243.33332824707031, 383.33332824707031} previous location in view: {243.33332824707031, 383.33332824707031} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 16:07:51.792856+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(243.3, 383.3))
 pointers:{1: _PointerState(pointer: 6, down: true, lastPosition: Offset(243.3, 383.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: false, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.795591+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x110201310> phase: Moved tap count: 2 force: 0.400 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {243.33332824707031, 383.33332824707031} previous location in window: {243.33332824707031, 383.33332824707031} location in view: {243.33332824707031, 383.33332824707031} previous location in view: {243.33332824707031, 383.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:51.803724+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(243.3, 383.3))
 pointers:{1: _PointerState(pointer: 6, down: true, lastPosition: Offset(243.3, 383.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: false, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.828345+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x110201310> phase: Moved tap count: 2 force: 0.500 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {243.33332824707031, 383.33332824707031} previous location in window: {243.33332824707031, 383.33332824707031} location in view: {243.33332824707031, 383.33332824707031} previous location in view: {243.33332824707031, 383.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:51.831662+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(243.3, 383.3))
 pointers:{1: _PointerState(pointer: 6, down: true, lastPosition: Offset(243.3, 383.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: false, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.838514+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x110201310> phase: Ended tap count: 2 force: 0.383 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {243.33332824707031, 383.33332824707031} previous location in window: {243.33332824707031, 383.33332824707031} location in view: {243.33332824707031, 383.33332824707031} previous location in view: {243.33332824707031, 383.33332824707031} 
 Phase:UITouchPhaseEnded 
 device_id:1
2018-09-12 16:07:51.840380+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10ba01970> phase: Began tap count: 2 force: 0.200 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {93.666656494140625, 439.33332824707031} previous location in window: {93.666656494140625, 439.33332824707031} location in view: {93.666656494140625, 439.33332824707031} previous location in view: {93.666656494140625, 439.33332824707031} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 16:07:51.845862+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10ba01970> phase: Moved tap count: 2 force: 0.333 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {93.666656494140625, 439.33332824707031} previous location in window: {93.666656494140625, 439.33332824707031} location in view: {93.666656494140625, 439.33332824707031} previous location in view: {93.666656494140625, 439.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:51.846691+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:1 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(243.3, 383.3))
 pointers:{1: _PointerState(pointer: 6, down: true, lastPosition: Offset(243.3, 383.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: false, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.853970+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: false, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.860309+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: false, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.862012+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10ba01970> phase: Moved tap count: 2 force: 0.533 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {93.666656494140625, 439.33332824707031} previous location in window: {93.666656494140625, 439.33332824707031} location in view: {93.666656494140625, 439.33332824707031} previous location in view: {93.666656494140625, 439.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:51.863085+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: false, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.895276+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10ba01970> phase: Moved tap count: 2 force: 0.550 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {93.666656494140625, 439.33332824707031} previous location in window: {93.666656494140625, 439.33332824707031} location in view: {93.666656494140625, 439.33332824707031} previous location in view: {93.666656494140625, 439.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:51.896632+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: false, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.911941+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10ba01970> phase: Moved tap count: 2 force: 0.533 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {93.666656494140625, 439.33332824707031} previous location in window: {93.666656494140625, 439.33332824707031} location in view: {93.666656494140625, 439.33332824707031} previous location in view: {93.666656494140625, 439.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:51.914692+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 5, down: false, lastPosition: Offset(96.0, 441.7))}
2018-09-12 16:07:51.922390+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Began tap count: 3 force: 0.017 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {241, 393} previous location in window: {241, 393} location in view: {241, 393} previous location in view: {241, 393} 
 Phase:UITouchPhaseBegan 
 device_id:3
2018-09-12 16:07:51.923083+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10ba01970> phase: Moved tap count: 2 force: 0.433 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {93.666656494140625, 439.33332824707031} previous location in window: {93.666656494140625, 439.33332824707031} location in view: {93.666656494140625, 439.33332824707031} previous location in view: {93.666656494140625, 439.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:51.924812+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.down
 device_id:3 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))}
2018-09-12 16:07:51.928835+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Moved tap count: 3 force: 0.550 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {241, 393} previous location in window: {241, 393} location in view: {241, 393} previous location in view: {241, 393} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 16:07:51.929403+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10ba01970> phase: Ended tap count: 2 force: 0.133 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {93.666656494140625, 439.33332824707031} previous location in window: {93.666656494140625, 439.33332824707031} location in view: {93.666656494140625, 439.33332824707031} previous location in view: {93.666656494140625, 439.33332824707031} 
 Phase:UITouchPhaseEnded 
 device_id:1
2018-09-12 16:07:51.934422+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))}
2018-09-12 16:07:51.936523+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))}
2018-09-12 16:07:51.938312+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(93.7, 439.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))}
2018-09-12 16:07:51.952838+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Moved tap count: 3 force: 0.800 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {241, 393} previous location in window: {241, 393} location in view: {241, 393} previous location in view: {241, 393} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 16:07:51.954259+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))
 pointers:{1: _PointerState(pointer: 7, down: false, lastPosition: Offset(93.7, 439.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))}
2018-09-12 16:07:51.978138+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Moved tap count: 3 force: 0.700 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {241, 393} previous location in window: {241, 393} location in view: {241, 393} previous location in view: {241, 393} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 16:07:51.979815+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))
 pointers:{1: _PointerState(pointer: 7, down: false, lastPosition: Offset(93.7, 439.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))}
2018-09-12 16:07:51.985804+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Moved tap count: 3 force: 0.583 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {241, 393} previous location in window: {241, 393} location in view: {241, 393} previous location in view: {241, 393} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 16:07:51.987530+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))
 pointers:{1: _PointerState(pointer: 7, down: false, lastPosition: Offset(93.7, 439.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))}
2018-09-12 16:07:51.994713+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Ended tap count: 3 force: 0.500 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {241, 393} previous location in window: {241, 393} location in view: {241, 393} previous location in view: {241, 393} 
 Phase:UITouchPhaseEnded 
 device_id:3
2018-09-12 16:07:51.996452+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:3 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))
 pointers:{1: _PointerState(pointer: 7, down: false, lastPosition: Offset(93.7, 439.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(241.0, 393.0))}
2018-09-12 16:07:52.029847+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Began tap count: 3 force: 0.183 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {90, 440.33332824707031} previous location in window: {90, 440.33332824707031} location in view: {90, 440.33332824707031} previous location in view: {90, 440.33332824707031} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 16:07:52.034308+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(241.0, 393.0))}
2018-09-12 16:07:52.045592+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Moved tap count: 3 force: 0.600 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {90, 440.33332824707031} previous location in window: {90, 440.33332824707031} location in view: {90, 440.33332824707031} previous location in view: {90, 440.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:52.046933+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(241.0, 393.0))}
2018-09-12 16:07:52.054698+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10ba01970> phase: Began tap count: 4 force: 0.467 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {240.66665649414062, 395.33332824707031} previous location in window: {240.66665649414062, 395.33332824707031} location in view: {240.66665649414062, 395.33332824707031} previous location in view: {240.66665649414062, 395.33332824707031} 
 Phase:UITouchPhaseBegan 
 device_id:3
2018-09-12 16:07:52.055210+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Moved tap count: 3 force: 0.683 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {90, 440.33332824707031} previous location in window: {90, 440.33332824707031} location in view: {90, 440.33332824707031} previous location in view: {90, 440.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:52.058028+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.down
 device_id:3 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:07:52.062816+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10ba01970> phase: Moved tap count: 4 force: 0.550 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {240.66665649414062, 395.33332824707031} previous location in window: {240.66665649414062, 395.33332824707031} location in view: {240.66665649414062, 395.33332824707031} previous location in view: {240.66665649414062, 395.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 16:07:52.063190+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Moved tap count: 3 force: 0.717 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {90, 440.33332824707031} previous location in window: {90, 440.33332824707031} location in view: {90, 440.33332824707031} previous location in view: {90, 440.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:52.064937+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:07:52.066544+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:07:52.067490+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:07:52.078782+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10ba01970> phase: Moved tap count: 4 force: 0.717 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {240.66665649414062, 395.33332824707031} previous location in window: {240.66665649414062, 395.33332824707031} location in view: {240.66665649414062, 395.33332824707031} previous location in view: {240.66665649414062, 395.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 16:07:52.079991+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:07:52.103283+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Moved tap count: 3 force: 0.600 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {90, 440.33332824707031} previous location in window: {90, 440.33332824707031} location in view: {90, 440.33332824707031} previous location in view: {90, 440.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:52.104821+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:07:52.112775+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10ba01970> phase: Moved tap count: 4 force: 0.633 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {240.66665649414062, 395.33332824707031} previous location in window: {240.66665649414062, 395.33332824707031} location in view: {240.66665649414062, 395.33332824707031} previous location in view: {240.66665649414062, 395.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 16:07:52.113234+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Moved tap count: 3 force: 0.483 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {90, 440.33332824707031} previous location in window: {90, 440.33332824707031} location in view: {90, 440.33332824707031} previous location in view: {90, 440.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:07:52.115172+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:07:52.116211+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:07:52.119960+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10ba01970> phase: Ended tap count: 4 force: 0.550 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {240.66665649414062, 395.33332824707031} previous location in window: {240.66665649414062, 395.33332824707031} location in view: {240.66665649414062, 395.33332824707031} previous location in view: {240.66665649414062, 395.33332824707031} 
 Phase:UITouchPhaseEnded 
 device_id:3
2018-09-12 16:07:52.120384+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10b800a40> phase: Ended tap count: 3 force: 0.383 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {90, 440.33332824707031} previous location in window: {90, 440.33332824707031} location in view: {90, 440.33332824707031} previous location in view: {90, 440.33332824707031} 
 Phase:UITouchPhaseEnded 
 device_id:1
2018-09-12 16:07:52.122208+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:3 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: true, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:07:52.123167+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:1 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(90.0, 440.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: false, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:11:21.863134+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x110200960> phase: Began tap count: 1 force: 0.000 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {182, 410.66665649414062} previous location in window: {182, 410.66665649414062} location in view: {182, 410.66665649414062} previous location in view: {182, 410.66665649414062} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 16:11:21.870799+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 11, down: true, lastPosition: Offset(182.0, 410.7))
 pointers:{1: _PointerState(pointer: 11, down: true, lastPosition: Offset(182.0, 410.7)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: false, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:11:21.874726+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x110200960> phase: Moved tap count: 1 force: 0.733 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {182, 410.66665649414062} previous location in window: {182, 410.66665649414062} location in view: {182, 410.66665649414062} previous location in view: {182, 410.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:11:21.891224+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x110200960> phase: Moved tap count: 1 force: 0.683 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {182, 410.66665649414062} previous location in window: {182, 410.66665649414062} location in view: {182, 410.66665649414062} previous location in view: {182, 410.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:11:21.900845+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x110200960> phase: Moved tap count: 1 force: 0.533 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {182, 410.66665649414062} previous location in window: {182, 410.66665649414062} location in view: {182, 410.66665649414062} previous location in view: {182, 410.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 16:11:21.906252+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x110200960> phase: Ended tap count: 1 force: 0.450 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {182, 410.66665649414062} previous location in window: {182, 410.66665649414062} location in view: {182, 410.66665649414062} previous location in view: {182, 410.66665649414062} 
 Phase:UITouchPhaseEnded 
 device_id:1
2018-09-12 16:14:11.183367+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 11, down: true, lastPosition: Offset(182.0, 410.7))
 pointers:{1: _PointerState(pointer: 11, down: true, lastPosition: Offset(182.0, 410.7)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: false, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:14:11.186915+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 11, down: true, lastPosition: Offset(182.0, 410.7))
 pointers:{1: _PointerState(pointer: 11, down: true, lastPosition: Offset(182.0, 410.7)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: false, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:14:11.190117+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 11, down: true, lastPosition: Offset(182.0, 410.7))
 pointers:{1: _PointerState(pointer: 11, down: true, lastPosition: Offset(182.0, 410.7)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: false, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:14:11.193110+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:1 state:_PointerState(pointer: 11, down: true, lastPosition: Offset(182.0, 410.7))
 pointers:{1: _PointerState(pointer: 11, down: true, lastPosition: Offset(182.0, 410.7)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7)), 3: _PointerState(pointer: 10, down: false, lastPosition: Offset(240.7, 395.3))}
2018-09-12 16:07:50.577680+0800 Runner[1376:338301] [KWLM]1:UITouch --><UITouch: 0x10bb019d0> phase: Began tap count: 1 force: 0.167 window: <UIWindow: 0x109c046c0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d404d9b0>; layer = <UIWindowLayer: 0x1d403da00>> view: <FlutterView: 0x109b1cec0; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0239f80>> location in window: {84.333328247070312, 422.66665649414062} previous location in window: {84.333328247070312, 422.66665649414062} location in view: {84.333328247070312, 422.66665649414062} previous location in view: {84.333328247070312, 422.66665649414062} 
 Phase:UITouchPhaseBegan 
 device_id:2
2018-09-12 16:07:50.589325+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3))
 pointers:{1: _PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3))}
2018-09-12 16:07:50.592991+0800 Runner[1376:338344] flutter: [KWLM]2:ui.PointerChange.down
 device_id:2 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))
 pointers:{1: _PointerState(pointer: 2, down: true, lastPosition: Offset(247.0, 408.3)), 2: _PointerState(pointer: 3, down: true, lastPosition: Offset(84.3, 422.7))}

This part of the log shows that pointer: 3 is related to device_id:2 and generated from UITouch: 0x10bb019d0

Search 0x10bb019d0 and we'll see:

UITouchPhaseBegan(device_id:2)
UITouchPhaseMoved
UITouchPhaseMoved
UITouchPhaseMoved
UITouchPhaseBegan(device_id changed to 1)
UITouchPhaseMoved
UITouchPhaseEnded

One UITouch refers to two device_ids, and only one is finished.

@kangwang1988
Copy link
Contributor Author

kangwang1988 commented Sep 12, 2018

Case2:
case2

In this case, _trackPointers will always hold 4 and the state will never be restored to ready. Henceforth, the TapGestureRecognizer will fails.

Related log is as below:

2018-09-12 18:42:07.999346+0800 Runner[1534:381540] You've implemented -[<UIApplicationDelegate> application:performFetchWithCompletionHandler:], but you still need to add "fetch" to the list of your supported UIBackgroundModes in your Info.plist.
2018-09-12 18:42:07.999385+0800 Runner[1534:381540] You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.
2018-09-12 18:42:08.000470+0800 Runner[1534:381540] [VERBOSE-1:callback_cache.cc(132)] Could not parse callback cache, aborting restore
2018-09-12 18:42:08.262851+0800 Runner[1534:381598] flutter: Observatory listening on http://127.0.0.1:51303/
2018-09-12 18:42:14.906803+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db00590> phase: Began tap count: 1 force: 0.000 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {90.333328247070312, 431.33332824707031} previous location in window: {90.333328247070312, 431.33332824707031} location in view: {90.333328247070312, 431.33332824707031} previous location in view: {90.333328247070312, 431.33332824707031} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 18:42:14.908526+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db012a0> phase: Began tap count: 1 force: 2.033 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {240.66665649414062, 414.66665649414062} previous location in window: {240.66665649414062, 414.66665649414062} location in view: {240.66665649414062, 414.66665649414062} previous location in view: {240.66665649414062, 414.66665649414062} 
 Phase:UITouchPhaseBegan 
 device_id:2
2018-09-12 18:42:14.909036+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db00590> phase: Moved tap count: 1 force: 0.767 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {96, 431} previous location in window: {90.333328247070312, 431.33332824707031} location in view: {96, 431} previous location in view: {90.333328247070312, 431.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:14.923239+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db00590> phase: Moved tap count: 1 force: 0.967 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {97.333328247070312, 431} previous location in window: {96, 431} location in view: {97.333328247070312, 431} previous location in view: {96, 431} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:14.937200+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 1, down: true, lastPosition: Offset(90.3, 431.3))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(90.3, 431.3))}
2018-09-12 18:42:14.939680+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db012a0> phase: Moved tap count: 1 force: 1.733 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {240.66665649414062, 414.66665649414062} previous location in window: {240.66665649414062, 414.66665649414062} location in view: {240.66665649414062, 414.66665649414062} previous location in view: {240.66665649414062, 414.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:2
2018-09-12 18:42:14.939952+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db00590> phase: Moved tap count: 1 force: 0.850 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {97.333328247070312, 430.66665649414062} previous location in window: {97.333328247070312, 431} location in view: {97.333328247070312, 430.66665649414062} previous location in view: {97.333328247070312, 431} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:14.955916+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db012a0> phase: Moved tap count: 1 force: 1.450 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {240.66665649414062, 414.66665649414062} previous location in window: {240.66665649414062, 414.66665649414062} location in view: {240.66665649414062, 414.66665649414062} previous location in view: {240.66665649414062, 414.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:2
2018-09-12 18:42:14.956098+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db00590> phase: Moved tap count: 1 force: 0.667 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {96.333328247070312, 429} previous location in window: {97.333328247070312, 430.66665649414062} location in view: {96.333328247070312, 429} previous location in view: {97.333328247070312, 430.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:14.956376+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db012a0> phase: Moved tap count: 1 force: 1.217 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {240.66665649414062, 414.66665649414062} previous location in window: {240.66665649414062, 414.66665649414062} location in view: {240.66665649414062, 414.66665649414062} previous location in view: {240.66665649414062, 414.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:2
2018-09-12 18:42:14.956525+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db00590> phase: Ended tap count: 1 force: 0.133 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {94.333328247070312, 427} previous location in window: {96.333328247070312, 429} location in view: {94.333328247070312, 427} previous location in view: {96.333328247070312, 429} 
 Phase:UITouchPhaseEnded 
 device_id:1
2018-09-12 18:42:14.958823+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.down
 device_id:2 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(90.3, 431.3)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))}
2018-09-12 18:42:14.961707+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 1, down: true, lastPosition: Offset(96.0, 431.0))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(96.0, 431.0)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))}
2018-09-12 18:42:14.963539+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 1, down: true, lastPosition: Offset(97.3, 431.0))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(97.3, 431.0)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))}
2018-09-12 18:42:14.964446+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:2 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(97.3, 431.0)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))}
2018-09-12 18:42:14.964860+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 1, down: true, lastPosition: Offset(97.3, 430.7))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(97.3, 430.7)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))}
2018-09-12 18:42:14.965753+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:2 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(97.3, 430.7)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))}
2018-09-12 18:42:14.966168+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 1, down: true, lastPosition: Offset(96.3, 429.0))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(96.3, 429.0)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))}
2018-09-12 18:42:14.967032+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:2 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(96.3, 429.0)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))}
2018-09-12 18:42:14.967715+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:1 state:_PointerState(pointer: 1, down: true, lastPosition: Offset(96.3, 429.0))
 pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(96.3, 429.0)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))}
2018-09-12 18:42:14.970856+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db012a0> phase: Moved tap count: 1 force: 1.033 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {240.66665649414062, 414.66665649414062} previous location in window: {240.66665649414062, 414.66665649414062} location in view: {240.66665649414062, 414.66665649414062} previous location in view: {240.66665649414062, 414.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:2
2018-09-12 18:42:14.971094+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db012a0> phase: Ended tap count: 1 force: 0.900 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {240.66665649414062, 414.66665649414062} previous location in window: {240.66665649414062, 414.66665649414062} location in view: {240.66665649414062, 414.66665649414062} previous location in view: {240.66665649414062, 414.66665649414062} 
 Phase:UITouchPhaseEnded 
 device_id:2
2018-09-12 18:42:14.978760+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:2 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))
 pointers:{1: _PointerState(pointer: 1, down: false, lastPosition: Offset(94.3, 427.0)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))}
2018-09-12 18:42:14.979548+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:2 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))
 pointers:{1: _PointerState(pointer: 1, down: false, lastPosition: Offset(94.3, 427.0)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(240.7, 414.7))}
2018-09-12 18:42:15.668314+0800 Runner[1534:381591] [VERBOSE-2:isolate_configuration.cc(21)] Isolate was in incorrect phase to be prepared for running.
2018-09-12 18:42:15.668448+0800 Runner[1534:381591] [VERBOSE-2:engine.cc(158)] Could not prepare to run the isolate.
2018-09-12 18:42:15.668615+0800 Runner[1534:381591] [VERBOSE-2:engine.cc(117)] Engine not prepare and launch isolate.
2018-09-12 18:42:15.668877+0800 Runner[1534:381591] [VERBOSE-2:FlutterViewController.mm(437)] Could not launch engine with configuration.
2018-09-12 18:42:15.891975+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12be4d6f0> phase: Began tap count: 1 force: 0.000 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {236, 381} previous location in window: {236, 381} location in view: {236, 381} previous location in view: {236, 381} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 18:42:15.893529+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(236.0, 381.0))
 pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(236.0, 381.0)), 2: _PointerState(pointer: 2, down: false, lastPosition: Offset(240.7, 414.7))}
2018-09-12 18:42:15.900139+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12bd418f0> phase: Began tap count: 1 force: 0.583 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {91.333328247070312, 414.33332824707031} previous location in window: {91.333328247070312, 414.33332824707031} location in view: {91.333328247070312, 414.33332824707031} previous location in view: {91.333328247070312, 414.33332824707031} 
 Phase:UITouchPhaseBegan 
 device_id:2
2018-09-12 18:42:15.900337+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12be4d6f0> phase: Moved tap count: 1 force: 0.883 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {230.66665649414062, 381} previous location in window: {236, 381} location in view: {230.66665649414062, 381} previous location in view: {236, 381} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:15.901098+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.down
 device_id:2 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))
 pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(236.0, 381.0)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))}
2018-09-12 18:42:15.905239+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(230.7, 381.0))
 pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(230.7, 381.0)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))}
2018-09-12 18:42:15.906640+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12be4d6f0> phase: Moved tap count: 1 force: 0.900 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {230.66665649414062, 381} previous location in window: {230.66665649414062, 381} location in view: {230.66665649414062, 381} previous location in view: {230.66665649414062, 381} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:15.906782+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12bd418f0> phase: Moved tap count: 1 force: 0.983 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {91.333328247070312, 414.33332824707031} previous location in window: {91.333328247070312, 414.33332824707031} location in view: {91.333328247070312, 414.33332824707031} previous location in view: {91.333328247070312, 414.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:2
2018-09-12 18:42:15.907708+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(230.7, 381.0))
 pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(230.7, 381.0)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))}
2018-09-12 18:42:15.908270+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:2 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))
 pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(230.7, 381.0)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))}
2018-09-12 18:42:15.923318+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12be4d6f0> phase: Moved tap count: 1 force: 0.900 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {229.66665649414062, 381} previous location in window: {230.66665649414062, 381} location in view: {229.66665649414062, 381} previous location in view: {230.66665649414062, 381} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:15.923519+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12bd418f0> phase: Moved tap count: 1 force: 1.683 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {91.333328247070312, 414.33332824707031} previous location in window: {91.333328247070312, 414.33332824707031} location in view: {91.333328247070312, 414.33332824707031} previous location in view: {91.333328247070312, 414.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:2
2018-09-12 18:42:15.924928+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(229.7, 381.0))
 pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(229.7, 381.0)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))}
2018-09-12 18:42:15.925804+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:2 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))
 pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(229.7, 381.0)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))}
2018-09-12 18:42:15.940355+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12be4d6f0> phase: Moved tap count: 1 force: 0.683 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {228.33332824707031, 381} previous location in window: {229.66665649414062, 381} location in view: {228.33332824707031, 381} previous location in view: {229.66665649414062, 381} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:15.940632+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12bd418f0> phase: Moved tap count: 1 force: 1.950 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {91.333328247070312, 414.33332824707031} previous location in window: {91.333328247070312, 414.33332824707031} location in view: {91.333328247070312, 414.33332824707031} previous location in view: {91.333328247070312, 414.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:2
2018-09-12 18:42:15.941980+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(228.3, 381.0))
 pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(228.3, 381.0)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))}
2018-09-12 18:42:15.942689+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:2 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))
 pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(228.3, 381.0)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))}
2018-09-12 18:42:15.948664+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12be4d6f0> phase: Ended tap count: 1 force: 0.567 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {223.66665649414062, 381} previous location in window: {228.33332824707031, 381} location in view: {223.66665649414062, 381} previous location in view: {228.33332824707031, 381} 
 Phase:UITouchPhaseEnded 
 device_id:1
2018-09-12 18:42:15.949591+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:1 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(228.3, 381.0))
 pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(228.3, 381.0)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))}
2018-09-12 18:42:15.956862+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12bd418f0> phase: Moved tap count: 1 force: 1.933 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {91.333328247070312, 414.33332824707031} previous location in window: {91.333328247070312, 414.33332824707031} location in view: {91.333328247070312, 414.33332824707031} previous location in view: {91.333328247070312, 414.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:2
2018-09-12 18:42:15.958138+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:2 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))
 pointers:{1: _PointerState(pointer: 3, down: false, lastPosition: Offset(223.7, 381.0)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))}
2018-09-12 18:42:16.527176+0800 Runner[1534:381591] [VERBOSE-2:isolate_configuration.cc(21)] Isolate was in incorrect phase to be prepared for running.
2018-09-12 18:42:16.527305+0800 Runner[1534:381591] [VERBOSE-2:engine.cc(158)] Could not prepare to run the isolate.
2018-09-12 18:42:16.527479+0800 Runner[1534:381591] [VERBOSE-2:engine.cc(117)] Engine not prepare and launch isolate.
2018-09-12 18:42:16.527558+0800 Runner[1534:381591] [VERBOSE-2:FlutterViewController.mm(437)] Could not launch engine with configuration.
2018-09-12 18:42:16.743239+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12df01920> phase: Began tap count: 1 force: 0.950 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {231.66665649414062, 395.66665649414062} previous location in window: {231.66665649414062, 395.66665649414062} location in view: {231.66665649414062, 395.66665649414062} previous location in view: {231.66665649414062, 395.66665649414062} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 18:42:16.746454+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 5, down: true, lastPosition: Offset(231.7, 395.7))
 pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(231.7, 395.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3))}
2018-09-12 18:42:16.748944+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12dd01ec0> phase: Began tap count: 1 force: 0.217 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {95, 398.33332824707031} previous location in window: {95, 398.33332824707031} location in view: {95, 398.33332824707031} previous location in view: {95, 398.33332824707031} 
 Phase:UITouchPhaseBegan 
 device_id:3
2018-09-12 18:42:16.749344+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12df01920> phase: Moved tap count: 1 force: 0.900 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {231.66665649414062, 395.66665649414062} previous location in window: {231.66665649414062, 395.66665649414062} location in view: {231.66665649414062, 395.66665649414062} previous location in view: {231.66665649414062, 395.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:16.752475+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.down
 device_id:3 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(95.0, 398.3))
 pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(231.7, 395.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 6, down: true, lastPosition: Offset(95.0, 398.3))}
2018-09-12 18:42:16.756900+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 5, down: true, lastPosition: Offset(231.7, 395.7))
 pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(231.7, 395.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 6, down: true, lastPosition: Offset(95.0, 398.3))}
2018-09-12 18:42:16.757249+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12df01920> phase: Moved tap count: 1 force: 0.783 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {231.66665649414062, 395.66665649414062} previous location in window: {231.66665649414062, 395.66665649414062} location in view: {231.66665649414062, 395.66665649414062} previous location in view: {231.66665649414062, 395.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:16.757539+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12dd01ec0> phase: Moved tap count: 1 force: 0.367 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {95, 398.33332824707031} previous location in window: {95, 398.33332824707031} location in view: {95, 398.33332824707031} previous location in view: {95, 398.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 18:42:16.758438+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 5, down: true, lastPosition: Offset(231.7, 395.7))
 pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(231.7, 395.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 6, down: true, lastPosition: Offset(95.0, 398.3))}
2018-09-12 18:42:16.759001+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(95.0, 398.3))
 pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(231.7, 395.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 6, down: true, lastPosition: Offset(95.0, 398.3))}
2018-09-12 18:42:16.774089+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12df01920> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {231.66665649414062, 395.66665649414062} previous location in window: {231.66665649414062, 395.66665649414062} location in view: {231.66665649414062, 395.66665649414062} previous location in view: {231.66665649414062, 395.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:16.774385+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12dd01ec0> phase: Moved tap count: 1 force: 0.500 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {95, 398.33332824707031} previous location in window: {95, 398.33332824707031} location in view: {95, 398.33332824707031} previous location in view: {95, 398.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 18:42:16.775527+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 5, down: true, lastPosition: Offset(231.7, 395.7))
 pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(231.7, 395.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 6, down: true, lastPosition: Offset(95.0, 398.3))}
2018-09-12 18:42:16.776079+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(95.0, 398.3))
 pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(231.7, 395.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 6, down: true, lastPosition: Offset(95.0, 398.3))}
2018-09-12 18:42:16.781347+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12df01920> phase: Ended tap count: 1 force: 0.133 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {231.66665649414062, 395.66665649414062} previous location in window: {231.66665649414062, 395.66665649414062} location in view: {231.66665649414062, 395.66665649414062} previous location in view: {231.66665649414062, 395.66665649414062} 
 Phase:UITouchPhaseEnded 
 device_id:1
2018-09-12 18:42:16.782364+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:1 state:_PointerState(pointer: 5, down: true, lastPosition: Offset(231.7, 395.7))
 pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(231.7, 395.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 6, down: true, lastPosition: Offset(95.0, 398.3))}
2018-09-12 18:42:16.806376+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12dd01ec0> phase: Ended tap count: 1 force: 0.467 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {95, 398.33332824707031} previous location in window: {95, 398.33332824707031} location in view: {95, 398.33332824707031} previous location in view: {95, 398.33332824707031} 
 Phase:UITouchPhaseEnded 
 device_id:3
2018-09-12 18:42:16.808487+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:3 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(95.0, 398.3))
 pointers:{1: _PointerState(pointer: 5, down: false, lastPosition: Offset(231.7, 395.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 6, down: true, lastPosition: Offset(95.0, 398.3))}
2018-09-12 18:42:16.867050+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12df01920> phase: Began tap count: 2 force: 1.333 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {228, 373.66665649414062} previous location in window: {228, 373.66665649414062} location in view: {228, 373.66665649414062} previous location in view: {228, 373.66665649414062} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 18:42:16.872395+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 6, down: false, lastPosition: Offset(95.0, 398.3))}
2018-09-12 18:42:16.891413+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12df01920> phase: Moved tap count: 2 force: 1.700 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {228, 373.66665649414062} previous location in window: {228, 373.66665649414062} location in view: {228, 373.66665649414062} previous location in view: {228, 373.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:16.893464+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 6, down: false, lastPosition: Offset(95.0, 398.3))}
2018-09-12 18:42:16.898408+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12df01920> phase: Moved tap count: 2 force: 1.417 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {228, 373.66665649414062} previous location in window: {228, 373.66665649414062} location in view: {228, 373.66665649414062} previous location in view: {228, 373.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:16.900132+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 6, down: false, lastPosition: Offset(95.0, 398.3))}
2018-09-12 18:42:16.909159+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12da007a0> phase: Began tap count: 2 force: 0.083 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {100.66665649414062, 398} previous location in window: {100.66665649414062, 398} location in view: {100.66665649414062, 398} previous location in view: {100.66665649414062, 398} 
 Phase:UITouchPhaseBegan 
 device_id:3
2018-09-12 18:42:16.909910+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12df01920> phase: Moved tap count: 2 force: 1.067 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {228, 373.66665649414062} previous location in window: {228, 373.66665649414062} location in view: {228, 373.66665649414062} previous location in view: {228, 373.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:16.911285+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.down
 device_id:3 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:16.920542+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:16.923085+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12df01920> phase: Moved tap count: 2 force: 0.867 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {228, 373.66665649414062} previous location in window: {228, 373.66665649414062} location in view: {228, 373.66665649414062} previous location in view: {228, 373.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:16.923667+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12da007a0> phase: Moved tap count: 2 force: 0.600 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {100.66665649414062, 398} previous location in window: {100.66665649414062, 398} location in view: {100.66665649414062, 398} previous location in view: {100.66665649414062, 398} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 18:42:16.924391+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12da007a0> phase: Moved tap count: 2 force: 1.033 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {100.66665649414062, 398} previous location in window: {100.66665649414062, 398} location in view: {100.66665649414062, 398} previous location in view: {100.66665649414062, 398} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 18:42:16.924892+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12df01920> phase: Ended tap count: 2 force: 0.133 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {228, 373.66665649414062} previous location in window: {228, 373.66665649414062} location in view: {228, 373.66665649414062} previous location in view: {228, 373.66665649414062} 
 Phase:UITouchPhaseEnded 
 device_id:1
2018-09-12 18:42:16.925424+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:16.926200+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:16.928954+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:16.931168+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7))
 pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(228.0, 373.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:16.941019+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12da007a0> phase: Moved tap count: 2 force: 1.400 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {100.66665649414062, 398} previous location in window: {100.66665649414062, 398} location in view: {100.66665649414062, 398} previous location in view: {100.66665649414062, 398} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 18:42:16.942446+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))
 pointers:{1: _PointerState(pointer: 7, down: false, lastPosition: Offset(228.0, 373.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:16.972988+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12da007a0> phase: Moved tap count: 2 force: 1.217 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {100.66665649414062, 398} previous location in window: {100.66665649414062, 398} location in view: {100.66665649414062, 398} previous location in view: {100.66665649414062, 398} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 18:42:16.975023+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))
 pointers:{1: _PointerState(pointer: 7, down: false, lastPosition: Offset(228.0, 373.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:16.981664+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12da007a0> phase: Moved tap count: 2 force: 1.067 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {100.66665649414062, 398} previous location in window: {100.66665649414062, 398} location in view: {100.66665649414062, 398} previous location in view: {100.66665649414062, 398} 
 Phase:UITouchPhaseMoved 
 device_id:3
2018-09-12 18:42:16.983482+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:3 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))
 pointers:{1: _PointerState(pointer: 7, down: false, lastPosition: Offset(228.0, 373.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:16.991905+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12da007a0> phase: Ended tap count: 2 force: 0.133 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {100.66665649414062, 398} previous location in window: {100.66665649414062, 398} location in view: {100.66665649414062, 398} previous location in view: {100.66665649414062, 398} 
 Phase:UITouchPhaseEnded 
 device_id:3
2018-09-12 18:42:16.994103+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db01230> phase: Began tap count: 3 force: 1.083 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {222, 374.33332824707031} previous location in window: {222, 374.33332824707031} location in view: {222, 374.33332824707031} previous location in view: {222, 374.33332824707031} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 18:42:16.996531+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:3 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))
 pointers:{1: _PointerState(pointer: 7, down: false, lastPosition: Offset(228.0, 373.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: true, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:17.004312+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(222.0, 374.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(222.0, 374.3)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:17.008125+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db01230> phase: Moved tap count: 3 force: 1.850 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {222, 374.33332824707031} previous location in window: {222, 374.33332824707031} location in view: {222, 374.33332824707031} previous location in view: {222, 374.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:17.014719+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(222.0, 374.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(222.0, 374.3)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:17.040515+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db01230> phase: Moved tap count: 3 force: 1.667 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {222, 374.33332824707031} previous location in window: {222, 374.33332824707031} location in view: {222, 374.33332824707031} previous location in view: {222, 374.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:17.042236+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(222.0, 374.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(222.0, 374.3)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:17.047977+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db01230> phase: Moved tap count: 3 force: 1.400 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {222, 374.33332824707031} previous location in window: {222, 374.33332824707031} location in view: {222, 374.33332824707031} previous location in view: {222, 374.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:17.049661+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(222.0, 374.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(222.0, 374.3)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:17.057657+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db01230> phase: Moved tap count: 3 force: 1.183 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {222, 374.33332824707031} previous location in window: {222, 374.33332824707031} location in view: {222, 374.33332824707031} previous location in view: {222, 374.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:17.059494+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(222.0, 374.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(222.0, 374.3)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:17.065405+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12db01230> phase: Ended tap count: 3 force: 1.017 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {222, 374.33332824707031} previous location in window: {222, 374.33332824707031} location in view: {222, 374.33332824707031} previous location in view: {222, 374.33332824707031} 
 Phase:UITouchPhaseEnded 
 device_id:1
2018-09-12 18:42:17.067355+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:1 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(222.0, 374.3))
 pointers:{1: _PointerState(pointer: 9, down: true, lastPosition: Offset(222.0, 374.3)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:17.099554+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12da007a0> phase: Began tap count: 3 force: 0.467 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {100, 400.33332824707031} previous location in window: {100, 400.33332824707031} location in view: {100, 400.33332824707031} previous location in view: {100, 400.33332824707031} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 18:42:17.104060+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(100.0, 400.3))
 pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(100.0, 400.3)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:17.123332+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12da007a0> phase: Moved tap count: 3 force: 0.617 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {100, 400.33332824707031} previous location in window: {100, 400.33332824707031} location in view: {100, 400.33332824707031} previous location in view: {100, 400.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:17.125118+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(100.0, 400.3))
 pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(100.0, 400.3)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:17.131480+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12da007a0> phase: Moved tap count: 3 force: 0.717 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {100, 400.33332824707031} previous location in window: {100, 400.33332824707031} location in view: {100, 400.33332824707031} previous location in view: {100, 400.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:17.133278+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(100.0, 400.3))
 pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(100.0, 400.3)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:17.141079+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12da007a0> phase: Moved tap count: 3 force: 0.733 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {100.33332824707031, 401.66665649414062} previous location in window: {100, 400.33332824707031} location in view: {100.33332824707031, 401.66665649414062} previous location in view: {100, 400.33332824707031} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:17.142912+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(100.3, 401.7))
 pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(100.3, 401.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:17.165148+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12da007a0> phase: Moved tap count: 3 force: 0.733 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {100.66665649414062, 401.66665649414062} previous location in window: {100.33332824707031, 401.66665649414062} location in view: {100.66665649414062, 401.66665649414062} previous location in view: {100.33332824707031, 401.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:17.166067+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12da007a0> phase: Ended tap count: 3 force: 0.733 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {101, 402.33332824707031} previous location in window: {100.66665649414062, 401.66665649414062} location in view: {101, 402.33332824707031} previous location in view: {100.66665649414062, 401.66665649414062} 
 Phase:UITouchPhaseEnded 
 device_id:1
2018-09-12 18:42:17.167305+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.move
 device_id:1 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(100.7, 401.7))
 pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(100.7, 401.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:17.170380+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.up/cancel
 device_id:1 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(100.7, 401.7))
 pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(100.7, 401.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:22.506595+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12dd02090> phase: Began tap count: 1 force: 0.000 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {169.33332824707031, 352.66665649414062} previous location in window: {169.33332824707031, 352.66665649414062} location in view: {169.33332824707031, 352.66665649414062} previous location in view: {169.33332824707031, 352.66665649414062} 
 Phase:UITouchPhaseBegan 
 device_id:1
2018-09-12 18:42:22.513754+0800 Runner[1534:381591] flutter: [KWLM]2:ui.PointerChange.down
 device_id:1 state:_PointerState(pointer: 11, down: true, lastPosition: Offset(169.3, 352.7))
 pointers:{1: _PointerState(pointer: 11, down: true, lastPosition: Offset(169.3, 352.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(91.3, 414.3)), 3: _PointerState(pointer: 8, down: false, lastPosition: Offset(100.7, 398.0))}
2018-09-12 18:42:22.518601+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12dd02090> phase: Moved tap count: 1 force: 1.267 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {169.33332824707031, 352.66665649414062} previous location in window: {169.33332824707031, 352.66665649414062} location in view: {169.33332824707031, 352.66665649414062} previous location in view: {169.33332824707031, 352.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:22.533984+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12dd02090> phase: Moved tap count: 1 force: 1.217 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {169.33332824707031, 352.66665649414062} previous location in window: {169.33332824707031, 352.66665649414062} location in view: {169.33332824707031, 352.66665649414062} previous location in view: {169.33332824707031, 352.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:22.543416+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12dd02090> phase: Moved tap count: 1 force: 0.967 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {169.33332824707031, 352.66665649414062} previous location in window: {169.33332824707031, 352.66665649414062} location in view: {169.33332824707031, 352.66665649414062} previous location in view: {169.33332824707031, 352.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:22.559267+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12dd02090> phase: Moved tap count: 1 force: 0.767 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {169.33332824707031, 352.66665649414062} previous location in window: {169.33332824707031, 352.66665649414062} location in view: {169.33332824707031, 352.66665649414062} previous location in view: {169.33332824707031, 352.66665649414062} 
 Phase:UITouchPhaseMoved 
 device_id:1
2018-09-12 18:42:22.559863+0800 Runner[1534:381540] [KWLM]1:UITouch --><UITouch: 0x12dd02090> phase: Ended tap count: 1 force: 0.633 window: <UIWindow: 0x12bd1d760; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d0649660>; layer = <UIWindowLayer: 0x1d0221c00>> view: <FlutterView: 0x12be06460; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d402c0e0>> location in window: {169.33332824707031, 352.66665649414062} previous location in window: {169.33332824707031, 352.66665649414062} location in view: {169.33332824707031, 352.66665649414062} previous location in view: {169.33332824707031, 352.66665649414062} 
 Phase:UITouchPhaseEnded 
 device_id:1

Here, pointer: 4 is related to device_id:2 and generated from UITouch: 0x12bd418f0

Search 0x12bd418f0 and we'll see:

UITouchPhaseBegan
UITouchPhaseMoved
UITouchPhaseMoved
UITouchPhaseMoved
UITouchPhaseMoved

@kangwang1988
Copy link
Contributor Author

kangwang1988 commented Sep 12, 2018

case 3:
In this case, the image will be not clickable because of the IgnorePointer and the drag over the listview will be not smooth.
case3-2
case3-3
ios stuck 2018-09-12 17_17_01

In case 1&2, the problem occurs on TagGestureRecognizer.
In case 3, the problem occurs on VerticalDragGestureRecognizersame. However, the reason are similar, as shown below:
case3-1

In this case, _trackPointers will always hold 11 and the state will never be restored to ready. Henceforth, the TapGestureRecognizer will fails.

[+169792 ms] [KWLM]1:UITouch --><UITouch: 0x109d04ec0> phase: Began tap count: 1 force: 0.083 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {106.33332824707031, 407.66665649414062} previous location in window: {106.33332824707031, 407.66665649414062} location in view: {106.33332824707031, 407.66665649414062} previous location in view: {106.33332824707031, 407.66665649414062} 
[   +1 ms]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[        ] [KWLM]1:UITouch --><UITouch: 0x109d04d70> phase: Began tap count: 1 force: 0.717 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {270.33332824707031, 271} previous location in window: {270.33332824707031, 271} location in view: {270.33332824707031, 271} previous location in view: {270.33332824707031, 271} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:2
[   +6 ms] [KWLM]1:UITouch --><UITouch: 0x109d04d70> phase: Moved tap count: 1 force: 0.750 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {270.33332824707031, 271} previous location in window: {270.33332824707031, 271} location in view: {270.33332824707031, 271} previous location in view: {270.33332824707031, 271} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[   +7 ms] [KWLM]1:UITouch --><UITouch: 0x109d04d70> phase: Moved tap count: 1 force: 0.983 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {270.33332824707031, 271} previous location in window: {270.33332824707031, 271} location in view: {270.33332824707031, 271} previous location in view: {270.33332824707031, 271} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[   +9 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 1, down: true, lastPosition: Offset(106.3, 407.7))
[        ]  pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(106.3, 407.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:2 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(270.3, 271.0))
[        ]  pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(106.3, 407.7)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(270.3, 271.0))}
[  +18 ms] [KWLM]1:UITouch --><UITouch: 0x109d04d70> phase: Moved tap count: 1 force: 0.900 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {270.33332824707031, 271} previous location in window: {270.33332824707031, 271} location in view: {270.33332824707031, 271} previous location in view: {270.33332824707031, 271} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[   +4 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(270.3, 271.0))
[        ]  pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(106.3, 407.7)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(270.3, 271.0))}
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(270.3, 271.0))
[        ]  pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(106.3, 407.7)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(270.3, 271.0))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(270.3, 271.0))
[        ]  pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(106.3, 407.7)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(270.3, 271.0))}
[  +15 ms] [KWLM]1:UITouch --><UITouch: 0x109d04d70> phase: Moved tap count: 1 force: 0.650 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {270.33332824707031, 271} previous location in window: {270.33332824707031, 271} location in view: {270.33332824707031, 271} previous location in view: {270.33332824707031, 271} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[   +3 ms] [KWLM]1:UITouch --><UITouch: 0x109d04ec0> phase: Ended tap count: 1 force: 0.083 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {106.33332824707031, 407.66665649414062} previous location in window: {106.33332824707031, 407.66665649414062} location in view: {106.33332824707031, 407.66665649414062} previous location in view: {106.33332824707031, 407.66665649414062} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109d04d70> phase: Ended tap count: 1 force: 0.517 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {270.33332824707031, 271} previous location in window: {270.33332824707031, 271} location in view: {270.33332824707031, 271} previous location in view: {270.33332824707031, 271} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(270.3, 271.0))
[        ]  pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(106.3, 407.7)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(270.3, 271.0))}
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 1, down: true, lastPosition: Offset(106.3, 407.7))
[        ]  pointers:{1: _PointerState(pointer: 1, down: true, lastPosition: Offset(106.3, 407.7)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(270.3, 271.0))}
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:2 state:_PointerState(pointer: 2, down: true, lastPosition: Offset(270.3, 271.0))
[        ]  pointers:{1: _PointerState(pointer: 1, down: false, lastPosition: Offset(106.3, 407.7)), 2: _PointerState(pointer: 2, down: true, lastPosition: Offset(270.3, 271.0))}
[+1642 ms] [VERBOSE-2:isolate_configuration.cc(21)] Isolate was in incorrect phase to be prepared for running.
[        ] [VERBOSE-2:engine.cc(158)] Could not prepare to run the isolate.
[        ] [VERBOSE-2:engine.cc(117)] Engine not prepare and launch isolate.
[        ] [VERBOSE-2:FlutterViewController.mm(437)] Could not launch engine with configuration.
[ +300 ms] [KWLM]1:UITouch --><UITouch: 0x109d08b90> phase: Began tap count: 1 force: 0.300 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {259.66665649414062, 217.66665649414062} previous location in window: {259.66665649414062, 217.66665649414062} location in view: {259.66665649414062, 217.66665649414062} previous location in view: {259.66665649414062, 217.66665649414062} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[  +12 ms] [KWLM]1:UITouch --><UITouch: 0x109b00c20> phase: Began tap count: 1 force: 0.333 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {98, 393.33332824707031} previous location in window: {98, 393.33332824707031} location in view: {98, 393.33332824707031} previous location in view: {98, 393.33332824707031} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:2
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109d08b90> phase: Moved tap count: 1 force: 0.417 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {259.66665649414062, 217.66665649414062} previous location in window: {259.66665649414062, 217.66665649414062} location in view: {259.66665649414062, 217.66665649414062} previous location in view: {259.66665649414062, 217.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(259.7, 217.7))
[        ]  pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(259.7, 217.7)), 2: _PointerState(pointer: 2, down: false, lastPosition: Offset(270.3, 271.0))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109d08b90> phase: Moved tap count: 1 force: 0.500 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {259.66665649414062, 217.66665649414062} previous location in window: {259.66665649414062, 217.66665649414062} location in view: {259.66665649414062, 217.66665649414062} previous location in view: {259.66665649414062, 217.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] [KWLM]1:UITouch --><UITouch: 0x109b00c20> phase: Moved tap count: 1 force: 0.383 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {98, 393.33332824707031} previous location in window: {98, 393.33332824707031} location in view: {98, 393.33332824707031} previous location in view: {98, 393.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[   +5 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:2 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))
[        ]  pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(259.7, 217.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))}
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(259.7, 217.7))
[        ]  pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(259.7, 217.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(259.7, 217.7))
[        ]  pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(259.7, 217.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))
[        ]  pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(259.7, 217.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109b00c20> phase: Moved tap count: 1 force: 0.500 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {98, 393.33332824707031} previous location in window: {98, 393.33332824707031} location in view: {98, 393.33332824707031} previous location in view: {98, 393.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))
[        ]  pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(259.7, 217.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))}
[  +16 ms] [KWLM]1:UITouch --><UITouch: 0x109b00c20> phase: Moved tap count: 1 force: 0.567 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {98, 393.33332824707031} previous location in window: {98, 393.33332824707031} location in view: {98, 393.33332824707031} previous location in view: {98, 393.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))
[        ]  pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(259.7, 217.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))}
[   +4 ms] [KWLM]1:UITouch --><UITouch: 0x109d08b90> phase: Ended tap count: 1 force: 0.417 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {259.66665649414062, 217.66665649414062} previous location in window: {259.66665649414062, 217.66665649414062} location in view: {259.66665649414062, 217.66665649414062} previous location in view: {259.66665649414062, 217.66665649414062} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 3, down: true, lastPosition: Offset(259.7, 217.7))
[        ]  pointers:{1: _PointerState(pointer: 3, down: true, lastPosition: Offset(259.7, 217.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))}
[  +32 ms] [KWLM]1:UITouch --><UITouch: 0x109b00c20> phase: Moved tap count: 1 force: 0.517 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {98, 393.33332824707031} previous location in window: {98, 393.33332824707031} location in view: {98, 393.33332824707031} previous location in view: {98, 393.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))
[        ]  pointers:{1: _PointerState(pointer: 3, down: false, lastPosition: Offset(259.7, 217.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))}
[   +5 ms] [KWLM]1:UITouch --><UITouch: 0x109b00c20> phase: Ended tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {98, 393.33332824707031} previous location in window: {98, 393.33332824707031} location in view: {98, 393.33332824707031} previous location in view: {98, 393.33332824707031} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:2 state:_PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))
[        ]  pointers:{1: _PointerState(pointer: 3, down: false, lastPosition: Offset(259.7, 217.7)), 2: _PointerState(pointer: 4, down: true, lastPosition: Offset(98.0, 393.3))}
[  +37 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Began tap count: 2 force: 0.000 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {255.66665649414062, 222.66665649414062} previous location in window: {255.66665649414062, 222.66665649414062} location in view: {255.66665649414062, 222.66665649414062} previous location in view: {255.66665649414062, 222.66665649414062} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[   +4 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 5, down: true, lastPosition: Offset(255.7, 222.7))
[        ]  pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(255.7, 222.7)), 2: _PointerState(pointer: 4, down: false, lastPosition: Offset(98.0, 393.3))}
[   +7 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 2 force: 0.400 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {255.66665649414062, 222.66665649414062} previous location in window: {255.66665649414062, 222.66665649414062} location in view: {255.66665649414062, 222.66665649414062} previous location in view: {255.66665649414062, 222.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 5, down: true, lastPosition: Offset(255.7, 222.7))
[        ]  pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(255.7, 222.7)), 2: _PointerState(pointer: 4, down: false, lastPosition: Offset(98.0, 393.3))}
[  +30 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 2 force: 0.483 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {255.66665649414062, 222.66665649414062} previous location in window: {255.66665649414062, 222.66665649414062} location in view: {255.66665649414062, 222.66665649414062} previous location in view: {255.66665649414062, 222.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +3 ms] [KWLM]1:UITouch --><UITouch: 0x109c02a60> phase: Began tap count: 2 force: 0.233 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {107.33332824707031, 394.33332824707031} previous location in window: {107.33332824707031, 394.33332824707031} location in view: {107.33332824707031, 394.33332824707031} previous location in view: {107.33332824707031, 394.33332824707031} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 5, down: true, lastPosition: Offset(255.7, 222.7))
[        ]  pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(255.7, 222.7)), 2: _PointerState(pointer: 4, down: false, lastPosition: Offset(98.0, 393.3))}
[        ] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:2 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))
[        ]  pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(255.7, 222.7)), 2: _PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))}
[  +10 ms] [KWLM]1:UITouch --><UITouch: 0x109c02a60> phase: Moved tap count: 2 force: 0.417 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {107.33332824707031, 394.33332824707031} previous location in window: {107.33332824707031, 394.33332824707031} location in view: {107.33332824707031, 394.33332824707031} previous location in view: {107.33332824707031, 394.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109c02a60> phase: Moved tap count: 2 force: 0.567 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {107.33332824707031, 394.33332824707031} previous location in window: {107.33332824707031, 394.33332824707031} location in view: {107.33332824707031, 394.33332824707031} previous location in view: {107.33332824707031, 394.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))
[        ]  pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(255.7, 222.7)), 2: _PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Ended tap count: 2 force: 0.433 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {255.66665649414062, 222.66665649414062} previous location in window: {255.66665649414062, 222.66665649414062} location in view: {255.66665649414062, 222.66665649414062} previous location in view: {255.66665649414062, 222.66665649414062} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))
[        ]  pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(255.7, 222.7)), 2: _PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))}
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 5, down: true, lastPosition: Offset(255.7, 222.7))
[        ]  pointers:{1: _PointerState(pointer: 5, down: true, lastPosition: Offset(255.7, 222.7)), 2: _PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))}
[   +5 ms] [KWLM]1:UITouch --><UITouch: 0x109c02a60> phase: Moved tap count: 2 force: 0.667 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {107.33332824707031, 394.33332824707031} previous location in window: {107.33332824707031, 394.33332824707031} location in view: {107.33332824707031, 394.33332824707031} previous location in view: {107.33332824707031, 394.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))
[        ]  pointers:{1: _PointerState(pointer: 5, down: false, lastPosition: Offset(255.7, 222.7)), 2: _PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))}
[  +48 ms] [KWLM]1:UITouch --><UITouch: 0x109c02a60> phase: Moved tap count: 2 force: 0.617 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {107.33332824707031, 394.33332824707031} previous location in window: {107.33332824707031, 394.33332824707031} location in view: {107.33332824707031, 394.33332824707031} previous location in view: {107.33332824707031, 394.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))
[        ]  pointers:{1: _PointerState(pointer: 5, down: false, lastPosition: Offset(255.7, 222.7)), 2: _PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))}
[  +11 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Began tap count: 3 force: 0.767 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 221} previous location in window: {258, 221} location in view: {258, 221} previous location in view: {258, 221} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[   +3 ms] [KWLM]1:UITouch --><UITouch: 0x109c02a60> phase: Moved tap count: 2 force: 0.500 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {107.33332824707031, 394.33332824707031} previous location in window: {107.33332824707031, 394.33332824707031} location in view: {107.33332824707031, 394.33332824707031} previous location in view: {107.33332824707031, 394.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[   +7 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0))
[        ]  pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0)), 2: _PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.917 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 221} previous location in window: {258, 221} location in view: {258, 221} previous location in view: {258, 221} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109c02a60> phase: Ended tap count: 2 force: 0.133 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {107.33332824707031, 394.33332824707031} previous location in window: {107.33332824707031, 394.33332824707031} location in view: {107.33332824707031, 394.33332824707031} previous location in view: {107.33332824707031, 394.33332824707031} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:2
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))
[        ]  pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0)), 2: _PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0))
[        ]  pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0)), 2: _PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))}
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:2 state:_PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))
[        ]  pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0)), 2: _PointerState(pointer: 6, down: true, lastPosition: Offset(107.3, 394.3))}
[   +1 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 1.183 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 221} previous location in window: {258, 221} location in view: {258, 221} previous location in view: {258, 221} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0))
[        ]  pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0)), 2: _PointerState(pointer: 6, down: false, lastPosition: Offset(107.3, 394.3))}
[  +27 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 1.167 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 221} previous location in window: {258, 221} location in view: {258, 221} previous location in view: {258, 221} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0))
[        ]  pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0)), 2: _PointerState(pointer: 6, down: false, lastPosition: Offset(107.3, 394.3))}
[   +4 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 1.033 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 221} previous location in window: {258, 221} location in view: {258, 221} previous location in view: {258, 221} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0))
[        ]  pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0)), 2: _PointerState(pointer: 6, down: false, lastPosition: Offset(107.3, 394.3))}
[   +7 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.900 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 221} previous location in window: {258, 221} location in view: {258, 221} previous location in view: {258, 221} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0))
[        ]  pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0)), 2: _PointerState(pointer: 6, down: false, lastPosition: Offset(107.3, 394.3))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.750 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 221} previous location in window: {258, 221} location in view: {258, 221} previous location in view: {258, 221} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Ended tap count: 3 force: 0.600 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 221} previous location in window: {258, 221} location in view: {258, 221} previous location in view: {258, 221} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0))
[        ]  pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0)), 2: _PointerState(pointer: 6, down: false, lastPosition: Offset(107.3, 394.3))}
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0))
[        ]  pointers:{1: _PointerState(pointer: 7, down: true, lastPosition: Offset(258.0, 221.0)), 2: _PointerState(pointer: 6, down: false, lastPosition: Offset(107.3, 394.3))}
[  +10 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Began tap count: 3 force: 0.133 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {112, 390.66665649414062} previous location in window: {112, 390.66665649414062} location in view: {112, 390.66665649414062} previous location in view: {112, 390.66665649414062} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[   +8 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 6, down: false, lastPosition: Offset(107.3, 394.3))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.400 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {112, 390.66665649414062} previous location in window: {112, 390.66665649414062} location in view: {112, 390.66665649414062} previous location in view: {112, 390.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 6, down: false, lastPosition: Offset(107.3, 394.3))}
[   +5 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.683 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {112, 390.66665649414062} previous location in window: {112, 390.66665649414062} location in view: {112, 390.66665649414062} previous location in view: {112, 390.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109a039f0> phase: Began tap count: 4 force: 0.233 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {251.33332824707031, 223} previous location in window: {251.33332824707031, 223} location in view: {251.33332824707031, 223} previous location in view: {251.33332824707031, 223} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 6, down: false, lastPosition: Offset(107.3, 394.3))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.900 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {112, 390.66665649414062} previous location in window: {112, 390.66665649414062} location in view: {112, 390.66665649414062} previous location in view: {112, 390.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:2 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[   +7 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 1.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {112, 390.66665649414062} previous location in window: {112, 390.66665649414062} location in view: {112, 390.66665649414062} previous location in view: {112, 390.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109a039f0> phase: Moved tap count: 4 force: 0.883 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {251.33332824707031, 223} previous location in window: {251.33332824707031, 223} location in view: {251.33332824707031, 223} previous location in view: {251.33332824707031, 223} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[  +11 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 1.150 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {112, 390.66665649414062} previous location in window: {112, 390.66665649414062} location in view: {112, 390.66665649414062} previous location in view: {112, 390.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] [KWLM]1:UITouch --><UITouch: 0x109a039f0> phase: Moved tap count: 4 force: 1.333 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {251.33332824707031, 223} previous location in window: {251.33332824707031, 223} location in view: {251.33332824707031, 223} previous location in view: {251.33332824707031, 223} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[  +28 ms] [KWLM]1:UITouch --><UITouch: 0x109a039f0> phase: Moved tap count: 4 force: 1.383 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {251.33332824707031, 223} previous location in window: {251.33332824707031, 223} location in view: {251.33332824707031, 223} previous location in view: {251.33332824707031, 223} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[   +6 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 1.050 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {112, 390.66665649414062} previous location in window: {112, 390.66665649414062} location in view: {112, 390.66665649414062} previous location in view: {112, 390.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109a039f0> phase: Moved tap count: 4 force: 1.317 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {251.33332824707031, 223} previous location in window: {251.33332824707031, 223} location in view: {251.33332824707031, 223} previous location in view: {251.33332824707031, 223} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[   +3 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.883 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {112, 390.66665649414062} previous location in window: {112, 390.66665649414062} location in view: {112, 390.66665649414062} previous location in view: {112, 390.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] [KWLM]1:UITouch --><UITouch: 0x109a039f0> phase: Moved tap count: 4 force: 1.150 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {251.33332824707031, 223} previous location in window: {251.33332824707031, 223} location in view: {251.33332824707031, 223} previous location in view: {251.33332824707031, 223} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109a039f0> phase: Moved tap count: 4 force: 0.983 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {251.33332824707031, 223} previous location in window: {251.33332824707031, 223} location in view: {251.33332824707031, 223} previous location in view: {251.33332824707031, 223} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:2
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Ended tap count: 3 force: 0.733 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {112, 390.66665649414062} previous location in window: {112, 390.66665649414062} location in view: {112, 390.66665649414062} previous location in view: {112, 390.66665649414062} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:2 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7))
[        ]  pointers:{1: _PointerState(pointer: 8, down: true, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[   +3 ms] [KWLM]1:UITouch --><UITouch: 0x109a039f0> phase: Ended tap count: 4 force: 0.817 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {251.33332824707031, 223} previous location in window: {251.33332824707031, 223} location in view: {251.33332824707031, 223} previous location in view: {251.33332824707031, 223} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:2
[   +3 ms] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:2 state:_PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))
[        ]  pointers:{1: _PointerState(pointer: 8, down: false, lastPosition: Offset(112.0, 390.7)), 2: _PointerState(pointer: 9, down: true, lastPosition: Offset(251.3, 223.0))}
[ +822 ms] [VERBOSE-2:isolate_configuration.cc(21)] Isolate was in incorrect phase to be prepared for running.
[        ] [VERBOSE-2:engine.cc(158)] Could not prepare to run the isolate.
[        ] [VERBOSE-2:engine.cc(117)] Engine not prepare and launch isolate.
[        ] [VERBOSE-2:FlutterViewController.mm(437)] Could not launch engine with configuration.
[ +104 ms] [KWLM]1:UITouch --><UITouch: 0x10e3352b0> phase: Began tap count: 1 force: 0.000 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {88, 389} previous location in window: {88, 389} location in view: {88, 389} previous location in view: {88, 389} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0))
[        ]  pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0)), 2: _PointerState(pointer: 9, down: false, lastPosition: Offset(251.3, 223.0))}
[  +12 ms] [KWLM]1:UITouch --><UITouch: 0x10e3352b0> phase: Moved tap count: 1 force: 0.483 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {88, 389} previous location in window: {88, 389} location in view: {88, 389} previous location in view: {88, 389} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0))
[        ]  pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0)), 2: _PointerState(pointer: 9, down: false, lastPosition: Offset(251.3, 223.0))}
[  +15 ms] [KWLM]1:UITouch --><UITouch: 0x10e3352b0> phase: Moved tap count: 1 force: 0.817 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {88, 389} previous location in window: {88, 389} location in view: {88, 389} previous location in view: {88, 389} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0))
[        ]  pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0)), 2: _PointerState(pointer: 9, down: false, lastPosition: Offset(251.3, 223.0))}
[  +15 ms] [KWLM]1:UITouch --><UITouch: 0x10e3352b0> phase: Moved tap count: 1 force: 0.933 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {88, 389} previous location in window: {88, 389} location in view: {88, 389} previous location in view: {88, 389} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0))
[        ]  pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0)), 2: _PointerState(pointer: 9, down: false, lastPosition: Offset(251.3, 223.0))}
[  +35 ms] [KWLM]1:UITouch --><UITouch: 0x10e469370> phase: Began tap count: 1 force: 0.400 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {224.33332824707031, 264.66665649414062} previous location in window: {224.33332824707031, 264.66665649414062} location in view: {224.33332824707031, 264.66665649414062} previous location in view: {224.33332824707031, 264.66665649414062} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:2
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x10e3352b0> phase: Moved tap count: 1 force: 0.900 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {88, 389} previous location in window: {88, 389} location in view: {88, 389} previous location in view: {88, 389} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:2 state:_PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7))
[        ]  pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0))
[        ]  pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7))}
[   +9 ms] [KWLM]1:UITouch --><UITouch: 0x10e3352b0> phase: Moved tap count: 1 force: 0.767 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {88, 389} previous location in window: {88, 389} location in view: {88, 389} previous location in view: {88, 389} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x10e3352b0> phase: Ended tap count: 1 force: 0.633 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {88, 389} previous location in window: {88, 389} location in view: {88, 389} previous location in view: {88, 389} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0))
[        ]  pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0))
[        ]  pointers:{1: _PointerState(pointer: 10, down: true, lastPosition: Offset(88.0, 389.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7))}
[+1220 ms] [VERBOSE-2:isolate_configuration.cc(21)] Isolate was in incorrect phase to be prepared for running.
[        ] [VERBOSE-2:engine.cc(158)] Could not prepare to run the isolate.
[        ] [VERBOSE-2:engine.cc(117)] Engine not prepare and launch isolate.
[   +1 ms] [VERBOSE-2:FlutterViewController.mm(437)] Could not launch engine with configuration.
[ +175 ms] [KWLM]1:UITouch --><UITouch: 0x10e469370> phase: Began tap count: 1 force: 0.050 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {103.33332824707031, 394} previous location in window: {103.33332824707031, 394} location in view: {103.33332824707031, 394} previous location in view: {103.33332824707031, 394} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 12, down: true, lastPosition: Offset(103.3, 394.0))
[        ]  pointers:{1: _PointerState(pointer: 12, down: true, lastPosition: Offset(103.3, 394.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7))}
[  +11 ms] [KWLM]1:UITouch --><UITouch: 0x10e345e20> phase: Began tap count: 1 force: 0.283 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {229.33332824707031, 364.66665649414062} previous location in window: {229.33332824707031, 364.66665649414062} location in view: {229.33332824707031, 364.66665649414062} previous location in view: {229.33332824707031, 364.66665649414062} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:3
[   +1 ms] [KWLM]1:UITouch --><UITouch: 0x10e469370> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {103.33332824707031, 394} previous location in window: {103.33332824707031, 394} location in view: {103.33332824707031, 394} previous location in view: {103.33332824707031, 394} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:3 state:_PointerState(pointer: 13, down: true, lastPosition: Offset(229.3, 364.7))
[        ]  pointers:{1: _PointerState(pointer: 12, down: true, lastPosition: Offset(103.3, 394.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 13, down: true, lastPosition: Offset(229.3, 364.7))}
[  +10 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 12, down: true, lastPosition: Offset(103.3, 394.0))
[        ]  pointers:{1: _PointerState(pointer: 12, down: true, lastPosition: Offset(103.3, 394.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 13, down: true, lastPosition: Offset(229.3, 364.7))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x10e469370> phase: Moved tap count: 1 force: 0.150 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {103.33332824707031, 394} previous location in window: {103.33332824707031, 394} location in view: {103.33332824707031, 394} previous location in view: {103.33332824707031, 394} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 12, down: true, lastPosition: Offset(103.3, 394.0))
[        ]  pointers:{1: _PointerState(pointer: 12, down: true, lastPosition: Offset(103.3, 394.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 13, down: true, lastPosition: Offset(229.3, 364.7))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x10e345e20> phase: Moved tap count: 1 force: 0.217 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {229.33332824707031, 364.66665649414062} previous location in window: {229.33332824707031, 364.66665649414062} location in view: {229.33332824707031, 364.66665649414062} previous location in view: {229.33332824707031, 364.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x10e345e20> phase: Ended tap count: 1 force: 0.167 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {229.33332824707031, 364.66665649414062} previous location in window: {229.33332824707031, 364.66665649414062} location in view: {229.33332824707031, 364.66665649414062} previous location in view: {229.33332824707031, 364.66665649414062} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 13, down: true, lastPosition: Offset(229.3, 364.7))
[        ]  pointers:{1: _PointerState(pointer: 12, down: true, lastPosition: Offset(103.3, 394.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 13, down: true, lastPosition: Offset(229.3, 364.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:3 state:_PointerState(pointer: 13, down: true, lastPosition: Offset(229.3, 364.7))
[        ]  pointers:{1: _PointerState(pointer: 12, down: true, lastPosition: Offset(103.3, 394.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 13, down: true, lastPosition: Offset(229.3, 364.7))}
[  +28 ms] [KWLM]1:UITouch --><UITouch: 0x10e469370> phase: Ended tap count: 1 force: 0.150 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {103.33332824707031, 394} previous location in window: {103.33332824707031, 394} location in view: {103.33332824707031, 394} previous location in view: {103.33332824707031, 394} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 12, down: true, lastPosition: Offset(103.3, 394.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 12, down: true, lastPosition: Offset(103.3, 394.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 13, down: false, lastPosition: Offset(229.3, 364.7))}
[  +61 ms] [KWLM]1:UITouch --><UITouch: 0x109a06490> phase: Began tap count: 2 force: 0.317 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {226.33332824707031, 356} previous location in window: {226.33332824707031, 356} location in view: {226.33332824707031, 356} previous location in view: {226.33332824707031, 356} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[  +10 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 14, down: true, lastPosition: Offset(226.3, 356.0))
[        ]  pointers:{1: _PointerState(pointer: 14, down: true, lastPosition: Offset(226.3, 356.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 13, down: false, lastPosition: Offset(229.3, 364.7))}
[  +18 ms] [KWLM]1:UITouch --><UITouch: 0x109a06490> phase: Moved tap count: 2 force: 0.250 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {226.33332824707031, 356} previous location in window: {226.33332824707031, 356} location in view: {226.33332824707031, 356} previous location in view: {226.33332824707031, 356} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 14, down: true, lastPosition: Offset(226.3, 356.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 14, down: true, lastPosition: Offset(226.3, 356.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 13, down: false, lastPosition: Offset(229.3, 364.7))}
[   +4 ms] [KWLM]1:UITouch --><UITouch: 0x109a06490> phase: Ended tap count: 2 force: 0.217 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {226.33332824707031, 356} previous location in window: {226.33332824707031, 356} location in view: {226.33332824707031, 356} previous location in view: {226.33332824707031, 356} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 14, down: true, lastPosition: Offset(226.3, 356.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 14, down: true, lastPosition: Offset(226.3, 356.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 13, down: false, lastPosition: Offset(229.3, 364.7))}
[  +26 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Began tap count: 2 force: 0.000 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {95, 401.66665649414062} previous location in window: {95, 401.66665649414062} location in view: {95, 401.66665649414062} previous location in view: {95, 401.66665649414062} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[   +9 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 15, down: true, lastPosition: Offset(95.0, 401.7))
[        ]  pointers:{1: _PointerState(pointer: 15, down: true, lastPosition: Offset(95.0, 401.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 13, down: false, lastPosition: Offset(229.3, 364.7))}
[   +3 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 2 force: 0.300 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {95, 401.66665649414062} previous location in window: {95, 401.66665649414062} location in view: {95, 401.66665649414062} previous location in view: {95, 401.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 15, down: true, lastPosition: Offset(95.0, 401.7))
[        ]  pointers:{1: _PointerState(pointer: 15, down: true, lastPosition: Offset(95.0, 401.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 13, down: false, lastPosition: Offset(229.3, 364.7))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 2 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {95, 401.66665649414062} previous location in window: {95, 401.66665649414062} location in view: {95, 401.66665649414062} previous location in view: {95, 401.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 15, down: true, lastPosition: Offset(95.0, 401.7))
[        ]  pointers:{1: _PointerState(pointer: 15, down: true, lastPosition: Offset(95.0, 401.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 13, down: false, lastPosition: Offset(229.3, 364.7))}
[  +32 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 2 force: 0.467 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {95, 401.66665649414062} previous location in window: {95, 401.66665649414062} location in view: {95, 401.66665649414062} previous location in view: {95, 401.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +4 ms] [KWLM]1:UITouch --><UITouch: 0x109b05a60> phase: Began tap count: 3 force: 0.700 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {229.33332824707031, 367.66665649414062} previous location in window: {229.33332824707031, 367.66665649414062} location in view: {229.33332824707031, 367.66665649414062} previous location in view: {229.33332824707031, 367.66665649414062} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:3
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 15, down: true, lastPosition: Offset(95.0, 401.7))
[        ]  pointers:{1: _PointerState(pointer: 15, down: true, lastPosition: Offset(95.0, 401.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 13, down: false, lastPosition: Offset(229.3, 364.7))}
[   +8 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:3 state:_PointerState(pointer: 16, down: true, lastPosition: Offset(229.3, 367.7))
[        ]  pointers:{1: _PointerState(pointer: 15, down: true, lastPosition: Offset(95.0, 401.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 16, down: true, lastPosition: Offset(229.3, 367.7))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109b05a60> phase: Moved tap count: 3 force: 0.750 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {229.33332824707031, 367.66665649414062} previous location in window: {229.33332824707031, 367.66665649414062} location in view: {229.33332824707031, 367.66665649414062} previous location in view: {229.33332824707031, 367.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Ended tap count: 2 force: 0.133 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {95, 401.66665649414062} previous location in window: {95, 401.66665649414062} location in view: {95, 401.66665649414062} previous location in view: {95, 401.66665649414062} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 16, down: true, lastPosition: Offset(229.3, 367.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 15, down: true, lastPosition: Offset(95.0, 401.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 16, down: true, lastPosition: Offset(229.3, 367.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 15, down: true, lastPosition: Offset(95.0, 401.7))
[        ]  pointers:{1: _PointerState(pointer: 15, down: true, lastPosition: Offset(95.0, 401.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 16, down: true, lastPosition: Offset(229.3, 367.7))}
[  +13 ms] [KWLM]1:UITouch --><UITouch: 0x109b05a60> phase: Moved tap count: 3 force: 0.600 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {229.33332824707031, 367.66665649414062} previous location in window: {229.33332824707031, 367.66665649414062} location in view: {229.33332824707031, 367.66665649414062} previous location in view: {229.33332824707031, 367.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 16, down: true, lastPosition: Offset(229.3, 367.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 15, down: false, lastPosition: Offset(95.0, 401.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 16, down: true, lastPosition: Offset(229.3, 367.7))}
[   +6 ms] [KWLM]1:UITouch --><UITouch: 0x109b05a60> phase: Moved tap count: 3 force: 0.500 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {229.33332824707031, 367.66665649414062} previous location in window: {229.33332824707031, 367.66665649414062} location in view: {229.33332824707031, 367.66665649414062} previous location in view: {229.33332824707031, 367.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 16, down: true, lastPosition: Offset(229.3, 367.7))
[        ]  pointers:{1: _PointerState(pointer: 15, down: false, lastPosition: Offset(95.0, 401.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 16, down: true, lastPosition: Offset(229.3, 367.7))}
[   +4 ms] [KWLM]1:UITouch --><UITouch: 0x109b05a60> phase: Ended tap count: 3 force: 0.417 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {229.33332824707031, 367.66665649414062} previous location in window: {229.33332824707031, 367.66665649414062} location in view: {229.33332824707031, 367.66665649414062} previous location in view: {229.33332824707031, 367.66665649414062} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:3 state:_PointerState(pointer: 16, down: true, lastPosition: Offset(229.3, 367.7))
[        ]  pointers:{1: _PointerState(pointer: 15, down: false, lastPosition: Offset(95.0, 401.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 16, down: true, lastPosition: Offset(229.3, 367.7))}
[  +51 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Began tap count: 3 force: 0.000 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {102.66665649414062, 398.33332824707031} previous location in window: {102.66665649414062, 398.33332824707031} location in view: {102.66665649414062, 398.33332824707031} previous location in view: {102.66665649414062, 398.33332824707031} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[  +10 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3))
[        ]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 16, down: false, lastPosition: Offset(229.3, 367.7))}
[   +3 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.317 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {102.66665649414062, 398.33332824707031} previous location in window: {102.66665649414062, 398.33332824707031} location in view: {102.66665649414062, 398.33332824707031} previous location in view: {102.66665649414062, 398.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Began tap count: 4 force: 0.483 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.33332824707031, 356.66665649414062} previous location in window: {228.33332824707031, 356.66665649414062} location in view: {228.33332824707031, 356.66665649414062} previous location in view: {228.33332824707031, 356.66665649414062} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:3
[   +5 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.533 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {102.66665649414062, 398.33332824707031} previous location in window: {102.66665649414062, 398.33332824707031} location in view: {102.66665649414062, 398.33332824707031} previous location in view: {102.66665649414062, 398.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3))
[        ]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 16, down: false, lastPosition: Offset(229.3, 367.7))}
[   +8 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Moved tap count: 4 force: 0.667 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.33332824707031, 356.66665649414062} previous location in window: {228.33332824707031, 356.66665649414062} location in view: {228.33332824707031, 356.66665649414062} previous location in view: {228.33332824707031, 356.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.667 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {102.66665649414062, 398.33332824707031} previous location in window: {102.66665649414062, 398.33332824707031} location in view: {102.66665649414062, 398.33332824707031} previous location in view: {102.66665649414062, 398.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:3 state:_PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))
[        ]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))
[        ]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3))
[        ]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Moved tap count: 4 force: 0.783 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.33332824707031, 356.66665649414062} previous location in window: {228.33332824707031, 356.66665649414062} location in view: {228.33332824707031, 356.66665649414062} previous location in view: {228.33332824707031, 356.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.783 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {102.66665649414062, 398.33332824707031} previous location in window: {102.66665649414062, 398.33332824707031} location in view: {102.66665649414062, 398.33332824707031} previous location in view: {102.66665649414062, 398.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))
[        ]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3))
[        ]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))}
[   +6 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Moved tap count: 4 force: 0.700 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.33332824707031, 356.66665649414062} previous location in window: {228.33332824707031, 356.66665649414062} location in view: {228.33332824707031, 356.66665649414062} previous location in view: {228.33332824707031, 356.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.850 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {102.66665649414062, 398.33332824707031} previous location in window: {102.66665649414062, 398.33332824707031} location in view: {102.66665649414062, 398.33332824707031} previous location in view: {102.66665649414062, 398.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))
[        ]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3))
[        ]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))}
[   +9 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Moved tap count: 4 force: 0.583 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.33332824707031, 356.66665649414062} previous location in window: {228.33332824707031, 356.66665649414062} location in view: {228.33332824707031, 356.66665649414062} previous location in view: {228.33332824707031, 356.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Ended tap count: 4 force: 0.133 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.33332824707031, 356.66665649414062} previous location in window: {228.33332824707031, 356.66665649414062} location in view: {228.33332824707031, 356.66665649414062} previous location in view: {228.33332824707031, 356.66665649414062} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))
[        ]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:3 state:_PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))
[        ]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: true, lastPosition: Offset(228.3, 356.7))}
[  +20 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.733 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {102.66665649414062, 398.33332824707031} previous location in window: {102.66665649414062, 398.33332824707031} location in view: {102.66665649414062, 398.33332824707031} previous location in view: {102.66665649414062, 398.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[   +4 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Ended tap count: 3 force: 0.617 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {102.66665649414062, 398.33332824707031} previous location in window: {102.66665649414062, 398.33332824707031} location in view: {102.66665649414062, 398.33332824707031} previous location in view: {102.66665649414062, 398.33332824707031} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3))
[        ]  pointers:{1: _PointerState(pointer: 17, down: true, lastPosition: Offset(102.7, 398.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[ +244 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Began tap count: 1 force: 0.167 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.33332824707031, 213.33332824707031} previous location in window: {228.33332824707031, 213.33332824707031} location in view: {228.33332824707031, 213.33332824707031} previous location in view: {228.33332824707031, 213.33332824707031} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[  +11 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 213.3))
[        ]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 213.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.433 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.33332824707031, 213.33332824707031} previous location in window: {228.33332824707031, 213.33332824707031} location in view: {228.33332824707031, 213.33332824707031} previous location in view: {228.33332824707031, 213.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 213.3))
[        ]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 213.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[   +3 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.500 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.33332824707031, 213.33332824707031} previous location in window: {228.33332824707031, 213.33332824707031} location in view: {228.33332824707031, 213.33332824707031} previous location in view: {228.33332824707031, 213.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 213.3))
[        ]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 213.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[  +15 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.550 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.33332824707031, 218.66665649414062} previous location in window: {228.33332824707031, 213.33332824707031} location in view: {228.33332824707031, 218.66665649414062} previous location in view: {228.33332824707031, 213.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 218.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 218.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.583 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.33332824707031, 228.33332824707031} previous location in window: {228.33332824707031, 218.66665649414062} location in view: {228.33332824707031, 228.33332824707031} previous location in view: {228.33332824707031, 218.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +8 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 228.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 228.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[   +6 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.583 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.33332824707031, 242.66665649414062} previous location in window: {228.33332824707031, 228.33332824707031} location in view: {228.33332824707031, 242.66665649414062} previous location in view: {228.33332824707031, 228.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +3 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 242.7))
[        ]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 242.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[  +10 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.600 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.33332824707031, 257} previous location in window: {228.33332824707031, 242.66665649414062} location in view: {228.33332824707031, 257} previous location in view: {228.33332824707031, 242.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 257.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(228.3, 257.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.617 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {227.66665649414062, 268} previous location in window: {228.33332824707031, 257} location in view: {227.66665649414062, 268} previous location in view: {228.33332824707031, 257} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(227.7, 268.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(227.7, 268.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[  +13 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.617 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {227.66665649414062, 274.66665649414062} previous location in window: {227.66665649414062, 268} location in view: {227.66665649414062, 274.66665649414062} previous location in view: {227.66665649414062, 268} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(227.7, 274.7))
[        ]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(227.7, 274.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.633 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {227.66665649414062, 278} previous location in window: {227.66665649414062, 274.66665649414062} location in view: {227.66665649414062, 278} previous location in view: {227.66665649414062, 274.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(227.7, 278.0))
[        ]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(227.7, 278.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[  +15 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.633 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228, 279.33332824707031} previous location in window: {227.66665649414062, 278} location in view: {228, 279.33332824707031} previous location in view: {227.66665649414062, 278} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(228.0, 279.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(228.0, 279.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.633 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {228.66665649414062, 279.66665649414062} previous location in window: {228, 279.33332824707031} location in view: {228.66665649414062, 279.66665649414062} previous location in view: {228, 279.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(228.7, 279.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(228.7, 279.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[  +13 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.500 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {229, 279.66665649414062} previous location in window: {228.66665649414062, 279.66665649414062} location in view: {229, 279.66665649414062} previous location in view: {228.66665649414062, 279.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(229.0, 279.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(229.0, 279.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Ended tap count: 0 force: 0.417 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {231.66665649414062, 280.33332824707031} previous location in window: {229, 279.66665649414062} location in view: {231.66665649414062, 280.33332824707031} previous location in view: {229, 279.66665649414062} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 19, down: true, lastPosition: Offset(229.0, 279.7))
[        ]  pointers:{1: _PointerState(pointer: 19, down: true, lastPosition: Offset(229.0, 279.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[ +108 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Began tap count: 1 force: 0.700 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {249.33332824707031, 250} previous location in window: {249.33332824707031, 250} location in view: {249.33332824707031, 250} previous location in view: {249.33332824707031, 250} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[   +8 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0))
[        ]  pointers:{1: _PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[   +4 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Moved tap count: 1 force: 0.867 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {249.33332824707031, 250} previous location in window: {249.33332824707031, 250} location in view: {249.33332824707031, 250} previous location in view: {249.33332824707031, 250} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0))
[        ]  pointers:{1: _PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[  +23 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Moved tap count: 1 force: 0.883 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {249.33332824707031, 250} previous location in window: {249.33332824707031, 250} location in view: {249.33332824707031, 250} previous location in view: {249.33332824707031, 250} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +3 ms] [KWLM]1:UITouch --><UITouch: 0x109a06490> phase: Began tap count: 1 force: 0.300 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {139.66665649414062, 448.66665649414062} previous location in window: {139.66665649414062, 448.66665649414062} location in view: {139.66665649414062, 448.66665649414062} previous location in view: {139.66665649414062, 448.66665649414062} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0))
[        ]  pointers:{1: _PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 18, down: false, lastPosition: Offset(228.3, 356.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:3 state:_PointerState(pointer: 21, down: true, lastPosition: Offset(139.7, 448.7))
[        ]  pointers:{1: _PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: true, lastPosition: Offset(139.7, 448.7))}
[   +1 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Moved tap count: 1 force: 0.800 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {249.33332824707031, 250} previous location in window: {249.33332824707031, 250} location in view: {249.33332824707031, 250} previous location in view: {249.33332824707031, 250} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109a06490> phase: Moved tap count: 1 force: 0.467 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {139.66665649414062, 448.66665649414062} previous location in window: {139.66665649414062, 448.66665649414062} location in view: {139.66665649414062, 448.66665649414062} previous location in view: {139.66665649414062, 448.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0))
[        ]  pointers:{1: _PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: true, lastPosition: Offset(139.7, 448.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 21, down: true, lastPosition: Offset(139.7, 448.7))
[        ]  pointers:{1: _PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: true, lastPosition: Offset(139.7, 448.7))}
[  +11 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Moved tap count: 1 force: 0.533 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {249.33332824707031, 250} previous location in window: {249.33332824707031, 250} location in view: {249.33332824707031, 250} previous location in view: {249.33332824707031, 250} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109a06490> phase: Moved tap count: 1 force: 0.717 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {139.66665649414062, 448.66665649414062} previous location in window: {139.66665649414062, 448.66665649414062} location in view: {139.66665649414062, 448.66665649414062} previous location in view: {139.66665649414062, 448.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0))
[        ]  pointers:{1: _PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: true, lastPosition: Offset(139.7, 448.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 21, down: true, lastPosition: Offset(139.7, 448.7))
[        ]  pointers:{1: _PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: true, lastPosition: Offset(139.7, 448.7))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109a06490> phase: Moved tap count: 1 force: 0.733 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {139.66665649414062, 448.66665649414062} previous location in window: {139.66665649414062, 448.66665649414062} location in view: {139.66665649414062, 448.66665649414062} previous location in view: {139.66665649414062, 448.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[   +1 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Ended tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {249.33332824707031, 250} previous location in window: {249.33332824707031, 250} location in view: {249.33332824707031, 250} previous location in view: {249.33332824707031, 250} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 21, down: true, lastPosition: Offset(139.7, 448.7))
[        ]  pointers:{1: _PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: true, lastPosition: Offset(139.7, 448.7))}
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0))
[        ]  pointers:{1: _PointerState(pointer: 20, down: true, lastPosition: Offset(249.3, 250.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: true, lastPosition: Offset(139.7, 448.7))}
[  +45 ms] [KWLM]1:UITouch --><UITouch: 0x109a06490> phase: Ended tap count: 1 force: 0.650 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {139.66665649414062, 448.66665649414062} previous location in window: {139.66665649414062, 448.66665649414062} location in view: {139.66665649414062, 448.66665649414062} previous location in view: {139.66665649414062, 448.66665649414062} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:3 state:_PointerState(pointer: 21, down: true, lastPosition: Offset(139.7, 448.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 20, down: false, lastPosition: Offset(249.3, 250.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: true, lastPosition: Offset(139.7, 448.7))}
[   +7 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Began tap count: 2 force: 0.267 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 236.33332824707031} previous location in window: {258, 236.33332824707031} location in view: {258, 236.33332824707031} previous location in view: {258, 236.33332824707031} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[   +7 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 22, down: true, lastPosition: Offset(258.0, 236.3))
[        ]  pointers:{1: _PointerState(pointer: 22, down: true, lastPosition: Offset(258.0, 236.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: false, lastPosition: Offset(139.7, 448.7))}
[   +5 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 2 force: 0.650 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 236.33332824707031} previous location in window: {258, 236.33332824707031} location in view: {258, 236.33332824707031} previous location in view: {258, 236.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 22, down: true, lastPosition: Offset(258.0, 236.3))
[        ]  pointers:{1: _PointerState(pointer: 22, down: true, lastPosition: Offset(258.0, 236.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: false, lastPosition: Offset(139.7, 448.7))}
[  +15 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 2 force: 0.817 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 236.33332824707031} previous location in window: {258, 236.33332824707031} location in view: {258, 236.33332824707031} previous location in view: {258, 236.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 22, down: true, lastPosition: Offset(258.0, 236.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 22, down: true, lastPosition: Offset(258.0, 236.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: false, lastPosition: Offset(139.7, 448.7))}
[  +31 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 2 force: 0.750 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 236.33332824707031} previous location in window: {258, 236.33332824707031} location in view: {258, 236.33332824707031} previous location in view: {258, 236.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 22, down: true, lastPosition: Offset(258.0, 236.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 22, down: true, lastPosition: Offset(258.0, 236.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: false, lastPosition: Offset(139.7, 448.7))}
[   +5 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 2 force: 0.650 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 236.33332824707031} previous location in window: {258, 236.33332824707031} location in view: {258, 236.33332824707031} previous location in view: {258, 236.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 22, down: true, lastPosition: Offset(258.0, 236.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 22, down: true, lastPosition: Offset(258.0, 236.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: false, lastPosition: Offset(139.7, 448.7))}
[   +6 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Ended tap count: 2 force: 0.533 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 236.33332824707031} previous location in window: {258, 236.33332824707031} location in view: {258, 236.33332824707031} previous location in view: {258, 236.33332824707031} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 22, down: true, lastPosition: Offset(258.0, 236.3))
[        ]  pointers:{1: _PointerState(pointer: 22, down: true, lastPosition: Offset(258.0, 236.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: false, lastPosition: Offset(139.7, 448.7))}
[  +22 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Began tap count: 2 force: 0.000 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {144.33332824707031, 443.66665649414062} previous location in window: {144.33332824707031, 443.66665649414062} location in view: {144.33332824707031, 443.66665649414062} previous location in view: {144.33332824707031, 443.66665649414062} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[   +7 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7))
[        ]  pointers:{1: _PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: false, lastPosition: Offset(139.7, 448.7))}
[   +3 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Moved tap count: 2 force: 0.333 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {144.33332824707031, 443.66665649414062} previous location in window: {144.33332824707031, 443.66665649414062} location in view: {144.33332824707031, 443.66665649414062} previous location in view: {144.33332824707031, 443.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7))
[        ]  pointers:{1: _PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: false, lastPosition: Offset(139.7, 448.7))}
[  +12 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Moved tap count: 2 force: 0.583 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {144.33332824707031, 443.66665649414062} previous location in window: {144.33332824707031, 443.66665649414062} location in view: {144.33332824707031, 443.66665649414062} previous location in view: {144.33332824707031, 443.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7))
[        ]  pointers:{1: _PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 21, down: false, lastPosition: Offset(139.7, 448.7))}
[   +9 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Began tap count: 3 force: 0.433 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {259, 227.33332824707031} previous location in window: {259, 227.33332824707031} location in view: {259, 227.33332824707031} previous location in view: {259, 227.33332824707031} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:3
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Moved tap count: 2 force: 0.600 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {144.33332824707031, 443.66665649414062} previous location in window: {144.33332824707031, 443.66665649414062} location in view: {144.33332824707031, 443.66665649414062} previous location in view: {144.33332824707031, 443.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +4 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:3 state:_PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))
[        ]  pointers:{1: _PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))}
[   +7 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 0.850 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {259, 227.33332824707031} previous location in window: {259, 227.33332824707031} location in view: {259, 227.33332824707031} previous location in view: {259, 227.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7))
[        ]  pointers:{1: _PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))
[        ]  pointers:{1: _PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))}
[   +3 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 1.417 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {259, 227.33332824707031} previous location in window: {259, 227.33332824707031} location in view: {259, 227.33332824707031} previous location in view: {259, 227.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))
[        ]  pointers:{1: _PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))}
[  +15 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 1.500 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {259, 227.33332824707031} previous location in window: {259, 227.33332824707031} location in view: {259, 227.33332824707031} previous location in view: {259, 227.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Moved tap count: 2 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {144.33332824707031, 443.66665649414062} previous location in window: {144.33332824707031, 443.66665649414062} location in view: {144.33332824707031, 443.66665649414062} previous location in view: {144.33332824707031, 443.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))
[        ]  pointers:{1: _PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))}
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109d03820> phase: Ended tap count: 2 force: 0.133 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {144.33332824707031, 443.66665649414062} previous location in window: {144.33332824707031, 443.66665649414062} location in view: {144.33332824707031, 443.66665649414062} previous location in view: {144.33332824707031, 443.66665649414062} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7))
[        ]  pointers:{1: _PointerState(pointer: 23, down: true, lastPosition: Offset(144.3, 443.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))}
[  +12 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 1.350 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {259, 227.33332824707031} previous location in window: {259, 227.33332824707031} location in view: {259, 227.33332824707031} previous location in view: {259, 227.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 23, down: false, lastPosition: Offset(144.3, 443.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))}
[   +8 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Moved tap count: 3 force: 1.183 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {259, 227.33332824707031} previous location in window: {259, 227.33332824707031} location in view: {259, 227.33332824707031} previous location in view: {259, 227.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:3 state:_PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 23, down: false, lastPosition: Offset(144.3, 443.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))}
[   +4 ms] [KWLM]1:UITouch --><UITouch: 0x109c008f0> phase: Ended tap count: 3 force: 0.983 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {259, 227.33332824707031} previous location in window: {259, 227.33332824707031} location in view: {259, 227.33332824707031} previous location in view: {259, 227.33332824707031} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:3
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:3 state:_PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 23, down: false, lastPosition: Offset(144.3, 443.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: true, lastPosition: Offset(259.0, 227.3))}
[ +234 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Began tap count: 1 force: 0.317 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {245.66665649414062, 399} previous location in window: {245.66665649414062, 399} location in view: {245.66665649414062, 399} previous location in view: {245.66665649414062, 399} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[  +10 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(245.7, 399.0))
[        ]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(245.7, 399.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.367 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {246.66665649414062, 390.66665649414062} previous location in window: {245.66665649414062, 399} location in view: {246.66665649414062, 390.66665649414062} previous location in view: {245.66665649414062, 399} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(246.7, 390.7))
[        ]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(246.7, 390.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +6 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.400 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {246.66665649414062, 383.33332824707031} previous location in window: {246.66665649414062, 390.66665649414062} location in view: {246.66665649414062, 383.33332824707031} previous location in view: {246.66665649414062, 390.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +5 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(246.7, 383.3))
[        ]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(246.7, 383.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +9 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.433 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {250.33332824707031, 365} previous location in window: {246.66665649414062, 383.33332824707031} location in view: {250.33332824707031, 365} previous location in view: {246.66665649414062, 383.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +5 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(250.3, 365.0))
[        ]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(250.3, 365.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +9 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {257, 344} previous location in window: {250.33332824707031, 365} location in view: {257, 344} previous location in view: {250.33332824707031, 365} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(257.0, 344.0))
[        ]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(257.0, 344.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {264.66665649414062, 320.33332824707031} previous location in window: {257, 344} location in view: {264.66665649414062, 320.33332824707031} previous location in view: {257, 344} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(264.7, 320.3))
[        ]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(264.7, 320.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {272, 296.33332824707031} previous location in window: {264.66665649414062, 320.33332824707031} location in view: {272, 296.33332824707031} previous location in view: {264.66665649414062, 320.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(272.0, 296.3))
[        ]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(272.0, 296.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +15 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {277.33332824707031, 273.66665649414062} previous location in window: {272, 296.33332824707031} location in view: {277.33332824707031, 273.66665649414062} previous location in view: {272, 296.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(277.3, 273.7))
[        ]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(277.3, 273.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +10 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {281, 256} previous location in window: {277.33332824707031, 273.66665649414062} location in view: {281, 256} previous location in view: {277.33332824707031, 273.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(281.0, 256.0))
[        ]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(281.0, 256.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +13 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {283.33332824707031, 242.66665649414062} previous location in window: {281, 256} location in view: {283.33332824707031, 242.66665649414062} previous location in view: {281, 256} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(283.3, 242.7))
[        ]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(283.3, 242.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +15 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {285.33332824707031, 233} previous location in window: {283.33332824707031, 242.66665649414062} location in view: {285.33332824707031, 233} previous location in view: {283.33332824707031, 242.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(285.3, 233.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(285.3, 233.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +12 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {287.33332824707031, 226.33332824707031} previous location in window: {285.33332824707031, 233} location in view: {287.33332824707031, 226.33332824707031} previous location in view: {285.33332824707031, 233} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(287.3, 226.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(287.3, 226.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +11 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {289, 221} previous location in window: {287.33332824707031, 226.33332824707031} location in view: {289, 221} previous location in view: {287.33332824707031, 226.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(289.0, 221.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(289.0, 221.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +13 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {290.66665649414062, 217} previous location in window: {289, 221} location in view: {290.66665649414062, 217} previous location in view: {289, 221} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(290.7, 217.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(290.7, 217.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +12 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {292, 214} previous location in window: {290.66665649414062, 217} location in view: {292, 214} previous location in view: {290.66665649414062, 217} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(292.0, 214.0))
[        ]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(292.0, 214.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +13 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {292.66665649414062, 212.33332824707031} previous location in window: {292, 214} location in view: {292.66665649414062, 212.33332824707031} previous location in view: {292, 214} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(292.7, 212.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(292.7, 212.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {293.33332824707031, 211.33332824707031} previous location in window: {292.66665649414062, 212.33332824707031} location in view: {293.33332824707031, 211.33332824707031} previous location in view: {292.66665649414062, 212.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(293.3, 211.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(293.3, 211.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +13 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {293.33332824707031, 210.66665649414062} previous location in window: {293.33332824707031, 211.33332824707031} location in view: {293.33332824707031, 210.66665649414062} previous location in view: {293.33332824707031, 211.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +3 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(293.3, 210.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(293.3, 210.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +12 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {293.66665649414062, 210} previous location in window: {293.33332824707031, 210.66665649414062} location in view: {293.66665649414062, 210} previous location in view: {293.33332824707031, 210.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +3 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(293.7, 210.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(293.7, 210.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +10 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {293.66665649414062, 209.66665649414062} previous location in window: {293.66665649414062, 210} location in view: {293.66665649414062, 209.66665649414062} previous location in view: {293.66665649414062, 210} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +3 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(293.7, 209.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(293.7, 209.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +11 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {294, 209} previous location in window: {293.66665649414062, 209.66665649414062} location in view: {294, 209} previous location in view: {293.66665649414062, 209.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +3 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(294.0, 209.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(294.0, 209.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +12 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.450 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {294.33332824707031, 208.33332824707031} previous location in window: {294, 209} location in view: {294.33332824707031, 208.33332824707031} previous location in view: {294, 209} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +4 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(294.3, 208.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(294.3, 208.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +10 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.383 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {295.33332824707031, 208} previous location in window: {294.33332824707031, 208.33332824707031} location in view: {295.33332824707031, 208} previous location in view: {294.33332824707031, 208.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(295.3, 208.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(295.3, 208.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +10 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Moved tap count: 1 force: 0.317 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {296.66665649414062, 208} previous location in window: {295.33332824707031, 208} location in view: {296.66665649414062, 208} previous location in view: {295.33332824707031, 208} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109b0f010> phase: Ended tap count: 0 force: 0.267 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {298.33332824707031, 206} previous location in window: {296.66665649414062, 208} location in view: {298.33332824707031, 206} previous location in view: {296.66665649414062, 208} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(296.7, 208.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(296.7, 208.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 25, down: true, lastPosition: Offset(296.7, 208.0))
[        ]  pointers:{1: _PointerState(pointer: 25, down: true, lastPosition: Offset(296.7, 208.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[ +171 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Began tap count: 1 force: 0.083 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {258, 406} previous location in window: {258, 406} location in view: {258, 406} previous location in view: {258, 406} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[  +10 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 26, down: true, lastPosition: Offset(258.0, 406.0))
[        ]  pointers:{1: _PointerState(pointer: 26, down: true, lastPosition: Offset(258.0, 406.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.183 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {260.66665649414062, 393.33332824707031} previous location in window: {258, 406} location in view: {260.66665649414062, 393.33332824707031} previous location in view: {258, 406} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 26, down: true, lastPosition: Offset(260.7, 393.3))
[        ]  pointers:{1: _PointerState(pointer: 26, down: true, lastPosition: Offset(260.7, 393.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +5 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.250 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {261, 381.33332824707031} previous location in window: {260.66665649414062, 393.33332824707031} location in view: {261, 381.33332824707031} previous location in view: {260.66665649414062, 393.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +5 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 26, down: true, lastPosition: Offset(261.0, 381.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 26, down: true, lastPosition: Offset(261.0, 381.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +10 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.300 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {267.66665649414062, 354} previous location in window: {261, 381.33332824707031} location in view: {267.66665649414062, 354} previous location in view: {261, 381.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +4 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 26, down: true, lastPosition: Offset(267.7, 354.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 26, down: true, lastPosition: Offset(267.7, 354.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +10 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.317 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {280.33332824707031, 310.33332824707031} previous location in window: {267.66665649414062, 354} location in view: {280.33332824707031, 310.33332824707031} previous location in view: {267.66665649414062, 354} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 26, down: true, lastPosition: Offset(280.3, 310.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 26, down: true, lastPosition: Offset(280.3, 310.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +11 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.317 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {296.33332824707031, 267} previous location in window: {280.33332824707031, 310.33332824707031} location in view: {296.33332824707031, 267} previous location in view: {280.33332824707031, 310.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 26, down: true, lastPosition: Offset(296.3, 267.0))
[        ]  pointers:{1: _PointerState(pointer: 26, down: true, lastPosition: Offset(296.3, 267.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.317 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {314.33332824707031, 225.66665649414062} previous location in window: {296.33332824707031, 267} location in view: {314.33332824707031, 225.66665649414062} previous location in view: {296.33332824707031, 267} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 26, down: true, lastPosition: Offset(314.3, 225.7))
[        ]  pointers:{1: _PointerState(pointer: 26, down: true, lastPosition: Offset(314.3, 225.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +2 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Ended tap count: 0 force: 0.317 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {325.33332824707031, 203} previous location in window: {314.33332824707031, 225.66665649414062} location in view: {325.33332824707031, 203} previous location in view: {314.33332824707031, 225.66665649414062} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 26, down: true, lastPosition: Offset(314.3, 225.7))
[        ]  pointers:{1: _PointerState(pointer: 26, down: true, lastPosition: Offset(314.3, 225.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[ +396 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Began tap count: 1 force: 0.583 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {318.66665649414062, 202.33332824707031} previous location in window: {318.66665649414062, 202.33332824707031} location in view: {318.66665649414062, 202.33332824707031} previous location in view: {318.66665649414062, 202.33332824707031} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[  +10 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 27, down: true, lastPosition: Offset(318.7, 202.3))
[        ]  pointers:{1: _PointerState(pointer: 27, down: true, lastPosition: Offset(318.7, 202.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +3 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.783 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {313, 217.66665649414062} previous location in window: {318.66665649414062, 202.33332824707031} location in view: {313, 217.66665649414062} previous location in view: {318.66665649414062, 202.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 27, down: true, lastPosition: Offset(313.0, 217.7))
[        ]  pointers:{1: _PointerState(pointer: 27, down: true, lastPosition: Offset(313.0, 217.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +9 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.883 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {306.66665649414062, 251.33332824707031} previous location in window: {313, 217.66665649414062} location in view: {306.66665649414062, 251.33332824707031} previous location in view: {313, 217.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 27, down: true, lastPosition: Offset(306.7, 251.3))
[        ]  pointers:{1: _PointerState(pointer: 27, down: true, lastPosition: Offset(306.7, 251.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +15 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.883 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {291.33332824707031, 304.33332824707031} previous location in window: {306.66665649414062, 251.33332824707031} location in view: {291.33332824707031, 304.33332824707031} previous location in view: {306.66665649414062, 251.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +3 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 27, down: true, lastPosition: Offset(291.3, 304.3))
[        ]  pointers:{1: _PointerState(pointer: 27, down: true, lastPosition: Offset(291.3, 304.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +12 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.883 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {277.66665649414062, 362.33332824707031} previous location in window: {291.33332824707031, 304.33332824707031} location in view: {277.66665649414062, 362.33332824707031} previous location in view: {291.33332824707031, 304.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 27, down: true, lastPosition: Offset(277.7, 362.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 27, down: true, lastPosition: Offset(277.7, 362.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +13 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.683 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {273, 413} previous location in window: {277.66665649414062, 362.33332824707031} location in view: {273, 413} previous location in view: {277.66665649414062, 362.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 27, down: true, lastPosition: Offset(273.0, 413.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 27, down: true, lastPosition: Offset(273.0, 413.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.467 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {274.66665649414062, 446.33332824707031} previous location in window: {273, 413} location in view: {274.66665649414062, 446.33332824707031} previous location in view: {273, 413} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 27, down: true, lastPosition: Offset(274.7, 446.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 27, down: true, lastPosition: Offset(274.7, 446.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +3 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Ended tap count: 0 force: 0.383 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {279.66665649414062, 459.33332824707031} previous location in window: {274.66665649414062, 446.33332824707031} location in view: {279.66665649414062, 459.33332824707031} previous location in view: {274.66665649414062, 446.33332824707031} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 27, down: true, lastPosition: Offset(274.7, 446.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 27, down: true, lastPosition: Offset(274.7, 446.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[+3571 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Began tap count: 1 force: 0.000 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {164.66665649414062, 466} previous location in window: {164.66665649414062, 466} location in view: {164.66665649414062, 466} previous location in view: {164.66665649414062, 466} 
[        ]  Phase:UITouchPhaseBegan 
[        ]  device_id:1
[  +10 ms] flutter: [KWLM]2:ui.PointerChange.down
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(164.7, 466.0))
[        ]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(164.7, 466.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +7 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.033 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {164.66665649414062, 466} previous location in window: {164.66665649414062, 466} location in view: {164.66665649414062, 466} previous location in view: {164.66665649414062, 466} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(164.7, 466.0))
[        ]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(164.7, 466.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +6 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.050 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {164.66665649414062, 466} previous location in window: {164.66665649414062, 466} location in view: {164.66665649414062, 466} previous location in view: {164.66665649414062, 466} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(164.7, 466.0))
[        ]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(164.7, 466.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +7 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.050 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {161, 449.66665649414062} previous location in window: {164.66665649414062, 466} location in view: {161, 449.66665649414062} previous location in view: {164.66665649414062, 466} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(161.0, 449.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(161.0, 449.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +13 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.083 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {161, 444} previous location in window: {161, 449.66665649414062} location in view: {161, 444} previous location in view: {161, 449.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(161.0, 444.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(161.0, 444.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +15 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {159, 437.33332824707031} previous location in window: {161, 444} location in view: {159, 437.33332824707031} previous location in view: {161, 444} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +3 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(159.0, 437.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(159.0, 437.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +10 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {155.66665649414062, 431} previous location in window: {159, 437.33332824707031} location in view: {155.66665649414062, 431} previous location in view: {159, 437.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(155.7, 431.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(155.7, 431.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +15 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {151.66665649414062, 424} previous location in window: {155.66665649414062, 431} location in view: {151.66665649414062, 424} previous location in view: {155.66665649414062, 431} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(151.7, 424.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(151.7, 424.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +10 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {147, 417} previous location in window: {151.66665649414062, 424} location in view: {147, 417} previous location in view: {151.66665649414062, 424} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(147.0, 417.0))
[        ]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(147.0, 417.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {143, 411} previous location in window: {147, 417} location in view: {143, 411} previous location in view: {147, 417} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(143.0, 411.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(143.0, 411.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {140.33332824707031, 406} previous location in window: {143, 411} location in view: {140.33332824707031, 406} previous location in view: {143, 411} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(140.3, 406.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(140.3, 406.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +11 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {138.33332824707031, 403.33332824707031} previous location in window: {140.33332824707031, 406} location in view: {138.33332824707031, 403.33332824707031} previous location in view: {140.33332824707031, 406} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +3 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(138.3, 403.3))
[        ]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(138.3, 403.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +13 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {136, 400.66665649414062} previous location in window: {138.33332824707031, 403.33332824707031} location in view: {136, 400.66665649414062} previous location in view: {138.33332824707031, 403.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(136.0, 400.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(136.0, 400.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +13 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {133.33332824707031, 397.66665649414062} previous location in window: {136, 400.66665649414062} location in view: {133.33332824707031, 397.66665649414062} previous location in view: {136, 400.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(133.3, 397.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(133.3, 397.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +10 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {131, 394.66665649414062} previous location in window: {133.33332824707031, 397.66665649414062} location in view: {131, 394.66665649414062} previous location in view: {133.33332824707031, 397.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +1 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(131.0, 394.7))
[        ]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(131.0, 394.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {129, 392} previous location in window: {131, 394.66665649414062} location in view: {129, 392} previous location in view: {131, 394.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(129.0, 392.0))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(129.0, 392.0)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +14 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {127.66665649414062, 390.66665649414062} previous location in window: {129, 392} location in view: {127.66665649414062, 390.66665649414062} previous location in view: {129, 392} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +3 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(127.7, 390.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(127.7, 390.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +12 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {127, 389.66665649414062} previous location in window: {127.66665649414062, 390.66665649414062} location in view: {127, 389.66665649414062} previous location in view: {127.66665649414062, 390.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[   +2 ms] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(127.0, 389.7))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(127.0, 389.7)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +28 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {126.66665649414062, 389.33332824707031} previous location in window: {127, 389.66665649414062} location in view: {126.66665649414062, 389.33332824707031} previous location in view: {127, 389.66665649414062} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(126.7, 389.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(126.7, 389.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +87 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {126.33332824707031, 389.33332824707031} previous location in window: {126.66665649414062, 389.33332824707031} location in view: {126.33332824707031, 389.33332824707031} previous location in view: {126.66665649414062, 389.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(126.3, 389.3))
[        ]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(126.3, 389.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +33 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {126, 389.33332824707031} previous location in window: {126.33332824707031, 389.33332824707031} location in view: {126, 389.33332824707031} previous location in view: {126.33332824707031, 389.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(126.0, 389.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(126.0, 389.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[  +23 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {125.66665649414062, 389.33332824707031} previous location in window: {126, 389.33332824707031} location in view: {125.66665649414062, 389.33332824707031} previous location in view: {126, 389.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(125.7, 389.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(125.7, 389.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +5 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Moved tap count: 1 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {124.66665649414062, 389.33332824707031} previous location in window: {125.66665649414062, 389.33332824707031} location in view: {124.66665649414062, 389.33332824707031} previous location in view: {125.66665649414062, 389.33332824707031} 
[        ]  Phase:UITouchPhaseMoved 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.move
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(124.7, 389.3))
[        ]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(124.7, 389.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}
[   +7 ms] [KWLM]1:UITouch --><UITouch: 0x109a01a40> phase: Ended tap count: 0 force: 0.100 window: <UIWindow: 0x10e308ac0; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x1d40490c0>; layer = <UIWindowLayer: 0x1d4036fc0>> view: <FlutterView: 0x10e409c70; frame = (0 0; 375 812); autoresize = W+H; layer = <CAEAGLLayer: 0x1d0035cc0>> location in window: {123, 389} previous location in window: {124.66665649414062, 389.33332824707031} location in view: {123, 389} previous location in view: {124.66665649414062, 389.33332824707031} 
[        ]  Phase:UITouchPhaseEnded 
[        ]  device_id:1
[        ] flutter: [KWLM]2:ui.PointerChange.up/cancel
[        ]  device_id:1 state:_PointerState(pointer: 28, down: true, lastPosition: Offset(124.7, 389.3))
[   +1 ms]  pointers:{1: _PointerState(pointer: 28, down: true, lastPosition: Offset(124.7, 389.3)), 2: _PointerState(pointer: 11, down: true, lastPosition: Offset(224.3, 264.7)), 3: _PointerState(pointer: 24, down: false, lastPosition: Offset(259.0, 227.3))}

Here, pointer: 11 is related to device_id:2 and generated from UITouch: 0x10e469370

Search 0x10e469370 and we'll see:

UITouchPhaseBegan(device_id:2)
UITouchPhaseBegan(device_id:1)
UITouchPhaseMoved
UITouchPhaseMoved
UITouchPhaseEnded

Similar to case1, One UITouch refers to two device_ids, and only one is finished.

@kangwang1988
Copy link
Contributor Author

kangwang1988 commented Sep 13, 2018

As to the cla, we are "Corporate signers".
image
Previously, I've also filed a pr in flutter repo.
image

My email is: kang.wang1988@gmail.com and we have a google group: alibaba-flutter-contributors

@kangwang1988
Copy link
Contributor Author

I signed it!

@Hixie
Copy link
Contributor

Hixie commented Oct 2, 2018

cc @xster for review

@xster
Copy link
Member

xster commented Oct 3, 2018

Ah, I remember having this conversation in person.

Can you describe the repro steps a bit more? I tried running https://github.com/FlutterRepo/tap_demo and understand that I should run into issues when 2-finger-tapping images in the list or 2-finger-scrolling the list view. But the demo app is behaving as expected (expect for flutter/flutter#11884 which is indeed a bit ridiculous :D).

Are there more steps to run into the problem you're describing? Or is it perhaps device specific?

@xster
Copy link
Member

xster commented Oct 3, 2018

The current PR seems a bit complex with the touch registering map and timestamp tracking etc.

I vaguely remember you were saying that the root problem is that we get calls in iOS where some UITouches began and never ended. Seems like there could be a simpler, less compute/memory intensive solution to it.

Also, just looking at the current source code, something suspicious jumps to me at the moment. In FlutterViewController, we seem to treat all UITouches in a UITouches NSSet with the same UITouchPhase whereas it's possible in touchesBegan to receive a set of UITouches with different phases between them (with some beginning and some ending).

@chinmaygarde looking at the history, it seems like we always treated all touches with the same phase. Do you agree it could be an issue?

@xster
Copy link
Member

xster commented Oct 3, 2018

@kangwang1988 Chinmay and I tried to reproduce the issue you were describing but couldn't.

Here's a sample project Chinmay created to check the incoming and outgoing touches.
Toucher.zip

Can you describe a bit more the reproduction steps? Also, could there be other native UIGestureRecognizers above the FlutterView (which may need https://developer.apple.com/documentation/uikit/uigesturerecognizer/1624218-cancelstouchesinview?language=objc).

@xster
Copy link
Member

xster commented Oct 4, 2018

Heuristic fix: #6430

@kangwang1988
Copy link
Contributor Author

@xster
I've cherry-picked the patch #6430 . However, this problem remains.

@googlebot
Copy link

CLAs look good, thanks!

1 similar comment
@googlebot
Copy link

CLAs look good, thanks!

@xster
Copy link
Member

xster commented Oct 16, 2018

@kangwang1988 can you describe a bit more how we can reproduce the touch down/up mismatch issue? Was it on a particular iOS device/version/simulator?

We weren't able to reproduce the issue.

@kangwang1988
Copy link
Contributor Author

@xster
Checkout the demo project available at:https://github.com/FlutterRepo/gesture_demo
I've recorded a video showing the reproducing procedure available at: https://www.youtube.com/watch?v=WAVVVfcFzdk&feature=youtu.be

I'm using flutter v0.8.2 now.

@cbracken
Copy link
Member

@xster (cc: @dnfield) can you follow up on @kangwang1988's latest comments? Once that's done, let's get it rebased.

@xster
Copy link
Member

xster commented Mar 27, 2019

Thanks for the new demo. I can repro the issue with your demo on iOS now.

@xster
Copy link
Member

xster commented Apr 1, 2019

I'm definitely getting some weird behaviors out of the touch events too from your demo

new pointer event 4862276784 in state 4
4862276784
new pointer event 4862471456 in state 4
4862276784 4862471456
new pointer event 4862322944 in state 4
4862276784 4862471456 4862322944
new pointer event 4862471456 in state 6
4862276784 4862322944
new pointer event 4863413120 in state 4
4862276784 4862322944 4863413120
new pointer event 4863309888 in state 4
4862276784 4862322944 4863413120 4863309888
new pointer event 4863309888 in state 6
4862276784 4862322944 4863413120
new pointer event 4863413120 in state 6
4862276784 4862322944
new pointer event 4862546160 in state 4
4862276784 4862322944 4862546160
new pointer event 4862546160 in state 6
4862276784 4862322944

where from a clean state, one single set of touches would create some touches that began and never ended or canceled.

Though I'm not sure a timer is the right way to clean this up.

@xster
Copy link
Member

xster commented Apr 1, 2019

@kangwang1988 to double check, did this issue ever happen with just a single FlutterViewController and no other native code involved?

There may be a few issues mixed together but at least one sub issue I can see is when we push other view controllers on top of the FlutterViewController, we're not flushing a cancel on all current ongoing pointers:

<==== begin
{
}
{
    4436883696 = 0;      <====== the number is just the number of moves on this pointer.
}
{
    4436883696 = 0;
    4436552880 = 0;
}
{
    4436883696 = 0;
    4436552880 = 1; 
}
{
    4436883696 = 0;
    4436723040 = 0;
    4436552880 = 1;
}
{
    4436883696 = 1;
    4436723040 = 0;
    4436552880 = 1;
}
{
    4436883696 = 1;
    4436723040 = 0;
    4436552880 = 2;
}
{
    4436883696 = 1;
    4436723040 = 1;
    4436552880 = 2;
}
{
    4436883696 = 2;
    4436723040 = 1;
    4436552880 = 2;
}
{
    4436883696 = 2;
    4436723040 = 2;
    4436552880 = 2;
}
{
    4436883696 = 3;
    4436723040 = 2;
    4436552880 = 2;
}
{
    4436883696 = 3;
    4436723040 = 2;
    4436552880 = 3;
}
{
    4436883696 = 3;
    4436723040 = 3;
    4436552880 = 3;
}
{
    4436883696 = 3;
    4436723040 = 3;
    4436552880 = 4;
}
{
    4436883696 = 3;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4436723040 = 3;
    4436552880 = 5;
}
<==== trigger a vc push
Pushing new image viewcontroller
Popping image viewcontroller
<==== orphaned pointers
{
    4435725232 = 0;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4435725232 = 1;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4435725232 = 2;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4435725232 = 3;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4435725232 = 4;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4435725232 = 5;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4435725232 = 6;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4435725232 = 7;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4435725232 = 8;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4435725232 = 9;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4435725232 = 10;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4435725232 = 11;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4435725232 = 12;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4435725232 = 13;
    4436723040 = 3;
    4436552880 = 5;
}
{
    4436723040 = 3;
    4436552880 = 5;
}

Filed flutter/flutter#30342 for that issue (which we should just fix by flushing on viewWillDisappear or something). Not sure yet if there are more issues.

@xster
Copy link
Member

xster commented Apr 4, 2019

As far as I can tell from testing, I can't reproduce any of the issues described here anymore after #8400. I'm going to close this issue now. Please re-open if there are still uncovered cases.

@xster xster closed this Apr 4, 2019
@christyuj christyuj mentioned this pull request Jul 8, 2019
fzyzcjy added a commit to fzyzcjy/engine that referenced this pull request Oct 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants